Annotation of Gnu-Mach/ChangeLog, revision 1.1.1.10

1.1.1.10! root        1: 2016-12-18  Thomas Schwinge  <[email protected]>
        !             2: 
        !             3:        GNU Mach 1.8
        !             4:        * version.m4 (AC_PACKAGE_VERSION): Set to 1.8.
        !             5:        * NEWS: Finalize for 1.8.
        !             6: 
        !             7: 2016-12-11  Richard Braun  <[email protected]>
        !             8: 
        !             9:        VM: make vm_wire more POSIX-friendly
        !            10:        * doc/mach.texi: Update return codes.
        !            11:        * vm/vm_map.c (vm_map_pageable_common): Return KERN_NO_SPACE instead
        !            12:        of KERN_FAILURE if some of the specified address range does not
        !            13:        correspond to mapped pages. Skip unwired entries instead of failing
        !            14:        when unwiring.
        !            15: 
        !            16: 2016-12-09  Justus Winter  <[email protected]>
        !            17: 
        !            18:        Update the NEWS file
        !            19: 
        !            20: 2016-12-09  Richard Braun  <[email protected]>
        !            21: 
        !            22:        rbtree: minor change
        !            23:        * kern/rbtree.h (rbtree_for_each_remove): Remove trailing slash.
        !            24: 
        !            25: 2032-05-12  Richard Braun  <[email protected]>
        !            26: 
        !            27:        VM: fix pageout throttling to external pagers
        !            28:        Since the VM system has been tracking whether pages belong to internal
        !            29:        or external objects, pageout throttling to external pagers has simply
        !            30:        not been working. The reason is that, on pageout, requests for external
        !            31:        pages are correctly tracked, but on page release (which is used to
        !            32:        acknowledge the request), external pages are not marked external
        !            33:        any more. This is because the external bit tracks whether a page
        !            34:        belongs to an external object, and all pages, including external
        !            35:        ones, are moved to an internal object during pageout.
        !            36: 
        !            37:        To solve this issue, a new "external_laundry" bit is added. It has
        !            38:        the same purpose as the laundry bit, but for external pagers.
        !            39: 
        !            40:        * vm/vm_page.c (vm_page_seg_min_page_available): Function unused, remove.
        !            41:        (vm_page_seg_evict): Use vm_page_external_laundry_count instead of
        !            42:        vm_page_external_pagedout. Add an assertion about double paging.
        !            43:        (vm_page_check_usable): Use vm_page_external_laundry_count instead of
        !            44:        vm_page_external_pagedout.
        !            45:        (vm_page_evict): Likewise.
        !            46:        * vm/vm_page.h (struct vm_page): New `external_laundry' member.
        !            47:        (vm_page_external_pagedout): Rename to ...
        !            48:        (vm_page_external_laundry_count): ... this.
        !            49:        * vm/vm_pageout.c: Include kern/printf.h.
        !            50:        (DEBUG): New macro.
        !            51:        (VM_PAGEOUT_TIMEOUT): Likewise.
        !            52:        (vm_pageout_setup): Use vm_page_external_laundry_count instead of
        !            53:        vm_page_external_pagedout. Set `external_laundry' where appropriate.
        !            54:        (vm_pageout): Use VM_PAGEOUT_TIMEOUT with thread_set_timeout.
        !            55:        Add debugging code, commented out by default.
        !            56:        * vm/vm_resident.c (vm_page_external_pagedout): Rename to ...
        !            57:        (vm_page_external_laundry_count): ... this.
        !            58:        (vm_page_init_template): Set `external_laundry' member to FALSE.
        !            59:        (vm_page_release): Rename external parameter to external_laundry.
        !            60:        Slightly change pageout resuming.
        !            61:        (vm_page_free): Rename external variable to external_laundry.
        !            62: 
        !            63: 2016-11-30  Richard Braun  <[email protected]>
        !            64: 
        !            65:        VM: fix pageout on low memory
        !            66:        Instead of determining if memory is low, directly use the
        !            67:        vm_page_alloc_paused variable, which is true when memory has reached
        !            68:        a minimum threshold until it gets back above the high thresholds.
        !            69: 
        !            70:        This makes sure double paging is used when external pagers are unable
        !            71:        to allocate memory.
        !            72: 
        !            73:        * vm/vm_page.c (vm_page_seg_evict): Rename low_memory to alloc_paused.
        !            74:        (vm_page_evict_once): Remove low_memory and its computation. Blindly
        !            75:        pass the new alloc_paused argument instead.
        !            76:        (vm_page_evict): Pass the value of vm_page_alloc_paused to
        !            77:        vm_page_evict_once.
        !            78: 
        !            79: 2016-11-30  Richard Braun  <[email protected]>
        !            80: 
        !            81:        VM: fix eviction logic error
        !            82:        * vm/vm_page.c (vm_page_evict): Test both vm_page_external_pagedout
        !            83:        and vm_page_laundry_count in order to determine there was "no pageout".
        !            84: 
        !            85: 2016-11-30  Richard Braun  <[email protected]>
        !            86: 
        !            87:        VM: fix pageout stop condition
        !            88:        When checking whether to continue paging out or not, the pageout daemon
        !            89:        only considers the high free page threshold of a segment. But if e.g.
        !            90:        the default pager had to allocate reserved pages during a previous
        !            91:        pageout cycle, it could have exhausted a segment (this is currently
        !            92:        only seen with the DMA segment). In that case, the high threshold
        !            93:        cannot be reached because the segment has currently no pageable page.
        !            94: 
        !            95:        This change makes the pageout daemon identify this condition and
        !            96:        consider the segment as usable in order to make progress. The segment
        !            97:        will simply be ignored on the allocation path for unprivileged threads,
        !            98:        and if this happens with too many segments, the system will fail at
        !            99:        allocation time.
        !           100: 
        !           101:        * vm/vm_page.c (vm_page_seg_usable): Report usable if the segment has
        !           102:        no pageable page.
        !           103: 
        !           104: 2016-11-10  Brent Baccala  <[email protected]>
        !           105: 
        !           106:        gsync: Avoid NULL pointer dereference
        !           107:        * kern/gsync.c (gsync_wait, gsync_wake, gsync_requeue):
        !           108:        Return immediately if task argument is TASK_NULL
        !           109: 
        !           110: 2016-11-06  Justus Winter  <[email protected]>
        !           111: 
        !           112:        Revert "i386: use ACPI to power off the machine"
        !           113:        This reverts commit c031b41b783cc99c0bd5aac7d14c1d6e34520397.
        !           114: 
        !           115:        Adding the ACPI parser from GRUB was a mistake as its license
        !           116:        conflicts with the one used by the legacy Linux drivers.  Furthermore,
        !           117:        adding support for ACPI to the kernel violates the minimality
        !           118:        principle.
        !           119: 
        !           120: 2016-11-04  Justus Winter  <[email protected]>
        !           121: 
        !           122:        vm: Print names of maps in the debugger.
        !           123:        * vm/vm_map.c (vm_map_print): Print name of the map.
        !           124: 
        !           125: 2016-11-01  Justus Winter  <[email protected]>
        !           126: 
        !           127:        include: Fix new task notifications.
        !           128:        Instead of copying the send right, move it.  This fixes a send-right
        !           129:        leak.
        !           130: 
        !           131:        * include/mach/task_notify.defs (task_move_t): New type.
        !           132:        (mach_notify_new_task): Use the new type.
        !           133: 
        !           134: 2016-11-01  Justus Winter  <[email protected]>
        !           135: 
        !           136:        i386: Use discontiguous page directories when using PAE.
        !           137:        Previously, we used contiguous page directories four pages in length
        !           138:        when using PAE.  To prevent physical memory fragmentation, we need to
        !           139:        use virtual memory for objects spanning multiple pages.  Virtual
        !           140:        kernel memory, however, is a scarce commodity.
        !           141: 
        !           142:        * i386/intel/pmap.h (lin2pdenum): Never include the page directory pointer table index.
        !           143:        (lin2pdenum_cont): New macro which does include said index.
        !           144:        (struct pmap): Remove the directory base pointer when using PAE.
        !           145:        * i386/intel/pmap.c (pmap_pde): Fix lookup.
        !           146:        (pmap_pte): Fix check for uninitialized pmap.
        !           147:        (pmap_bootstrap): Do not store the page directory base if PAE.
        !           148:        (pmap_init): Reduce size of page directories to one page, use
        !           149:        direct-mapped memory.
        !           150:        (pmap_create): Allocate four page directories per pmap.
        !           151:        (pmap_destroy): Adapt to the discontinuous directories.
        !           152:        (pmap_collect): Likewise.
        !           153:        * i386/i386/xen.h (hyp_mmu_update_la): Adapt code manipulating the
        !           154:        kernels page directory.
        !           155:        * i386/i386at/model_dep.c (i386at_init): Likewise.
        !           156: 
        !           157: 2016-10-31  Samuel Thibault  <[email protected]>
        !           158: 
        !           159:        gsync: fix licence
        !           160:        Agustina relicenced her work.
        !           161: 
        !           162:        * kern/gsync.c: Relicence to GPL 2+.
        !           163:        * kern/gsync.h: Relicence to GPL 2+.
        !           164: 
        !           165: 2016-10-31  Samuel Thibault  <[email protected]>
        !           166: 
        !           167:        gsync: Fix crash when task is not current task
        !           168:        * kern/gsync.c (gsync_wait, gsync_wake, gsync_requeue): Return
        !           169:        KERN_FAILURE when task != current_task().
        !           170: 
        !           171: 2016-10-31  Samuel Thibault  <[email protected]>
        !           172: 
        !           173:        gsync: Fix assertion failure with MACH_LDEBUG
        !           174:        vm_map_lock_read calls check_simple_locks(), so we need to lock hbp
        !           175:        after taking the vm_map read lock.
        !           176: 
        !           177:        * kern/gsync.c (gsync_wait): Call vm_map_lock_read before locking
        !           178:        &hbp->lock.
        !           179:        (gsync_wake): Likewise.
        !           180: 
        !           181: 2016-10-31  Samuel Thibault  <[email protected]>
        !           182: 
        !           183:        Make multiboot cmdline and modules non-permanent reservations
        !           184:        * i386/i386at/model_dep.c (register_boot_data): For multiboot cmdline,
        !           185:        module structure, module data and module strings, set
        !           186:        biosmem_register_boot_data temporary parameter to TRUE.
        !           187: 
        !           188: 2016-10-24  Samuel Thibault  <[email protected]>
        !           189: 
        !           190:        Fix taking LDFLAGS into account
        !           191:        * Makefile.am (clib-routines.o): Add $(LDFLAGS) to link command.
        !           192: 
        !           193:        Fix taking LDFLAGS into account
        !           194:        * Makefile.am (gnumach_o_LINK, gnumach_LINK): Add $(LDFLAGS).
        !           195: 
        !           196:        Fix warnings
        !           197:        * i386/i386/seg.h (fill_descriptor): Fix format for vm_offset_t.
        !           198:        * i386/i386/xen.h (hyp_free_mfn, hyp_free_page): Fix format for unsigned
        !           199:        long.
        !           200: 
        !           201: 2016-10-22  Justus Winter  <[email protected]>
        !           202: 
        !           203:        i386: Allocate page directories using the slab allocator.
        !           204:        * i386/intel/pmap.c (pd_cache): New variable.
        !           205:        (pdp_cache): Likewise.
        !           206:        (pmap_init): Initialize new caches.
        !           207:        (pmap_create): Use the caches.
        !           208:        (pmap_destroy): Free to the caches.
        !           209: 
        !           210: 2016-10-21  Justus Winter  <[email protected]>
        !           211: 
        !           212:        Gracefully handle pmap allocation failures.
        !           213:        * kern/task.c (task_create): Gracefully handle pmap allocation
        !           214:        failures.
        !           215:        * vm/vm_map.c (vm_map_fork): Likewise.
        !           216: 
        !           217:        vm: Print map names in case of failures.
        !           218:        * vm/vm_kern.c (kmem_alloc): Print map names in case of failures.
        !           219:        (kmem_alloc_wired): Likewise.
        !           220:        (kmem_alloc_aligned): Likewise.
        !           221:        (kmem_alloc_pageable): Likewise.
        !           222: 
        !           223: 2016-10-13  Justus Winter  <[email protected]>
        !           224: 
        !           225:        Make task notification ports mutable.
        !           226:        * include/mach/task_notify.defs (task_notify_port_t): New type.
        !           227:        (mach_notify_new_task): Use the specialized type.
        !           228: 
        !           229: 2016-10-12  Justus Winter  <[email protected]>
        !           230: 
        !           231:        linux: Remove incompatible local prototype.
        !           232:        * linux/dev/glue/kmem.c (vremap): Remove prototype, include the right
        !           233:        header instead.
        !           234: 
        !           235: 2016-10-03  Justus Winter  <[email protected]>
        !           236: 
        !           237:        Remove deprecated external memory management interface.
        !           238:        * NEWS: Update.
        !           239:        * device/dev_pager.c (device_pager_data_request): Prune unused branch.
        !           240:        (device_pager_data_request_done): Remove function.
        !           241:        (device_pager_data_write): Likewise.
        !           242:        (device_pager_data_write_done): Likewise.
        !           243:        (device_pager_copy): Use 'memory_object_ready'.
        !           244:        * device/dev_pager.h (device_pager_data_write_done): Remove prototype.
        !           245:        * device/device_pager.srv (memory_object_data_write): Remove macro.
        !           246:        * doc/mach.texi: Update documentation.
        !           247:        * include/mach/mach.defs (memory_object_data_provided): Drop RPC.
        !           248:        (memory_object_set_attributes): Likewise.
        !           249:        * include/mach/memory_object.defs: Update comments.
        !           250:        (memory_object_data_write): Drop RPC.
        !           251:        * include/mach/memory_object_default.defs: Update comments.
        !           252:        * include/mach_debug/vm_info.h (VOI_STATE_USE_OLD_PAGEOUT): Drop
        !           253:        macro.
        !           254:        * vm/memory_object.c (memory_object_data_provided): Remove function.
        !           255:        (memory_object_data_error): Simplify.
        !           256:        (memory_object_set_attributes_common): Make static, remove unused
        !           257:        parameters, simplify.
        !           258:        (memory_object_change_attributes): Update callsite.
        !           259:        (memory_object_set_attributes): Remove function.
        !           260:        (memory_object_ready): Update callsite.
        !           261:        * vm/vm_debug.c (mach_vm_object_info): Adapt to the changes.
        !           262:        * vm/vm_object.c (vm_object_bootstrap): Likewise.
        !           263:        * vm/vm_object.h (struct vm_object): Drop flag 'use_old_pageout'.
        !           264:        * vm/vm_pageout.c: Update comments.
        !           265:        (vm_pageout_page): Simplify.
        !           266: 
        !           267: 2016-10-02  David Michael  <[email protected]>
        !           268: 
        !           269:        Fix format security
        !           270:        * i386/i386at/biosmem.c (boot_panic): Use %s format instead of passing
        !           271:        the string directly to `panic'.
        !           272:        (biosmem_unregister_boot_data): Use %s format instead of passing
        !           273:        `biosmem_panic_inval_boot_data' directly to `panic'.
        !           274: 
        !           275: 2016-10-01  Justus Winter  <[email protected]>
        !           276: 
        !           277:        kern: Improve panic messages from the scheduler.
        !           278:        * kern/sched_prim.c (state_panic): Turn into macro, print symbolic
        !           279:        values of thread state.
        !           280: 
        !           281:        kern: Improve assertions and panics.
        !           282:        * kern/assert.h (Assert): Add function argument.
        !           283:        (assert): Supply function argument.
        !           284:        * kern/debug.c (Assert): Add function argument.  Unify message format.
        !           285:        (panic): Rename to 'Panic', add location information.
        !           286:        * kern/debug.h (panic): Rename, and add a macro version that supplies
        !           287:        the location.
        !           288:        * linux/dev/include/linux/kernel.h: Use the new panic macro.
        !           289: 
        !           290: 2016-09-22  Samuel Thibault  <[email protected]>
        !           291: 
        !           292:        biosmem: show memory map at boot
        !           293:        * i386/i386at/biosmem.c (biosmem_type_desc, biosmem_map_show): Define
        !           294:        even if DEBUG is 0.  But show biosmem heap addresses only if DEBUG is 1.
        !           295: 
        !           296: 2016-09-21  Richard Braun  <[email protected]>
        !           297: 
        !           298:        Enable high memory
        !           299:        * i386/i386at/biosmem.c (biosmem_setup): Load the HIGHMEM segment if
        !           300:        present.
        !           301:        (biosmem_free_usable): Report high memory as usable.
        !           302:        * vm/vm_page.c (vm_page_boot_table_size, vm_page_table_size,
        !           303:        vm_page_mem_size, vm_page_mem_free): Scan all segments.
        !           304:        * vm/vm_resident.c (vm_page_grab): Describe allocation strategy
        !           305:        with regard to the HIGHMEM segment.
        !           306: 
        !           307: 2016-09-21  Richard Braun  <[email protected]>
        !           308: 
        !           309:        Update device drivers for highmem support
        !           310:        Unconditionally use bounce buffers for now.
        !           311: 
        !           312:        * linux/dev/glue/net.c (device_write): Unconditionally use a
        !           313:        bounce buffer.
        !           314:        * xen/block.c (device_write): Likewise.
        !           315:        * xen/net.c: Include <device/ds_routines.h>.
        !           316:        (device_write): Unconditionally use a bounce buffer.
        !           317: 
        !           318: 2016-09-21  Richard Braun  <[email protected]>
        !           319: 
        !           320:        Update Linux block layer glue code
        !           321:        The Linux block layer glue code needs to use page nodes with the
        !           322:        appropriate interface since their redefinition as struct list.
        !           323: 
        !           324:        * linux/dev/glue/block.c: Include <kern/list.h>.
        !           325:        (struct temp_data): Define member `pages' as a struct list.
        !           326:        (alloc_buffer): Update to use list_xxx functions.
        !           327:        (free_buffer, INIT_DATA, device_open, device_read): Likewise.
        !           328: 
        !           329: 2016-09-21  Richard Braun  <[email protected]>
        !           330: 
        !           331:        Rework pageout to handle multiple segments
        !           332:        As we're about to use a new HIGHMEM segment, potentially much larger
        !           333:        than the existing DMA and DIRECTMAP ones, it's now compulsory to make
        !           334:        the pageout daemon aware of those segments.
        !           335: 
        !           336:        And while we're at it, let's fix some of the defects that have been
        !           337:        plaguing pageout forever, such as throttling, and pageout of internal
        !           338:        versus external pages (this commit notably introduces a hardcoded
        !           339:        policy in which as many external pages are selected before considering
        !           340:        internal pages).
        !           341: 
        !           342:        * kern/slab.c (kmem_pagefree_physmem): Update call to vm_page_release.
        !           343:        * vm/vm_page.c: Include <kern/counters.h> and <vm/vm_pageout.h>.
        !           344:        (VM_PAGE_SEG_THRESHOLD_MIN_NUM, VM_PAGE_SEG_THRESHOLD_MIN_DENOM,
        !           345:        VM_PAGE_SEG_THRESHOLD_MIN, VM_PAGE_SEG_THRESHOLD_LOW_NUM,
        !           346:        VM_PAGE_SEG_THRESHOLD_LOW_DENOM, VM_PAGE_SEG_THRESHOLD_LOW,
        !           347:        VM_PAGE_SEG_THRESHOLD_HIGH_NUM, VM_PAGE_SEG_THRESHOLD_HIGH_DENOM,
        !           348:        VM_PAGE_SEG_THRESHOLD_HIGH, VM_PAGE_SEG_MIN_PAGES,
        !           349:        VM_PAGE_HIGH_ACTIVE_PAGE_NUM, VM_PAGE_HIGH_ACTIVE_PAGE_DENOM): New macros.
        !           350:        (struct vm_page_queue): New type.
        !           351:        (struct vm_page_seg): Add new members `min_free_pages', `low_free_pages',
        !           352:        `high_free_pages', `active_pages', `nr_active_pages', `high_active_pages',
        !           353:        `inactive_pages', `nr_inactive_pages'.
        !           354:        (vm_page_alloc_paused): New variable.
        !           355:        (vm_page_pageable, vm_page_can_move, vm_page_remove_mappings): New functions.
        !           356:        (vm_page_seg_alloc_from_buddy): Pause allocations and start the pageout
        !           357:        daemon as appropriate.
        !           358:        (vm_page_queue_init, vm_page_queue_push, vm_page_queue_remove,
        !           359:        vm_page_queue_first, vm_page_seg_get, vm_page_seg_index,
        !           360:        vm_page_seg_compute_pageout_thresholds): New functions.
        !           361:        (vm_page_seg_init): Initialize the new segment members.
        !           362:        (vm_page_seg_add_active_page, vm_page_seg_remove_active_page,
        !           363:        vm_page_seg_add_inactive_page, vm_page_seg_remove_inactive_page,
        !           364:        vm_page_seg_pull_active_page, vm_page_seg_pull_inactive_page,
        !           365:        vm_page_seg_pull_cache_page): New functions.
        !           366:        (vm_page_seg_min_page_available, vm_page_seg_page_available,
        !           367:        vm_page_seg_usable, vm_page_seg_double_lock, vm_page_seg_double_unlock,
        !           368:        vm_page_seg_balance_page, vm_page_seg_balance, vm_page_seg_evict,
        !           369:        vm_page_seg_compute_high_active_page, vm_page_seg_refill_inactive,
        !           370:        vm_page_lookup_seg, vm_page_check): New functions.
        !           371:        (vm_page_alloc_pa): Handle allocation failure from VM privileged thread.
        !           372:        (vm_page_info_all): Display additional segment properties.
        !           373:        (vm_page_wire, vm_page_unwire, vm_page_deactivate, vm_page_activate,
        !           374:        vm_page_wait): Move from vm/vm_resident.c and rewrite to use segments.
        !           375:        (vm_page_queues_remove, vm_page_check_usable, vm_page_may_balance,
        !           376:        vm_page_balance_once, vm_page_balance, vm_page_evict_once): New functions.
        !           377:        (VM_PAGE_MAX_LAUNDRY, VM_PAGE_MAX_EVICTIONS): New macros.
        !           378:        (vm_page_evict, vm_page_refill_inactive): New functions.
        !           379:        * vm/vm_page.h: Include <kern/list.h>.
        !           380:        (struct vm_page): Remove member `pageq', reuse the `node' member instead,
        !           381:        move the `listq' and `next' members above `vm_page_header'.
        !           382:        (VM_PAGE_CHECK): Define as an alias to vm_page_check.
        !           383:        (vm_page_check): New function declaration.
        !           384:        (vm_page_queue_fictitious, vm_page_queue_active, vm_page_queue_inactive,
        !           385:        vm_page_free_target, vm_page_free_min, vm_page_inactive_target,
        !           386:        vm_page_free_reserved, vm_page_free_wanted): Remove extern declarations.
        !           387:        (vm_page_external_pagedout): New extern declaration.
        !           388:        (vm_page_release): Update declaration.
        !           389:        (VM_PAGE_QUEUES_REMOVE): Define as an alias to vm_page_queues_remove.
        !           390:        (VM_PT_PMAP, VM_PT_KMEM, VM_PT_STACK): Remove macros.
        !           391:        (VM_PT_KERNEL): Update value.
        !           392:        (vm_page_queues_remove, vm_page_balance, vm_page_evict,
        !           393:        vm_page_refill_inactive): New function declarations.
        !           394:        * vm/vm_pageout.c (VM_PAGEOUT_BURST_MAX, VM_PAGEOUT_BURST_MIN,
        !           395:        VM_PAGEOUT_BURST_WAIT, VM_PAGEOUT_EMPTY_WAIT, VM_PAGEOUT_PAUSE_MAX,
        !           396:        VM_PAGE_INACTIVE_TARGET, VM_PAGE_FREE_TARGET, VM_PAGE_FREE_MIN,
        !           397:        VM_PAGE_FREE_RESERVED, VM_PAGEOUT_RESERVED_INTERNAL,
        !           398:        VM_PAGEOUT_RESERVED_REALLY): Remove macros.
        !           399:        (vm_pageout_reserved_internal, vm_pageout_reserved_really,
        !           400:        vm_pageout_burst_max, vm_pageout_burst_min, vm_pageout_burst_wait,
        !           401:        vm_pageout_empty_wait, vm_pageout_pause_count, vm_pageout_pause_max,
        !           402:        vm_pageout_active, vm_pageout_inactive, vm_pageout_inactive_nolock,
        !           403:        vm_pageout_inactive_busy, vm_pageout_inactive_absent,
        !           404:        vm_pageout_inactive_used, vm_pageout_inactive_clean,
        !           405:        vm_pageout_inactive_dirty, vm_pageout_inactive_double,
        !           406:        vm_pageout_inactive_cleaned_external): Remove variables.
        !           407:        (vm_pageout_requested, vm_pageout_continue): New variables.
        !           408:        (vm_pageout_setup): Wait for page allocation to succeed instead of
        !           409:        falling back to flush, update double paging protocol with caller,
        !           410:        add pageout throttling setup.
        !           411:        (vm_pageout_scan): Rewrite to use the new vm_page balancing,
        !           412:        eviction and inactive queue refill functions.
        !           413:        (vm_pageout_scan_continue, vm_pageout_continue): Remove functions.
        !           414:        (vm_pageout): Rewrite.
        !           415:        (vm_pageout_start, vm_pageout_resume): New functions.
        !           416:        * vm/vm_pageout.h (vm_pageout_continue, vm_pageout_scan_continue): Remove
        !           417:        function declarations.
        !           418:        (vm_pageout_start, vm_pageout_resume): New function declarations.
        !           419:        * vm/vm_resident.c: Include <kern/list.h>.
        !           420:        (vm_page_queue_fictitious): Define as a struct list.
        !           421:        (vm_page_free_wanted, vm_page_external_count, vm_page_free_avail,
        !           422:        vm_page_queue_active, vm_page_queue_inactive, vm_page_free_target,
        !           423:        vm_page_free_min, vm_page_inactive_target, vm_page_free_reserved):
        !           424:        Remove variables.
        !           425:        (vm_page_external_pagedout): New variable.
        !           426:        (vm_page_bootstrap): Don't initialize removed variable, update
        !           427:        initialization of vm_page_queue_fictitious.
        !           428:        (vm_page_replace): Call VM_PAGE_QUEUES_REMOVE where appropriate.
        !           429:        (vm_page_remove): Likewise.
        !           430:        (vm_page_grab_fictitious): Update to use list_xxx functions.
        !           431:        (vm_page_release_fictitious): Likewise.
        !           432:        (vm_page_grab): Remove pageout related code.
        !           433:        (vm_page_release): Add `laundry' and `external' parameters for
        !           434:        pageout throttling.
        !           435:        (vm_page_grab_contig): Remove pageout related code.
        !           436:        (vm_page_free_contig): Likewise.
        !           437:        (vm_page_free): Remove pageout related code, update call to
        !           438:        vm_page_release.
        !           439:        (vm_page_wait, vm_page_wire, vm_page_unwire, vm_page_deactivate,
        !           440:        vm_page_activate): Move to vm/vm_page.c.
        !           441: 
        !           442: 2016-09-21  Richard Braun  <[email protected]>
        !           443: 
        !           444:        Redefine what an external page is
        !           445:        Instead of a "page considered external", which apparently takes into
        !           446:        account whether a page is dirty or not, redefine this property to
        !           447:        reliably mean "is in an external object".
        !           448: 
        !           449:        This commit mostly deals with the impact of this change on the page
        !           450:        allocation interface.
        !           451: 
        !           452:        * i386/intel/pmap.c (pmap_page_table_page_alloc): Update call to
        !           453:        vm_page_grab.
        !           454:        * kern/slab.c (kmem_pagealloc_physmem): Use vm_page_grab instead of
        !           455:        vm_page_grab_contig.
        !           456:        (kmem_pagefree_physmem): Use vm_page_release instead of
        !           457:        vm_page_free_contig.
        !           458:        * linux/dev/glue/block.c (alloc_buffer, device_read): Update call
        !           459:        to vm_page_grab.
        !           460:        * vm/vm_fault.c (vm_fault_page): Update calls to vm_page_grab and
        !           461:        vm_page_convert.
        !           462:        * vm/vm_map.c (vm_map_copy_steal_pages): Update call to vm_page_grab.
        !           463:        * vm/vm_page.h (struct vm_page): Remove `extcounted' member.
        !           464:        (vm_page_external_limit, vm_page_external_count): Remove extern
        !           465:        declarations.
        !           466:        (vm_page_convert, vm_page_grab): Update declarations.
        !           467:        (vm_page_release, vm_page_grab_phys_addr): New function declarations.
        !           468:        * vm/vm_pageout.c (VM_PAGE_EXTERNAL_LIMIT): Remove macro.
        !           469:        (VM_PAGE_EXTERNAL_TARGET): Likewise.
        !           470:        (vm_page_external_target): Remove variable.
        !           471:        (vm_pageout_scan): Remove specific handling of external pages.
        !           472:        (vm_pageout): Don't set vm_page_external_limit and
        !           473:        vm_page_external_target.
        !           474:        * vm/vm_resident.c (vm_page_external_limit): Remove variable.
        !           475:        (vm_page_insert, vm_page_replace, vm_page_remove): Update external
        !           476:        page tracking.
        !           477:        (vm_page_convert): Remove `external' parameter.
        !           478:        (vm_page_grab): Likewise. Remove specific handling of external pages.
        !           479:        (vm_page_grab_phys_addr): Update call to vm_page_grab.
        !           480:        (vm_page_release): Remove `external' parameter and remove specific
        !           481:        handling of external pages.
        !           482:        (vm_page_wait): Remove specific handling of external pages.
        !           483:        (vm_page_alloc): Update call to vm_page_grab.
        !           484:        (vm_page_free): Update call to vm_page_release.
        !           485:        * xen/block.c (device_read): Update call to vm_page_grab.
        !           486:        * xen/net.c (device_write): Likewise.
        !           487: 
        !           488: 2016-09-21  Richard Braun  <[email protected]>
        !           489: 
        !           490:        Replace vm_offset_t with phys_addr_t where appropriate
        !           491:        * i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys,
        !           492:        copy_from_phys, kvtophys): Use the phys_addr_t type for physical
        !           493:        addresses.
        !           494:        * i386/intel/pmap.c (pmap_map, pmap_map_bd, pmap_destroy,
        !           495:        pmap_remove_range, pmap_page_protect, pmap_enter, pmap_extract,
        !           496:        pmap_collect, phys_attribute_clear, phys_attribute_test,
        !           497:        pmap_clear_modify, pmap_is_modified, pmap_clear_reference,
        !           498:        pmap_is_referenced): Likewise.
        !           499:        * i386/intel/pmap.h (pt_entry_t): Unconditionally define as a
        !           500:        phys_addr_t.
        !           501:        (pmap_zero_page, pmap_copy_page, kvtophys): Use the phys_addr_t
        !           502:        type for physical addresses.
        !           503:        * vm/pmap.h (pmap_enter, pmap_page_protect, pmap_clear_reference,
        !           504:        pmap_is_referenced, pmap_clear_modify, pmap_is_modified,
        !           505:        pmap_extract, pmap_map_bd): Likewise.
        !           506:        * vm/vm_page.h (vm_page_fictitious_addr): Declare as a phys_addr_t.
        !           507:        * vm/vm_resident.c (vm_page_fictitious_addr): Likewise.
        !           508:        (vm_page_grab_phys_addr): Change return type to phys_addr_t.
        !           509: 
        !           510: 2016-09-21  Richard Braun  <[email protected]>
        !           511: 
        !           512:        Remove phys_first_addr and phys_last_addr global variables
        !           513:        The old assumption that all physical memory is directly mapped in
        !           514:        kernel space is about to go away. Those variables are directly linked
        !           515:        to that assumption.
        !           516: 
        !           517:        * i386/i386/model_dep.h (phys_first_addr): Remove extern declaration.
        !           518:        (phys_last_addr): Likewise.
        !           519:        * i386/i386/phys.c (pmap_zero_page): Use VM_PAGE_DIRECTMAP_LIMIT
        !           520:        instead of phys_last_addr.
        !           521:        (pmap_copy_page, copy_to_phys, copy_from_phys): Likewise.
        !           522:        * i386/i386/trap.c (user_trap): Remove check against phys_last_addr.
        !           523:        * i386/i386at/biosmem.c (biosmem_bootstrap_common): Don't set
        !           524:        phys_last_addr.
        !           525:        * i386/i386at/mem.c (memmmap): Use vm_page_lookup_pa to determine if
        !           526:        a physical address references physical memory.
        !           527:        * i386/i386at/model_dep.c (phys_first_addr): Remove variable.
        !           528:        (phys_last_addr): Likewise.
        !           529:        (pmap_free_pages, pmap_valid_page): Remove functions.
        !           530:        * i386/intel/pmap.c: Include i386at/biosmem.h.
        !           531:        (pa_index): Turn into an alias for vm_page_table_index.
        !           532:        (pmap_bootstrap): Replace uses of phys_first_addr and phys_last_addr
        !           533:        as appropriate.
        !           534:        (pmap_virtual_space): Use vm_page_table_size instead of phys_first_addr
        !           535:        and phys_last_addr to obtain the number of physical pages.
        !           536:        (pmap_verify_free): Remove function.
        !           537:        (valid_page): Turn this macro into an inline function and rewrite
        !           538:        using vm_page_lookup_pa.
        !           539:        (pmap_page_table_page_alloc): Build the pmap VM object using
        !           540:        vm_page_table_size to determine its size.
        !           541:        (pmap_remove_range, pmap_page_protect, phys_attribute_clear,
        !           542:        phys_attribute_test): Turn page indexes into unsigned long integers.
        !           543:        (pmap_enter): Likewise. In addition, use either vm_page_lookup_pa or
        !           544:        biosmem_directmap_end to determine if a physical address references
        !           545:        physical memory.
        !           546:        * i386/xen/xen.c (hyp_p2m_init): Use vm_page_table_size instead of
        !           547:        phys_last_addr to obtain the number of physical pages.
        !           548:        * kern/startup.c (phys_first_addr): Remove extern declaration.
        !           549:        (phys_last_addr): Likewise.
        !           550:        * linux/dev/init/main.c (linux_init): Use vm_page_seg_end with the
        !           551:        appropriate segment selector instead of phys_last_addr to determine
        !           552:        where high memory starts.
        !           553:        * vm/pmap.h: Update requirements description.
        !           554:        (pmap_free_pages, pmap_valid_page): Remove declarations.
        !           555:        * vm/vm_page.c (vm_page_seg_end, vm_page_boot_table_size,
        !           556:        vm_page_table_size, vm_page_table_index): New functions.
        !           557:        * vm/vm_page.h (vm_page_seg_end, vm_page_table_size,
        !           558:        vm_page_table_index): New function declarations.
        !           559:        * vm/vm_resident.c (vm_page_bucket_count, vm_page_hash_mask): Define
        !           560:        as unsigned long integers.
        !           561:        (vm_page_bootstrap): Compute VP table size based on the page table
        !           562:        size instead of the value returned by pmap_free_pages.
        !           563: 
        !           564: 2016-09-20  Richard Braun  <[email protected]>
        !           565: 
        !           566:        VM: remove commented out code
        !           567:        The vm_page_direct_va, vm_page_direct_pa and vm_page_direct_ptr
        !           568:        functions were imported along with the new vm_page module, but
        !           569:        never actually used since the kernel already has phystokv and
        !           570:        kvtophys functions.
        !           571: 
        !           572: 2016-09-16  Richard Braun  <[email protected]>
        !           573: 
        !           574:        VM: improve pageout deadlock workaround
        !           575:        Commit 5dd4f67522ad0d49a2cecdb9b109251f546d4dd1 makes VM map entry
        !           576:        allocation done with VM privilege, so that a VM map isn't held locked
        !           577:        while physical allocations are paused, which may block the default
        !           578:        pager during page eviction, causing a system-wide deadlock.
        !           579: 
        !           580:        First, it turns out that map entries aren't the only buffers allocated,
        !           581:        and second, their number can't be easily determined, which makes a
        !           582:        preallocation strategy very hard to implement.
        !           583: 
        !           584:        This change generalizes the strategy of VM privilege increase when a
        !           585:        VM map is locked.
        !           586: 
        !           587:        * device/ds_routines.c (io_done_thread): Use integer values instead
        !           588:        of booleans when setting VM privilege.
        !           589:        * kern/thread.c (thread_init, thread_wire): Likewise.
        !           590:        * vm/vm_pageout.c (vm_pageout): Likewise.
        !           591:        * kern/thread.h (struct thread): Turn member `vm_privilege' into an
        !           592:        unsigned integer.
        !           593:        * vm/vm_map.c (vm_map_lock): New function, where VM privilege is
        !           594:        temporarily increased.
        !           595:        (vm_map_unlock): New function, where VM privilege is decreased.
        !           596:        (_vm_map_entry_create): Remove VM privilege workaround from this
        !           597:        function.
        !           598:        * vm/vm_map.h (vm_map_lock, vm_map_unlock): Turn into functions.
        !           599: 
        !           600: 2016-09-11  Samuel Thibault  <[email protected]>
        !           601: 
        !           602:        Fix spurious warning
        !           603:        * i386/i386/db_trace.c (db_i386_stack_trace): Do not check for frame
        !           604:        validity if it is 0.
        !           605: 
        !           606:        Fix size of functions interrupt and syscall
        !           607:        * i386/i386/locore.S (syscall): Add END(syscall).
        !           608:        * i386/i386at/interrupt.S (interrupt): Add END(interrupt).
        !           609: 
        !           610:        Set function type on symbols created by ENTRY macro
        !           611:        * i386/include/mach/i386/asm.h (ENTRY, ENTRY2, ASENTRY, Entry): Use .type
        !           612:        @function on created entries.
        !           613: 
        !           614:        Close parenthesis
        !           615:        * i386/i386/db_trace.c (db_i386_stack_trace): When stopping on zero frame,
        !           616:        close parameters parenthesis.
        !           617: 
        !           618:        Fix exploring stack trace up to assembly
        !           619:        * i386/i386/db_trace.c (db_i386_stack_trace): Do not stop as soon as frame
        !           620:        is 0, lookup PC first, and stop only before accessing the frame content.
        !           621: 
        !           622: 2016-09-11  Justus Winter  <[email protected]>
        !           623: 
        !           624:        ipc: Fix crash in debug code.
        !           625:        * ipc/mach_debug.c (mach_port_kernel_object): Check that the receiver
        !           626:        is valid.
        !           627: 
        !           628: 2016-09-07  Richard Braun  <[email protected]>
        !           629: 
        !           630:        Remove map entry pageability property.
        !           631:        Since the replacement of the zone allocator, kernel objects have been
        !           632:        wired in memory. Besides, as of 5e9f6f (Stack the slab allocator
        !           633:        directly on top of the physical allocator), there is a single cache
        !           634:        used to allocate map entries.
        !           635: 
        !           636:        Those changes make the pageability attribute of VM maps irrelevant.
        !           637: 
        !           638:        * device/ds_routines.c (mach_device_init): Update call to kmem_submap.
        !           639:        * ipc/ipc_init.c (ipc_init): Likewise.
        !           640:        * kern/task.c (task_create): Update call to vm_map_create.
        !           641:        * vm/vm_kern.c (kmem_submap): Remove `pageable' argument. Update call
        !           642:        to vm_map_setup.
        !           643:        (kmem_init): Update call to vm_map_setup.
        !           644:        * vm/vm_kern.h (kmem_submap): Update declaration.
        !           645:        * vm/vm_map.c (vm_map_setup): Remove `pageable' argument. Don't set
        !           646:        `entries_pageable' member.
        !           647:        (vm_map_create): Likewise.
        !           648:        (vm_map_copyout): Don't bother creating copies of page entries with
        !           649:        the right pageability.
        !           650:        (vm_map_copyin): Don't set `entries_pageable' member.
        !           651:        (vm_map_fork): Update call to vm_map_create.
        !           652:        * vm/vm_map.h (struct vm_map_header): Remove `entries_pageable' member.
        !           653:        (vm_map_setup, vm_map_create): Remove `pageable' argument.
        !           654: 
        !           655: 2016-09-06  Richard Braun  <[email protected]>
        !           656: 
        !           657:        Fix registration of strings from in boot data
        !           658:        * i386/i386at/model_dep.c (register_boot_data): Use phystokv on strings
        !           659:        when computing their length.
        !           660: 
        !           661: 2016-09-06  Richard Braun  <[email protected]>
        !           662: 
        !           663:        Make early physical page allocation truely reliable
        !           664:        Import upstream biosmem changes and adjust for local modifications.
        !           665: 
        !           666:        Specifically, this change makes the biosmem module reliably track all
        !           667:        boot data by storing their addresses in a sorted array. This allows
        !           668:        both the early page allocator and the biosmem_free_usable function
        !           669:        to accurately find any range of free pages.
        !           670: 
        !           671:        * i386/i386at/biosmem.c: Remove inclusion of <i386at/elf.h>.
        !           672:        (_start, _end): Remove variable declarations.
        !           673:        (BIOSMEM_MAX_BOOT_DATA): New macro.
        !           674:        (struct biosmem_boot_data): New type.
        !           675:        (biosmem_boot_data_array, biosmem_nr_boot_data): New variables.
        !           676:        (biosmem_heap_start, biosmem_heap_bottom, biosmem_heap_top,
        !           677:        biosmem_heap_end): Change type to phys_addr_t.
        !           678:        (biosmem_panic_inval_boot_data): New variable.
        !           679:        (biosmem_panic_too_many_boot_data): Likewise.
        !           680:        (biosmem_panic_toobig_msg): Variable renamed ...
        !           681:        (biosmem_panic_too_big_msg): ... to this.
        !           682:        (biosmem_register_boot_data): New function.
        !           683:        (biosmem_unregister_boot_data): Likewise.
        !           684:        (biosmem_map_adjust): Update reference to panic message.
        !           685:        (biosmem_map_find_avail): Add detailed description.
        !           686:        (biosmem_save_cmdline_sizes): Remove function.
        !           687:        (biosmem_find_heap_clip): Likewise.
        !           688:        (biosmem_find_heap): Likewise.
        !           689:        (biosmem_find_avail_clip, biosmem_find_avail): New functions.
        !           690:        (biosmem_setup_allocator): Receive const multiboot info, replace
        !           691:        calls to biosmem_find_heap with calls to biosmem_find_avail and
        !           692:        update accordingly. Register the heap as boot data.
        !           693:        (biosmem_xen_bootstrap): Register the Xen boot info and the heap as
        !           694:        boot data.
        !           695:        (biosmem_bootstrap): Receive const multiboot information. Remove call
        !           696:        to biosmem_save_cmdline_sizes.
        !           697:        (biosmem_bootalloc): Remove assertion on the VM system state.
        !           698:        (biosmem_type_desc, biosmem_map_show): Build only if DEBUG is true.
        !           699:        (biosmem_unregister_temporary_boot_data): New function.
        !           700:        (biosmem_free_usable_range): Change address range format.
        !           701:        (biosmem_free_usable_entry): Rewrite to use biosmem_find_avail
        !           702:        without abusing it.
        !           703:        (biosmem_free_usable): Call biosmem_unregister_temporary_boot_data,
        !           704:        update call to biosmem_free_usable_entry.
        !           705:        * i386/i386at/biosmem.h (biosmem_register_boot_data): New function.
        !           706:        (biosmem_bootalloc): Update description.
        !           707:        (biosmem_bootstrap): Update description and declaration.
        !           708:        (biosmem_free_usable): Likewise.
        !           709:        * i386/i386at/model_dep.c: Include <i386at/elf.h>.
        !           710:        (machine_init): Update call to biosmem_free_usable.
        !           711:        (register_boot_data): New function.
        !           712:        (i386at_init): Call register_boot_data where appropriate.
        !           713: 
        !           714: 2016-09-03  Richard Braun  <[email protected]>
        !           715: 
        !           716:        Fix early physical page allocation
        !           717:        Import upstream biosmem and vm_page changes, and adjust for local
        !           718:        modifications.
        !           719: 
        !           720:        Specifically, the biosmem module was mistakenly loading physical
        !           721:        segments that did not clip with the heap as completely available.
        !           722:        This change makes it load them as completely unavailable during
        !           723:        startup, and once the VM system is ready, additional pages are
        !           724:        loaded.
        !           725: 
        !           726:        * i386/i386at/biosmem.c (DEBUG): New macro.
        !           727:        (struct biosmem_segment): Remove members `avail_start' and `avail_end'.
        !           728:        (biosmem_heap_cur): Remove variable.
        !           729:        (biosmem_heap_bottom, biosmem_heap_top, biosmem_heap_topdown): New variables.
        !           730:        (biosmem_find_boot_data_update, biosmem_find_boot_data): Remove functions.
        !           731:        (biosmem_find_heap_clip, biosmem_find_heap): New functions.
        !           732:        (biosmem_setup_allocator): Rewritten to use the new biosmem_find_heap
        !           733:        function.
        !           734:        (biosmem_bootalloc): Support both bottom-up and top-down allocations.
        !           735:        (biosmem_directmap_size): Renamed to ...
        !           736:        (biosmem_directmap_end): ... this function.
        !           737:        (biosmem_load_segment): Fix segment loading.
        !           738:        (biosmem_setup): Restrict usable memory to the directmap segment.
        !           739:        (biosmem_free_usable_range): Add checks on input parameters.
        !           740:        (biosmem_free_usable_update_start, biosmem_free_usable_start,
        !           741:        biosmem_free_usable_reserved, biosmem_free_usable_end): Remove functions.
        !           742:        (biosmem_free_usable_entry): Rewritten to use the new biosmem_find_heap
        !           743:        function.
        !           744:        (biosmem_free_usable): Restrict usable memory to the directmap segment.
        !           745:        * i386/i386at/biosmem.h (biosmem_bootalloc): Update description.
        !           746:        (biosmem_directmap_size): Renamed to ...
        !           747:        (biosmem_directmap_end): ... this function.
        !           748:        (biosmem_free_usable): Update declaration.
        !           749:        * i386/i386at/model_dep.c (machine_init): Call biosmem_free_usable.
        !           750:        * vm/vm_page.c (DEBUG): New macro.
        !           751:        (struct vm_page_seg): New member `heap_present'.
        !           752:        (vm_page_load): Remove heap related parameters.
        !           753:        (vm_page_load_heap): New function.
        !           754:        * vm/vm_page.h (vm_page_load): Remove heap related parameters. Update
        !           755:        description.
        !           756:        (vm_page_load_heap): New function.
        !           757: 
        !           758: 2016-09-01  Richard Braun  <[email protected]>
        !           759: 
        !           760:        pmap: fix map window creation on xen
        !           761:        * i386/intel/pmap.c (pmap_get_mapwindow, pmap_put_mapwindow): Use
        !           762:        the appropriate xen hypercall if building for paravirtualized page
        !           763:        table management.
        !           764: 
        !           765: 2016-08-31  Samuel Thibault  <[email protected]>
        !           766: 
        !           767:        Avoid using non-ascii source encoding
        !           768:        * xen/console.c (hypcnintr): Replace latin1 £ character with the 0xA3
        !           769:        number.
        !           770: 
        !           771: 2016-08-29  Richard Braun  <[email protected]>
        !           772: 
        !           773:        vm: fix boot on xen
        !           774:        * vm/vm_map.c (_vm_map_entry_create: Make sure there is a thread
        !           775:        before accessing VM privilege.
        !           776: 
        !           777: 2016-08-26  Samuel Thibault  <[email protected]>
        !           778: 
        !           779:        Revert "Fix documentation for vm_map"
        !           780:        This reverts commit 57694037a02dda29bd678dc3b8531bd437682ba7.
        !           781: 
        !           782:        We rather prefer the kernel just use whatever slot it sees fit. Userland has
        !           783:        already been fixed into not using the behavior anyway.
        !           784: 
        !           785: 2016-08-25  Samuel Thibault  <[email protected]>
        !           786: 
        !           787:        Add missing memory barriers in simple lock debugging
        !           788:        * kern/lock.c (_simple_lock, _simple_lock_try, simple_unlock): Add compiler
        !           789:        memory barrier to separate simple_locks_taken update from information
        !           790:        filling.
        !           791: 
        !           792:        Use invlpg for single-page pagetable changes
        !           793:        * i386/intel/pmap.c (INVALIDATE_TLB): When e-s is constant, equal to
        !           794:        PAGE_SIZE, use just one invlpg instruction to flush the TLB.
        !           795: 
        !           796:        Drop unused macro
        !           797:        * i386/intel/pmap.c (MAX_TBIS_SIZE): Drop unused macro.
        !           798: 
        !           799: 2016-08-16  Richard Braun  <[email protected]>
        !           800: 
        !           801:        Replace libc string functions with internal implementations
        !           802:        * Makefile.am (clib_routines): Remove memcmp, memcpy, memmove,
        !           803:        strchr, strstr and strsep.
        !           804:        * kern/strings.c (memset): Comment out.
        !           805:        (strchr, strsep, strstr): New functions.
        !           806: 
        !           807:        i386: import string functions from X15 and relicense to GPLv2+
        !           808:        * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386/strings.c.
        !           809:        * i386/i386/strings.c: New file.
        !           810: 
        !           811: 2016-08-12  Richard Braun  <[email protected]>
        !           812: 
        !           813:        i386: request the boot loader to page-align modules
        !           814:        * i386/i386at/boothdr.S (MULTIBOOT_FLAGS): Set LSB bit.
        !           815: 
        !           816: 2016-08-07  Richard Braun  <[email protected]>
        !           817: 
        !           818:        VM: fix pageout-related deadlock
        !           819:        * vm/vm_map.c (_vm_map_entry_create): Temporarily set the current thread
        !           820:        as VM privileged.
        !           821: 
        !           822: 2016-08-06  Richard Braun  <[email protected]>
        !           823: 
        !           824:        Augment VM maps with task names
        !           825:        This change improves the clarity of "no more room for ..." VM map
        !           826:        allocation errors.
        !           827: 
        !           828:        * kern/task.c (task_init): Call vm_map_set_name for the kernel map.
        !           829:        (task_create): Call vm_map_set_name where appropriate.
        !           830:        * vm/vm_map.c (vm_map_setup): Set map name to NULL.
        !           831:        (vm_map_find_entry_anywhere): Update error message to include map name.
        !           832:        * vm/vm_map.h (struct vm_map): New `name' member.
        !           833:        (vm_map_set_name): New inline function.
        !           834: 
        !           835: 2016-06-29  Richard Braun  <[email protected]>
        !           836: 
        !           837:        Fix page fault in critical section in the slab allocator
        !           838:        * kern/slab.c (host_slab_info): Use wired kernel memory to build the
        !           839:        cache info.
        !           840: 
        !           841:        Fix locking error in the slab allocator
        !           842:        * kern/slab.c (kmem_slab_create): Set `slab->cache` member.
        !           843:        (kmem_cache_reap): Return dead slabs instead of destroying in place.
        !           844:        (slab_collect): Destroy slabs outside of critical section.
        !           845:        * kern/slab.h (struct kmem_slab): New `cache` member.
        !           846: 
        !           847: 2016-06-27  Richard Braun  <[email protected]>
        !           848: 
        !           849:        Fix locking error
        !           850:        * i386/i386/io_perm.c (no_senders): Remove bogus call to ip_lock.
        !           851: 
        !           852: 2016-06-17  Richard Braun  <[email protected]>
        !           853: 
        !           854:        Change page cache statistics
        !           855:        Instead of reporting statistics about unreferenced objects (the object
        !           856:        cache), report statistics about external objects (the page cache).
        !           857: 
        !           858:        * vm/vm_object.c (vm_object_cached_count): Remove variable.
        !           859:        (vm_object_cache_add): Remove object cache stats updates.
        !           860:        (vm_object_cache_remove): Likewise.
        !           861:        (vm_object_terminate): Update page cache stats.
        !           862:        * vm/vm_object.h (vm_object_cached_count): Remove variable.
        !           863:        (vm_object_cached_pages): Likewise.
        !           864:        (vm_object_cached_pages_lock_data): Likewise.
        !           865:        (vm_object_cached_pages_update): Remove macro.
        !           866:        (vm_object_external_count): New extern variable.
        !           867:        (vm_object_external_pages): Likewise.
        !           868:        * vm/vm_resident.c (vm_object_external_count): New variable.
        !           869:        (vm_object_external_pages): Likewise.
        !           870:        (vm_page_insert): Remove object cache stats updates and
        !           871:        update page cache stats.
        !           872:        (vm_page_replace): Likewise.
        !           873:        (vm_page_remove): Likewise.
        !           874:        * vm/vm_user.c (vm_cache_statistics): Report page cache stats instead
        !           875:        of object cache stats.
        !           876: 
        !           877: 2016-06-10  Samuel Thibault  <[email protected]>
        !           878: 
        !           879:        Allow setting x86 debug flags for the current thread
        !           880:        * kern/thread.c (thread_get_state): Allow call for the current thread,
        !           881:        without suspending it.
        !           882:        (thread_set_status): Likewise.
        !           883: 
        !           884:        Use int3 on x86_64 build too
        !           885:        * kern/debug.c (SoftDebugger) [__x86_64__]: Use int3 instruction to trigger
        !           886:        debugger.
        !           887: 
        !           888: 2016-06-09  Richard Braun  <[email protected]>
        !           889: 
        !           890:        Fix overflow checking on VM map copyin
        !           891:        * vm/vm_map (vm_map_copyin, vm_map_copyin_page_list): Check overflow
        !           892:        before page alignment of source data.
        !           893: 
        !           894: 2016-06-07  Richard Braun  <[email protected]>
        !           895: 
        !           896:        Fix deadlock
        !           897:        * vm/vm_map.c (vm_map_copyout_page_list): Fix call to
        !           898:        vm_map_find_entry_anywhere to avoid relocking VM map.
        !           899: 
        !           900: 2016-06-02  Richard Braun  <[email protected]>
        !           901: 
        !           902:        Fix some license headers.
        !           903:        As the original author of the files imported, I explicitely dual
        !           904:        license them to something compatible with GPLv2.
        !           905: 
        !           906:        kern/macros.h: Switch license from GPLv3 to BSD 2-clause.
        !           907:        kern/rdxtree_i.h: Likewise.
        !           908: 
        !           909: 2016-05-26  Samuel Thibault  <[email protected]>
        !           910: 
        !           911:        Fix buffer size passed to scsi_do_cmd
        !           912:        * linux/src/drivers/scsi/eata_dma_proc.c (eata_proc_info): Increase cmd size
        !           913:        to 12.
        !           914:        * linux/src/drivers/scsi/sd.c (do_sd_request, sd_init_done): Likewise.
        !           915:        * linux/src/drivers/scsi/sr.c (do_sr_request, sr_init_done): Likewise.
        !           916:        * linux/src/drivers/scsi/sr_ioctl.c (sr_ioctl): Likewise with sr_cmd.
        !           917: 
        !           918:        Cope with getc returning -1
        !           919:        * i386/i386at/lpr.c (lprstart): Use int instead of char to store result of
        !           920:        getc, so as to return in case of getting -1.
        !           921: 
        !           922:        Fix potential divisal by zero
        !           923:        * kern/debug.c (panic, log): Pass 16 as default radix to _doprnt.
        !           924: 
        !           925: 2016-05-23  Samuel Thibault  <[email protected]>
        !           926: 
        !           927:        Fix getting ELF symbol bind and type
        !           928:        ddb/db_elf.c (elf_db_search_symbol): Use ELF32_ST_BIND and ELF32_ST_TYPE to
        !           929:        access symbol bind and type.
        !           930: 
        !           931: 2016-05-20  Richard Braun  <[email protected]>
        !           932: 
        !           933:        vm_map: back allocations with a red-black tree
        !           934:        This change augments VM maps with a gap tree, sorted by gap size, to
        !           935:        use for non-fixed allocations.
        !           936: 
        !           937:        * vm/vm_map.c: Include kern/list.h.
        !           938:        (vm_map_entry_gap_cmp_lookup, vm_map_entry_gap_cmp_insert,
        !           939:        vm_map_gap_valid, vm_map_gap_compute, vm_map_gap_insert_single,
        !           940:        vm_map_gap_remove_single, vm_map_gap_update, vm_map_gap_insert,
        !           941:        vm_map_gap_remove, vm_map_find_entry_anywhere): New functions.
        !           942:        (vm_map_setup): Initialize gap tree.
        !           943:        (_vm_map_entry_link): Call vm_map_gap_insert.
        !           944:        (_vm_map_entry_unlink): Call vm_map_gap_remove.
        !           945:        (vm_map_find_entry, vm_map_enter, vm_map_copyout,
        !           946:        vm_map_copyout_page_list, vm_map_copyin): Replace look up loop with
        !           947:        a call to vm_map_find_entry_anywhere. Call vm_map_gap_update and
        !           948:        initialize gap tree where relevant.
        !           949:        (vm_map_copy_insert): Turn macro into an inline function and rewrite.
        !           950:        (vm_map_simplify): Reorder call to vm_map_entry_unlink so that previous
        !           951:        entry is suitable for use with gap management functions.
        !           952:        * vm/vm_map.h: Include kern/list.h.
        !           953:        (struct vm_map_entry): New members `gap_node`, `gap_list`,
        !           954:        `gap_size` and `in_gap_tree`.
        !           955:        (struct vm_map_header): New member `gap_tree`.
        !           956: 
        !           957: 2016-05-20  Justus Winter  <[email protected]>
        !           958: 
        !           959:        xen: fix prototype
        !           960:        Amends a7f248bf.
        !           961: 
        !           962:        * xen/console.h (hypcnclose): Fix type of parameter.
        !           963: 
1.1.1.9   root      964: 2016-05-18  Thomas Schwinge  <[email protected]>
                    965: 
                    966:        GNU Mach 1.7
                    967:        * version.m4 (AC_PACKAGE_VERSION): Set to 1.7.
                    968:        * NEWS: Finalize for 1.7.
                    969: 
                    970: 2016-05-18  Samuel Thibault  <[email protected]>
                    971: 
                    972:        Fix gcc-6 warnings
                    973:        * ddb/db_elf.c (elf_db_sym_init): Turn `i' into unsigned.
                    974:        * device/ds_routines.c (ds_device_open, device_writev_trap): Likewise.
                    975:        * i386/i386/user_ldt.c (i386_set_ldt): Likewise for `i', `min_selector', and
                    976:        `first_desc'.
                    977:        (i386_get_ldt): Likewise for `ldt_count'.
                    978:        (user_ldt_free): Likewise for `i'.
                    979:        * i386/i386/xen.h (hyp_set_ldt): Turn `count' into unsigned long.
                    980:        * i386/intel/pmap.c (pmap_bootstrap): Turn `i', `j' and 'n' into unsigned.
                    981:        (pmap_clear_bootstrap_pagetable): Likewise for `i' and `j'.
                    982:        * ipc/ipc_kmsg.c (ipc_msg_print): Turn `i' and `numwords' into unsigned.
                    983:        * kern/boot_script.c (boot_script_parse_line): Likewise for `i'.
                    984:        * kern/bootstrap.c (bootstrap_create): Likewise for `n' and `i'.
                    985:        * kern/host.c (host_processors): Likewise for `i'.
                    986:        * kern/ipc_tt.c (mach_ports_register): Likewise.
                    987:        * kern/mach_clock.c (tickadj, bigadj): turn into unsigned.
                    988:        * kern/processor.c (processor_set_things): Turn `i' into unsigned.
                    989:        * kern/task.c (task_threads): Likewise.
                    990:        * kern/thread.c (consider_thread_collect, stack_init): Likewise.
                    991:        * kern/strings.c (memset): Turn `i' into size_t.
                    992:        * vm/memory_object.c (memory_object_lock_request): Turn `i' into unsigned.
                    993:        * xen/block.c (hyp_block_init): Use %u format for evt.
                    994:        (device_open): Drop unused err variable.
                    995:        (device_write): Turn `copy_npages', `i', `nbpages', and `j' into unsigned.
                    996:        * xen/console.c (hypcnread, hypcnwrite, hypcnclose): Turn dev to dev_t.
                    997:        (hypcnclose): Return void.
                    998:        * xen/console.h (hypcnread, hypcnwrite, hypcnclose): Fix prototypes
                    999:        accordingly.
                   1000:        * xen/evt.c (form_int_mask): Turn `i' into int.
                   1001:        * xen/net.c (hyp_net_init): Use %u format for evt.
                   1002:        (device_open): Remove unused `err' variable.
                   1003: 
                   1004: 2016-05-17  Samuel Thibault  <[email protected]>
                   1005: 
                   1006:        Revert "Fix getting ELF symbol bind and type"
                   1007:        This reverts commit a8a52cafb5621b475737ffdc81f63703d5b37904.
                   1008: 
                   1009:        It seems to be breaking backtracing in ddb...
                   1010: 
                   1011: 2016-05-16  Richard Braun  <[email protected]>
                   1012: 
                   1013:        Fix pageout deadlock
                   1014:        The pageout daemon uses small, internal, temporary objects to transport
                   1015:        the data out to memory managers, which are expected to release the data
                   1016:        once written out to backing store. Releasing this data is done with a
                   1017:        vm_deallocate call. The problem with this is that vm_map is allowed to
                   1018:        merge these objects, in which case vm_deallocate will only remove a
                   1019:        reference instead of releasing the underlying pages, causing the pageout
                   1020:        daemon to deadlock.
                   1021: 
                   1022:        This change makes the pageout daemon mark these objects so that they
                   1023:        don't get merged.
                   1024: 
                   1025:        * vm/vm_object.c (vm_object_bootstrap): Update template.
                   1026:        (vm_object_coalesce): Don't coalesce if an object is used for pageout.
                   1027:        * vm/vm_object.h (struct vm_object): New `used_for_pageout` member.
                   1028:        * vm/vm_pageout.c (vm_pageout_page): Mark new objects for pageout.
                   1029: 
                   1030: 2016-05-15  Richard Braun  <[email protected]>
                   1031: 
                   1032:        Fix warning
                   1033:        ddb/db_output.c (db_printf): Return 0.
                   1034:        ddb/db_printf.h (db_printf): Change declaration to return an int.
                   1035: 
                   1036: 2016-04-21  Samuel Thibault  <[email protected]>
                   1037: 
                   1038:        Fix xen boot
                   1039:        * i386/i386/pcb.c (pcb_init): Make sure there is a thread before calling
                   1040:        current_task().
                   1041: 
                   1042: 2016-04-20  Justus Winter  <[email protected]>
                   1043: 
                   1044:        Fix type of program counter argument
                   1045:        * i386/i386/hardclock.c (hardclock): Use '0' instead of 'NULL'.
                   1046:        * vm/vm_fault (vm_fault_cleanup): Likewise.
                   1047: 
                   1048:        xen: fix build
                   1049:        * i386/xen/xen.c (hypclock_machine_intr): Fix 'clock_interrupt' call.
                   1050:        * xen/time.c (clkstart): Likewise.
                   1051: 
                   1052: 2016-04-20  Samuel Thibault  <[email protected]>
                   1053: 
                   1054:        Add kernel profiling through sampling
                   1055:        * NEWS: Advertise feature.
                   1056:        * configfrac.ac (--enable-kernsample): Add option.
                   1057:        * kern/pc_sample.h (take_pc_sample): Add usermode and pc parameter.
                   1058:        (take_pc_sample_macro): Take usermode and pc parameters, pass as such to
                   1059:        take_pc_sample.
                   1060:        * kern/pc_sample.c (take_pc_sample): Use pc parameter when usermode is 1.
                   1061:        * kern/mach_clock.c (clock_interrupt): Add pc parameter. Pass usermode and
                   1062:        pc to take_pc_sample_macro call.
                   1063:        * i386/i386/hardclock.c (hardclock): Pass regs->eip to clock_interrupt call
                   1064:        on normal interrupts, NULL on interrupt interrupt.
                   1065:        * vm/vm_fault.c (vm_fault_cleanup): Set usermode to 1 and pc to NULL in
                   1066:        take_pc_sample_macro call.
                   1067: 
                   1068: 2016-04-17  Samuel Thibault  <[email protected]>
                   1069: 
                   1070:        Add memory barrier to spl*
                   1071:        * i386/i386/spl.S (mb): Define macro
                   1072:        (SETIPL, spl0, spl7): Call mb.
                   1073: 
                   1074:        Avoid using C99 for variable declaration for now
                   1075:        * kern/gsync.c (gsync_setup): Declare `i' variable out of for loop.
                   1076: 
                   1077: 2016-04-15  Samuel Thibault  <[email protected]>
                   1078: 
                   1079:        update NEWS file
                   1080: 
                   1081: 2016-04-15  Agustina Arzille  <[email protected]>
                   1082: 
                   1083:        Lightweight synchronization mechanism
                   1084:        * Makefrag.am (libkernel_a_SOURCES): Add kern/gsync.c and kern/gsync.h.
                   1085:        * include/mach/gnumach.defs (gsync_wait, gsync_wake, gsync_requeue): New
                   1086:        routines.
                   1087:        * include/mach/kern_return.h (KERN_TIMEDOUT, KERN_INTERRUPTED): New error
                   1088:        codes.
                   1089:        * kern/gsync.c: New file.
                   1090:        * kern/gsync.h: New file.
                   1091:        * kern/startup.c: Include <kern/gsync.h>
                   1092:        (setup_main): Call gsync_setup.
                   1093: 
                   1094: 2016-04-15  Justus Winter  <[email protected]>
                   1095: 
                   1096:        Update NEWS file
                   1097: 
                   1098:        Add --disable-assert flag to disable assertions
                   1099:        * configfrag.ac: Use 'AC_HEADER_ASSERT'.
                   1100: 
                   1101:        i386: Fix error handling
                   1102:        * i386/i386at/model_dep.c (i386at_init): Fix error handling.
                   1103: 
                   1104: 2016-04-05  Flavio Cruz  <[email protected]>
                   1105: 
                   1106:        Fix bootstraping issues with stdint.h.
                   1107:        * include/mach/std_types.h: Do not include stdint.h.
                   1108:        * kern/rdxtree.h: Replace sys/types.h with stdint.h.
                   1109: 
                   1110: 2016-04-04  Samuel Thibault  <[email protected]>
                   1111: 
                   1112:        Follow-up stdint use
                   1113:        7bbfa39f59dcbc55b21d31abb9e2febef6a51ebb ('Use uint32_t instead of
                   1114:        unsigned32_t.') missed some Xen code
                   1115: 
                   1116:        * xen/net.c (recompute_checksum): Use stdint.h types.
                   1117:        * xen/time.c (hyp_get_stime): Likewise.
                   1118: 
                   1119: 2016-04-04  Flavio Cruz  <[email protected]>
                   1120: 
                   1121:        Use uint32_t instead of unsigned32_t.
                   1122:        Implement stdint.h and use it in gnumach.
                   1123: 
                   1124:        Remove old type definitions such as signed* and unsigned*.
                   1125: 
                   1126:        * Makefile.am: Add -ffreestanding.
                   1127:        * i386/i386/xen.h: Use uint64_t.
                   1128:        * i386/include/mach/i386/machine_types.defs: Use uint32_t and int32_t.
                   1129:        * i386/include/mach/i386/vm_types.h: Remove definitions of int*, uint*,
                   1130:        unsigned* and signed* types.
                   1131:        * i386/xen/xen.c: Use uint64_t.
                   1132:        * include/device/device_types.defs: Use uint32_t.
                   1133:        * include/mach/std_types.defs: Use POSIX types.
                   1134:        * include/mach/std_types.h: Include stdint.h.
                   1135:        * include/stdint.h: New file with POSIX types.
                   1136:        * include/sys/types.h: Include stdint.h.
                   1137:        * ipc/ipc_kmsg.c: Use uint64_t.
                   1138:        * kern/exception.c: Use uint32_t.
                   1139:        * linux/dev/include/linux/types.h: Remove POSIX types.
                   1140:        * xen/block.c: Use uint64_t.
                   1141:        * xen/net.c: Do not use removed unsigned*_t types.
                   1142:        * xen/ring.h: Use uint32_t instead.
                   1143:        * xen/store.c: Use uint32_t.
                   1144:        * xen/store.h: Use uint32_t.
                   1145:        * xen/time.c: Use POSIX types only.
                   1146:        * xen/time.h: Use uint64_t.
                   1147: 
                   1148: 2016-03-19  Samuel Thibault  <[email protected]>
                   1149: 
                   1150:        Make kernel mapping start address configurable
                   1151:        and move it to 16MiB by default to free 24bit DMA area
                   1152: 
                   1153:        * i386/configfrag.ac (--with-_START_MAP): Add option, default to 0x1000000.
                   1154:        * i386/Makefrag.am (_START_MAP): Set to $(_START_MAP).
                   1155:        (_START): Set to _START_MAP+0xC0000000.
                   1156: 
                   1157: 2016-03-19  Samuel Thibault  <[email protected]>
                   1158: 
                   1159:        Fix getting ELF symbol bind and type
                   1160:        ddb/db_elf.c (elf_db_search_symbol): Use ELF32_ST_BIND and ELF32_ST_TYPE to
                   1161:        access symbol bind and type.
                   1162: 
                   1163: 2016-03-13  Richard Braun  <[email protected]>
                   1164: 
                   1165:        Avoid panics on physical memory exhaustion
                   1166:        * vm/vm_resident (vm_page_grab_contig): Return NULL instead of calling
                   1167:        panic on memory exhaustion.
                   1168: 
                   1169: 2016-03-11  Samuel Thibault  <[email protected]>
                   1170: 
                   1171:        Ship missing files
                   1172:        Makefrag.am (libkernel_a_SOURCES): Add kern/log2.h.
                   1173:        (EXTRA_DIST): Add kern/exc.defs.
                   1174:        i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/elf.h.
                   1175: 
                   1176: 2016-03-11  Richard Braun  <[email protected]>
                   1177: 
                   1178:        Merge remote-tracking branch 'remotes/origin/rbraun/vm_cache_policy'
                   1179:        Finally ;-).
                   1180: 
                   1181: 2016-03-09  Richard Braun  <[email protected]>
                   1182: 
                   1183:        Fix stack allocation on Xen
                   1184:        Stack allocation on Xen can fail because of fragmentation. This change
                   1185:        makes stack allocation use the slab allocator.
                   1186: 
                   1187:        * kern/thread.c (thread_stack_cache): New global variable.
                   1188:        (stack_alloc): Use kmem_cache_alloc instead of vm_page_grab_contig.
                   1189:        (stack_collect): Use kmem_cache_free instead of vm_page_free_contig.
                   1190:        (kmem_cache_init): Initialize thread_stack_cache.
                   1191: 
                   1192: 2016-03-09  Richard Braun  <[email protected]>
                   1193: 
                   1194:        Relax slab allocation alignment constraint
                   1195:        * kern/slab.c (kmem_pagealloc_virtual): Pass alignment to function,
                   1196:        call kmem_alloc_aligned when greater than a page.
                   1197:        (kmem_pagealloc): Pass alignment to function.
                   1198:        (kmem_slab_create): Update call to kmem_pagealloc.
                   1199:        (kalloc): Likewise.
                   1200:        (kmem_cache_compute_properties): Fix handling of color with large slab
                   1201:        sizes.
                   1202:        (kmem_cache_init): Allow alignment greater than the page size.
                   1203: 
                   1204: 2016-03-06  Samuel Thibault  <[email protected]>
                   1205: 
                   1206:        Inherit fpu control word from parent to child
                   1207:        * i386/i386/thread.h (struct pcb): Add init_control field.
                   1208:        * i386/i386/fpu.h (fpinherit): New prototype.
                   1209:        * i386/i386/fpu.c (fpinit): Add thread parameter. When init_control field is
                   1210:        set, use that value instead of a hardcoded one.
                   1211:        (fpinherit): New function.
                   1212:        (fp_load): Pass thread parameter to fpinit().
                   1213:        * kern/thread.c (thread_create): Pass parent task to pcb_init().
                   1214:        * i386/i386/pcb.c (pcb_init): Add parent_task parameter, call fpinherit when
                   1215:        it is equal to current_task().
                   1216: 
                   1217: 2016-02-28  Justus Winter  <[email protected]>
                   1218: 
                   1219:        ipc: add missing kernel object type
                   1220:        * ipc/ipc_object.c (ikot_print_array): Add entry for IKOT_PAGER_PROXY.
                   1221: 
                   1222:        doc: clarify memory object initialization
                   1223:        * doc/mach.texi: Mention another way how a memory manager can signal
                   1224:        that an object is ready.
                   1225: 
                   1226:        i386: add parts of cpu.h from x15
                   1227:        * i386/Makefrag.am (libkernel_a_SOURCES): Add new file.
                   1228:        * i386/i386/cpu.h: New file.
                   1229: 
                   1230: 2016-02-26  Justus Winter  <[email protected]>
                   1231: 
                   1232:        include: avoid generating unused client stubs
                   1233:        * include/mach/mach.defs: Avoid generating unused client stubs, some
                   1234:        of which use an unreasonable amount of stack space and showed up in
                   1235:        compiler warnings.
                   1236: 
                   1237: 2016-02-26  Samuel Thibault  <[email protected]>
                   1238: 
                   1239:        Document thread_sleep about events woken from interrupt handlers
                   1240:        * kern/sched_prim.c (thread_sleep): Document case of events woken from
                   1241:        interrupt handlers.
                   1242: 
                   1243:        Document why code is not racy
                   1244:        * i386/i386at/kd_mouse.c (kd_mouse_read): Document why the
                   1245:        assert_wait/thread_block pair is not racy.
                   1246: 
                   1247: 2016-02-23  Justus Winter  <[email protected]>
                   1248: 
                   1249:        Include the exception protocol in 'gnumach.msgids'
                   1250:        * Makefrag.am: Include the exception protocol in 'gnumach.msgids'.
                   1251:        * kern/exc.defs: New file.
                   1252: 
                   1253: 2016-02-22  Richard Braun  <[email protected]>
                   1254: 
                   1255:        Remove kmem cache flags from the debugging interface
                   1256:        * include/mach_debug/slab_info.h (CACHE_FLAGS_NO_CPU_POOL,
                   1257:        CACHE_FLAGS_SLAB_EXTERNAL, CACHE_FLAGS_NO_RECLAIM,
                   1258:        CACHE_FLAGS_VERIFY, CACHE_FLAGS_DIRECT): Remove macros.
                   1259:        * kern/slab.c (host_slab_info): Pass raw cache flags to caller.
                   1260: 
                   1261: 2016-02-22  Richard Braun  <[email protected]>
                   1262: 
                   1263:        Fix slab allocator option handling
                   1264:        The slab allocator has grown to use multiple ways to allocate slabs
                   1265:        as well as track them, which got a little messy. One consequence is
                   1266:        the breaking of the KMEM_CF_VERIFY option. In order to make the code
                   1267:        less confusing, this change expresses all options as explicit cache
                   1268:        flags and clearly defines their relationships.
                   1269: 
                   1270:        The special kmem_slab and vm_map_entry caches are initialized
                   1271:        accordingly.
                   1272: 
                   1273:        * kern/slab.c (KMEM_CF_DIRECTMAP): Rename to ...
                   1274:        (KMEM_CF_PHYSMEM): ... this new macro.
                   1275:        (KMEM_CF_DIRECT): Restore macro.
                   1276:        (KMEM_CF_USE_TREE, KMEM_CF_USE_PAGE): New macros.
                   1277:        (KMEM_CF_VERIFY): Update value.
                   1278:        (kmem_pagealloc_directmap): Rename to...
                   1279:        (kmem_pagealloc_physmem): ... this new function.
                   1280:        (kmem_pagefree_directmap): Rename to ...
                   1281:        (kmem_pagefree_physmem): ... this new function.
                   1282:        (kmem_pagealloc, kmem_pagefree): Update macro names.
                   1283:        (kmem_slab_use_tree): Remove function.
                   1284:        (kmem_slab_create, kmem_slab_destroy): Update according to the new
                   1285:        cache flags.
                   1286:        (kmem_cache_compute_sizes): Rename to ...
                   1287:        (kmem_cache_compute_properties): ... this new function, and update
                   1288:        to properly set cache flags.
                   1289:        (kmem_cache_init): Update call to kmem_cache_compute_properties.
                   1290:        (kmem_cache_alloc_from_slab): Check KMEM_CF_USE_TREE instead of
                   1291:        calling the defunct kmem_slab_use_tree function.
                   1292:        (kmem_cache_free_to_slab): Update according to the new cache flags.
                   1293:        kmem_cache_free_verify): Add assertion.
                   1294:        (slab_init): Update initialization of kmem_slab_cache.
                   1295:        * kern/slab.h (KMEM_CACHE_DIRECTMAP): Rename to ...
                   1296:        (KMEM_CACHE_PHYSMEM): ... this new macro.
                   1297:        * vm/vm_map.c (vm_map_init): Update initialization of vm_map_entry_cache.
                   1298: 
                   1299: 2016-02-22  Richard Braun  <[email protected]>
                   1300: 
                   1301:        Optimize slab lookup on the free path
                   1302:        Caches that use external slab data but allocate slabs from the direct
                   1303:        physical mapping can look up slab data in constant time by associating
                   1304:        the slab data directly with the underlying page.
                   1305: 
                   1306:        * kern/slab.c (kmem_slab_use_tree): Take KMEM_CF_DIRECTMAP into account.
                   1307:        (kmem_slab_create): Set page private data if relevant.
                   1308:        (kmem_slab_destroy): Clear page private data if relevant.
                   1309:        (kmem_cache_free_to_slab): Use page private data if relevant.
                   1310:        * vm/vm_page.c (vm_page_init_pa): Set `priv' member to NULL.
                   1311:        * vm/vm_page.h (vm_page_set_priv, vm_page_get_priv): New functions.
                   1312: 
                   1313: 2016-02-22  Richard Braun  <[email protected]>
                   1314: 
                   1315:        Fix unused variable warnings
                   1316:        * kern/slab.c (slab_init): Remove unused variables.
                   1317: 
                   1318: 2016-02-20  Richard Braun  <[email protected]>
                   1319: 
                   1320:        Avoid slab allocation failures caused by memory fragmentation
                   1321:        Since the slab allocator has been changed to sit directly on top of the
                   1322:        physical allocator, failures caused by fragmentation have been observed,
                   1323:        as one could expect. This change makes the slab allocator revert to
                   1324:        kernel virtual memory when allocating larger-than-page slabs. This
                   1325:        solution is motivated in part to avoid the complexity of other solutions
                   1326:        such as page mobility, and also because a microkernel cannot be extended
                   1327:        to new arbitrary uncontrolled usage patterns such as a monolithic kernel
                   1328:        with loadable modules. As such, large objects are rare, and their use
                   1329:        infrequent, which is compatible with the use of kernel virtual memory.
                   1330: 
                   1331:        * kern/slab.c: Update module description.
                   1332:        (KMEM_CF_SLAB_EXTERNAL, KMEM_CF_VERIFY): Update values.
                   1333:        (KMEM_CF_DIRECT): Remove macro.
                   1334:        (KMEM_CF_DIRECTMAP): New macro.
                   1335:        (kmem_pagealloc_directmap, kmem_pagefree_directmap,
                   1336:        kmem_pagealloc_virtual, kmem_pagefree_virtual): New functions.
                   1337:        (kmem_pagealloc, kmem_pagefree, kmem_slab_create, kmem_slab_destroy,
                   1338:        kalloc, kfree): Update to use the new pagealloc functions.
                   1339:        (kmem_cache_compute_sizes): Update the algorithm used to determine slab
                   1340:        size and other cache properties.
                   1341:        (kmem_slab_use_tree, kmem_cache_free_to_slab, host_slab_info): Update to
                   1342:        correctly use the cache flags.
                   1343:        (slab_init): Add KMEM_CACHE_DIRECTMAP to the kmem_slab_cache init flags.
                   1344:        * kern/slab.h (KMEM_CACHE_VERIFY): Change value.
                   1345:        (KMEM_CACHE_DIRECTMAP): New macro.
                   1346:        * vm/vm_map.c (vm_map_init): Add KMEM_CACHE_DIRECTMAP to the
                   1347:        vm_map_entry_cache init flags.
                   1348: 
                   1349: 2016-02-16  Richard Braun  <[email protected]>
                   1350: 
                   1351:        Avoid panics on physical memory exhaustion
                   1352:        * vm/vm_resident (vm_page_grab): Return NULL instead of calling panic
                   1353:        on memory exhaustion.
                   1354: 
                   1355: 2016-02-14  Samuel Thibault  <[email protected]>
                   1356: 
                   1357:        Reduce VM_KERNEL_MAP_SIZE
                   1358:        Now that KMEM_MAP_SIZE (128MiB) has been removed.
                   1359: 
                   1360:        * i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE): Decrease by 128MiB.
                   1361: 
                   1362: 2016-02-07  Justus Winter  <[email protected]>
                   1363: 
                   1364:        vm: initialize external maps
                   1365:        * vm/vm_external.c (vm_external_create): Initialize allocated maps.
                   1366: 
                   1367: 2016-02-07  Richard Braun  <[email protected]>
                   1368: 
                   1369:        Fix page cache accounting
                   1370:        * vm/vm_object.c (vm_object_bootstrap): Set template object `cached'
                   1371:        member to FALSE.
                   1372:        (vm_object_cache_add, vm_object_cache_remove): New functions.
                   1373:        (vm_object_collect, vm_object_deallocate, vm_object_lookup,
                   1374:        vm_object_lookup_name, vm_object_destroy): Use new cache management functions.
                   1375:        (vm_object_terminate, vm_object_collapse): Make sure object isn't cached.
                   1376:        * vm/vm_object.h (struct vm_object): New `cached' member.
                   1377: 
                   1378: 2016-02-07  Justus Winter  <[email protected]>
                   1379: 
                   1380:        vm: allocate a large map for all objects larger than SMALL_SIZE
                   1381:        * vm/vm_external.c (vm_external_create): Allocate a large map for all
                   1382:        objects larger than SMALL_SIZE.  'vm_external_state_{g,s}et' can deal
                   1383:        with offsets larger than 'LARGE_SIZE', so currently objects larger
                   1384:        than 'LARGE_SIZE' are missing out on the optimization.
                   1385: 
                   1386:        vm: remove unused field from struct vm_external
                   1387:        * vm/vm_external.h (struct vm_external): Remove unused field
                   1388:        'existence_count'.
                   1389: 
                   1390: 2016-02-07  Richard Braun  <[email protected]>
                   1391: 
                   1392:        Remove kmem map
                   1393:        Now that the slab allocator doesn't use kernel virtual memory any more,
                   1394:        this map has become irrelevant.
                   1395: 
                   1396:        * kern/slab.c (KMEM_MAP_SIZE): Remove macro.
                   1397:        (kmem_map_store, kmem_map): Remove variables.
                   1398:        (slab_init): Remove call kmem_submap.
                   1399:        * kern/slab.h (kmem_map): Remove extern declaration.
                   1400: 
                   1401: 2016-02-06  Richard Braun  <[email protected]>
                   1402: 
                   1403:        Change computation of slab size
                   1404:        Allocating directly out of the physical memory allocator makes the slab
                   1405:        allocator vulnerable to failures due to fragmentation. This change makes
                   1406:        the slab allocator use the lowest possible size for its slabs to reduce
                   1407:        the chance of contiguous allocation failures.
                   1408: 
                   1409:        * kern/slab.c (KMEM_MIN_BUFS_PER_SLAB, KMEM_SLAB_SIZE_THRESHOLD): Remove
                   1410:        macros.
                   1411:        (kmem_cache_compute_sizes): Update the algorithm used to determine slab
                   1412:        size and other cache properties.
                   1413: 
                   1414: 2016-02-02  Richard Braun  <[email protected]>
                   1415: 
                   1416:        Fix various memory managment errors
                   1417:        A few errors were introduced in the latest changes.
                   1418: 
                   1419:        o Add VM_PAGE_WAIT calls around physical allocation attempts in case of
                   1420:        memory exhaustion.
                   1421:        o Fix stack release.
                   1422:        o Fix memory exhaustion report.
                   1423:        o Fix free page accounting.
                   1424: 
                   1425:        * kern/slab.c (kmem_pagealloc, kmem_pagefree): New functions
                   1426:        (kmem_slab_create, kmem_slab_destroy, kalloc, kfree): Use kmem_pagealloc
                   1427:        and kmem_pagefree instead of the raw page allocation functions.
                   1428:        (kmem_cache_compute_sizes): Don't store slab order.
                   1429:        * kern/slab.h (struct kmem_cache): Remove `slab_order' member.
                   1430:        * kern/thread.c (stack_alloc): Call VM_PAGE_WAIT in case of memory
                   1431:        exhaustion.
                   1432:        (stack_collect): Call vm_page_free_contig instead of kmem_free to
                   1433:        release pages.
                   1434:        * vm/vm_page.c (vm_page_seg_alloc): Fix memory exhaustion report.
                   1435:        (vm_page_setup): Don't update vm_page_free_count.
                   1436:        (vm_page_free_pa): Check page parameter.
                   1437:        (vm_page_mem_free): New function.
                   1438:        * vm/vm_page.h (vm_page_free_count): Remove extern declaration.
                   1439:        (vm_page_mem_free): New prototype.
                   1440:        * vm/vm_pageout.c: Update comments not to refer to vm_page_free_count.
                   1441:        (vm_pageout_scan, vm_pageout_continue, vm_pageout): Use vm_page_mem_free
                   1442:        instead of vm_page_free_count, update types accordingly.
                   1443:        * vm/vm_resident.c (vm_page_free_count, vm_page_free_count_minimum):
                   1444:        Remove variables.
                   1445:        (vm_page_free_avail): New variable.
                   1446:        (vm_page_bootstrap, vm_page_grab, vm_page_release, vm_page_grab_contig,
                   1447:        vm_page_free_contig, vm_page_wait): Use vm_page_mem_free instead of vm_page_free_count,
                   1448:        update types accordingly, don't set vm_page_free_count_minimum.
                   1449:        * vm/vm_user.c (vm_statistics): Likewise.
                   1450: 
                   1451: 2016-02-02  Richard Braun  <[email protected]>
                   1452: 
                   1453:        Fix unused variable warnings
                   1454:        * i386/i386at/biosmem.c (biosmem_bootstrap): Remove unused variables.
                   1455: 
                   1456: 2016-02-02  Richard Braun  <[email protected]>
                   1457: 
                   1458:        Stack the slab allocator directly on top of the physical allocator
                   1459:        In order to increase the amount of memory available for kernel objects,
                   1460:        without reducing the amount of memory available for user processes,
                   1461:        a new allocation strategy is introduced in this change.
                   1462: 
                   1463:        Instead of allocating kernel objects out of kernel virtual memory,
                   1464:        the slab allocator directly uses the direct mapping of physical
                   1465:        memory as its backend. This largely increases the kernel heap, and
                   1466:        removes the need for address translation updates.
                   1467: 
                   1468:        In order to allow this strategy, an assumption made by the interrupt
                   1469:        code had to be removed. In addition, kernel stacks are now also
                   1470:        allocated directly from the physical allocator.
                   1471: 
                   1472:        * i386/i386/db_trace.c: Include i386at/model_dep.h
                   1473:        (db_i386_reg_value): Update stack check.
                   1474:        * i386/i386/locore.S (trap_from_kernel, all_intrs,
                   1475:        int_from_intstack): Update interrupt handling.
                   1476:        * i386/i386at/model_dep.c: Include kern/macros.h.
                   1477:        (int_stack, int_stack_base): New variables.
                   1478:        (int_stack_high): Remove variable.
                   1479:        (i386at_init): Update interrupt stack initialization.
                   1480:        * i386/i386at/model_dep.h: Include i386/vm_param.h.
                   1481:        (int_stack_top, int_stack_base): New extern declarations.
                   1482:        (ON_INT_STACK): New macro.
                   1483:        * kern/slab.c: Include vm/vm_page.h
                   1484:        (KMEM_CF_NO_CPU_POOL, KMEM_CF_NO_RECLAIM): Remove macros.
                   1485:        (kmem_pagealloc, kmem_pagefree, kalloc_pagealloc, kalloc_pagefree): Remove
                   1486:        functions.
                   1487:        (kmem_slab_create): Allocate slab pages directly from the physical allocator.
                   1488:        (kmem_slab_destroy): Release slab pages directly to the physical allocator.
                   1489:        (kmem_cache_compute_sizes): Update the slab size computation algorithm to
                   1490:        return a power-of-two suitable for the physical allocator.
                   1491:        (kmem_cache_init): Remove custom allocation function pointers.
                   1492:        (kmem_cache_reap): Remove check on KMEM_CF_NO_RECLAIM.
                   1493:        (slab_init, kalloc_init): Update calls to kmem_cache_init.
                   1494:        (kalloc, kfree): Directly fall back on the physical allocator for big
                   1495:        allocation sizes.
                   1496:        (host_slab_info): Remove checks on defunct flags.
                   1497:        * kern/slab.h (kmem_slab_alloc_fn_t, kmem_slab_free_fn_t): Remove types.
                   1498:        (struct kmem_cache): Add `slab_order' member, remove `slab_alloc_fn' and
                   1499:        `slab_free_fn' members.
                   1500:        (KMEM_CACHE_NOCPUPOOL, KMEM_CACHE_NORECLAIM): Remove macros.
                   1501:        (kmem_cache_init): Update prototype, remove custom allocation functions.
                   1502:        * kern/thread.c (stack_alloc): Allocate stacks from the physical allocator.
                   1503:        * vm/vm_map.c (vm_map_kentry_cache, kentry_data, kentry_data_size): Remove
                   1504:        variables.
                   1505:        (kentry_pagealloc): Remove function.
                   1506:        (vm_map_init): Update calls to kmem_cache_init, remove initialization of
                   1507:        vm_map_kentry_cache.
                   1508:        (vm_map_create, _vm_map_entry_dispose, vm_map_copyout): Unconditionnally
                   1509:        use vm_map_entry_cache.
                   1510:        * vm/vm_map.h (kentry_data, kentry_data_size, kentry_count): Remove extern
                   1511:        declarations.
                   1512:        * vm/vm_page.h (VM_PT_STACK): New page type.
                   1513:        * device/dev_lookup.c (dev_lookup_init): Update calls to kmem_cache_init.
                   1514:        * device/dev_pager.c (dev_pager_hash_init, device_pager_init): Likewise.
                   1515:        * device/ds_routines.c (mach_device_init, mach_device_trap_init): Likewise.
                   1516:        * device/net_io.c (net_io_init): Likewise.
                   1517:        * i386/i386/fpu.c (fpu_module_init): Likewise.
                   1518:        * i386/i386/machine_task.c (machine_task_module_init): Likewise.
                   1519:        * i386/i386/pcb.c (pcb_module_init): Likewise.
                   1520:        * i386/intel/pmap.c (pmap_init): Likewise.
                   1521:        * ipc/ipc_init.c (ipc_bootstrap): Likewise.
                   1522:        * ipc/ipc_marequest.c (ipc_marequest_init): Likewise.
                   1523:        * kern/act.c (global_act_init): Likewise.
                   1524:        * kern/processor.c (pset_sys_init): Likewise.
                   1525:        * kern/rdxtree.c (rdxtree_cache_init): Likewise.
                   1526:        * kern/task.c (task_init): Likewise.
                   1527:        * vm/memory_object_proxy.c (memory_object_proxy_init): Likewise.
                   1528:        * vm/vm_external.c (vm_external_module_initialize): Likewise.
                   1529:        * vm/vm_fault.c (vm_fault_init): Likewise.
                   1530:        * vm/vm_object.c (vm_object_bootstrap): Likewise.
                   1531:        * vm/vm_resident.c (vm_page_module_init): Likewise.
                   1532:        (vm_page_bootstrap): Remove initialization of kentry_data.
                   1533: 
                   1534: 2016-01-30  Richard Braun  <[email protected]>
                   1535: 
                   1536:        Fix early page allocation on Xen
                   1537:        The Xen target was completely ignored when porting the biosmem and
                   1538:        vm_page physical memory allocators. Let's fix this.
                   1539: 
                   1540:        * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/biosmem.{c,h}.
                   1541:        * i386/i386/vm_page.h (VM_PAGE_MAX_SEGS, VM_PAGE_DIRECTMAP_LIMIT,
                   1542:        VM_PAGE_HIGHMEM_LIMIT): Define for Xen.
                   1543:        * i386/i386at/biosmem.c: Include mach/xen.h.
                   1544:        (biosmem_panic_setup_msg): Comment out for Xen since it's unused.
                   1545:        (biosmem_map_build, biosmem_map_build_simple,
                   1546:        biosmem_save_cmdline_sizes, biosmem_find_boot_data_update,
                   1547:        biosmem_find_boot_data, biosmem_setup_allocator): Likewise.
                   1548:        (biosmem_bootstrap_common): New function.
                   1549:        (biosmem_xen_bootstrap): Likewise, for Xen.
                   1550:        (biosmem_bootalloc): Perform bottom-up allocations for Xen.
                   1551:        * i386/i386at/biosmem.h (biosmem_xen_bootstrap): New prototype, for Xen.
                   1552:        * i386/i386at/model_dep.c (i386at_init): Call biosmem_xen_bootstrap instead
                   1553:        of biosmem_bootstrap on Xen.
                   1554:        * i386/include/mach/i386/vm_types.h (phys_addr_t): Define as an unsigned
                   1555:        64-bits integer when PAE is enabled.
                   1556: 
                   1557: 2016-01-29  Samuel Thibault  <[email protected]>
                   1558: 
                   1559:        Disable probing legacy IDE when AHCI driver works
                   1560:        * linux/src/drivers/block/ide.c (default_io_base): Do not qualify const.
                   1561:        (ide_disable_base): New function.
                   1562:        * linux/dev/include/linux/blk.h (ide_disable_base): New declaration.
                   1563:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Call ide_disable_base
                   1564:        with each I/O BAR of the AHCI PCI card.
                   1565: 
                   1566:        Use PCI macros
                   1567:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Use
                   1568:        PCI_BASE_ADDRESS_SPACE_IO and PCI_BASE_ADDRESS_MEM_MASK macros instead of
                   1569:        hardcoded values.
                   1570: 
                   1571:        ahci: print PCI bus/dev/fun in hexadecimal
                   1572:        * linux/dev/drivers/block/ahci.c: Print PCI bus/dev/fun number in
                   1573:        hexadecimal
                   1574: 
                   1575: 2016-01-29  Samuel Thibault  <[email protected]>
                   1576: 
                   1577:        Fallback on direct PCI access when no BIOS32 is available
                   1578:        Some hardware start shippping with no BIOS32 at all, and we'll have to
                   1579:        implement ACPI to get the address of the mmconfig table.  In the meanwhile,
                   1580:        we can hope that the direct probe works (it does on HP820 for instance).
                   1581: 
                   1582:        * linux/src/arch/i386/kernel/bios32.c (pcibios_init): Also try
                   1583:        check_direct_pci() when bios32 probing failed.
                   1584: 
                   1585: 2016-01-23  Richard Braun  <[email protected]>
                   1586: 
                   1587:        Merge branch 'rbraun/vm_page'
                   1588: 
                   1589: 2016-01-23  Richard Braun  <[email protected]>
                   1590: 
                   1591:        Use vm_page as the physical memory allocator
                   1592:        This change replaces the historical page allocator with a buddy allocator
                   1593:        implemented in vm/vm_page.c. This allocator allows easy contiguous allocations
                   1594:        and also manages memory inside segments. In a future change, these segments
                   1595:        will be used to service requests with special constraints, such as "usable
                   1596:        for 16-bits DMA" or "must be part of the direct physical mapping".
                   1597: 
                   1598:        * Makefrag.am (libkernel_a_SOURCES): Add vm/vm_page.c.
                   1599:        * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/biosmem.{c,h}.
                   1600:        * i386/i386/vm_param.h: Include kern/macros.h.
                   1601:        (VM_PAGE_DMA_LIMIT, VM_PAGE_MAX_SEGS, VM_PAGE_DMA32_LIMIT,
                   1602:        VM_PAGE_DIRECTMAP_LIMIT, VM_PAGE_HIGHMEM_LIMIT, VM_PAGE_SEG_DMA,
                   1603:        VM_PAGE_SEG_DMA32, VM_PAGE_SEG_DIRECTMAP, VM_PAGE_SEG_HIGHMEM): New macros.
                   1604:        * i386/i386at/model_dep.c: Include i386at/biosmem.h.
                   1605:        (avail_next, avail_remaining): Remove variables.
                   1606:        (mem_size_init): Remove function.
                   1607:        (i386at_init): Initialize and use the biosmem module for early physical
                   1608:        memory management.
                   1609:        (pmap_free_pages): Return phys_last_addr instead of avail_remaining.
                   1610:        (init_alloc_aligned): Turn into a wrapper for biosmem_bootalloc.
                   1611:        (pmap_grab_page): Directly call init_alloc_aligned instead of pmap_next_page.
                   1612:        * i386/include/mach/i386/vm_types.h (phys_addr_t): New type.
                   1613:        * kern/bootstrap.c (free_bootstrap_pages): New function.
                   1614:        (bootstrap_create): Call free_bootstrap_pages instead of vm_page_create.
                   1615:        * kern/cpu_number.h (CPU_L1_SIZE): New macro.
                   1616:        * kern/slab.h: Include kern/cpu_number.h.
                   1617:        (CPU_L1_SIZE): Remove macro, moved to kern/cpu_number.h.
                   1618:        * kern/startup.c (setup_main): Change the value of machine_info.memory_size.
                   1619:        * linux/dev/glue/glue.h (alloc_contig_mem, free_contig_mem): Update prototypes.
                   1620:        * linux/dev/glue/kmem.c (linux_kmem_init): Don't use defunct page queue.
                   1621:        * linux/dev/init/main.c (linux_init): Don't free unused memory.
                   1622:        (alloc_contig_mem, free_contig_mem): Turn into wrappers for the vm_page
                   1623:        allocator.
                   1624:        * linux/pcmcia-cs/glue/ds.c (PAGE_SHIFT): Don't undefine.
                   1625:        * vm/pmap.h (pmap_startup, pmap_next_page): Remove prototypes.
                   1626:        * vm/vm_fault.c (vm_fault_page): Update calls to vm_page_convert.
                   1627:        * vm/vm_init.c (vm_mem_init): Call vm_page_info_all.
                   1628:        * vm/vm_object.c (vm_object_page_map): Update call to vm_page_init.
                   1629:        * vm/vm_page.h (vm_page_queue_free): Remove variable declaration.
                   1630:        (vm_page_create, vm_page_release_fictitious, vm_page_release): Remove
                   1631:        declarations.
                   1632:        (vm_page_convert, vm_page_init): Update prototypes.
                   1633:        (vm_page_grab_contig, vm_page_free_contig): New prototypes.
                   1634:        * vm/vm_resident.c (vm_page_template, vm_page_queue_free,
                   1635:        vm_page_big_pagenum): Remove variables.
                   1636:        (vm_page_bootstrap): Update and call vm_page_setup.
                   1637:        (pmap_steal_memory): Update and call vm_page_bootalloc.
                   1638:        (pmap_startup, vm_page_create, vm_page_grab_contiguous_pages): Remove functions.
                   1639:        (vm_page_init_template, vm_page_grab_contig,
                   1640:        vm_page_free_contig): New functions.
                   1641:        (vm_page_init): Update and call vm_page_init_template.
                   1642:        (vm_page_release_fictitious): Make static.
                   1643:        (vm_page_more_fictitious): Update call to vm_page_init.
                   1644:        (vm_page_convert): Rewrite to comply with vm_page.
                   1645:        (vm_page_grab): Update and call vm_page_alloc_pa.
                   1646:        (vm_page_release): Update and call vm_page_free_pa.
                   1647: 
                   1648: 2016-01-23  Richard Braun  <[email protected]>
                   1649: 
                   1650:        Import the vm_page module from X15 and relicense to GPLv2+
                   1651:        * vm/vm_page.c: New File.
                   1652:        * vm/vm_page.h: Merge vm_page.h from X15.
                   1653:        (struct vm_page): New members: node, type, seg_index, order,
                   1654:        vm_page_header. Turn phys_addr into a phys_addr_t.
                   1655: 
                   1656:        Import the biosmem module from X15 and relicense to GPLv2+
                   1657:        * i386/i386at/biosmem.c: New file.
                   1658:        * i386/i386at/biosmem.h: Likewise.
                   1659: 
                   1660:        Import the multiboot module from X15 and relicense to GPLv2+
                   1661:        * i386/include/mach/i386/multiboot.h: Merge multiboot.h from X15.
                   1662: 
                   1663:        Import the elf module from X15 and relicense to GPLv2+
                   1664:        * i386/i386at/elf.h: New file.
                   1665: 
                   1666:        Import the log2 module from X15 and relicense to GPLv2+
                   1667:        * kern/log2.h: New file.
                   1668: 
                   1669: 2016-01-14  Samuel Thibault  <[email protected]>
                   1670: 
                   1671:        Fix build with gcc-6
                   1672:        * linux/src/include/linux/compiler-gcc6.h: New file.
                   1673: 
                   1674: 2016-01-13  Samuel Thibault  <[email protected]>
                   1675: 
                   1676:        Increase kernel map size
                   1677:        To avoid running out of memory due to the increased consumption by radix
                   1678:        trees which replaced arrays.
                   1679: 
                   1680:        * kern/slab.c (KMEM_MAP_SIZE): Bump from 96MiB to 128MiB.
                   1681:        * i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE): Add 32MiB accordingly.
                   1682: 
                   1683: 2016-01-02  Richard Braun  <[email protected]>
                   1684: 
                   1685:        Completely disable strict aliasing
                   1686:        * Makefile.am (AM_CFLAGS): Add -fno-strict-aliasing.
                   1687: 
                   1688:        Fix object page list type
                   1689:        * vm/vm_object.h (struct vm_object): Use queue_head_t instead of
                   1690:        queue_chain_t as the page list type.
                   1691: 
                   1692: 2016-01-02  Flavio Cruz  <[email protected]>
                   1693: 
                   1694:        replace extern with static in some linux code
                   1695:        * linux/dev/include/linux/fs.h: Replace extern with static.
                   1696:        * linux/dev/include/linux/locks.h: Likewise.
                   1697:        * linux/dev/include/linux/mm.h: Likewise.
                   1698:        * linux/src/drivers/net/e2100.c: Likewise
                   1699:        * linux/src/include/asm-i386/termios.h: Likewise.
                   1700:        * linux/src/include/linux/interrupt.h: Likewise.
                   1701:        * linux/src/include/net/route.h: Likewise.
                   1702:        * linux/src/include/net/sock.h: Likewise.
                   1703: 
                   1704:        fix t_addr assignment in lpropen
                   1705:        * i386/i386at/lpr.c (lpropen): Fix assignment to t_addr.
                   1706: 
                   1707: 2016-01-01  Flavio Cruz  <[email protected]>
                   1708: 
                   1709:        remove unnused disk code and headers
                   1710:        * i386/Makefrag.am: Remove disk.h.
                   1711:        * i386/i386at/disk.h: Remove unnused definitions.
                   1712:        * i386/include/mach/i386/disk.h: Remove.
                   1713:        * linux/dev/glue/block.c (device_get_status): Remove V_GETPARMS case.
                   1714: 
                   1715:        fix some compiler warnings in gnumach
                   1716:        * linux/dev/glue/block.c (out): Cast to device_t.
                   1717:        * linux/dev/init/main.c (alloc_contig_mem): Initialize addr and cast return value to void *.
                   1718:        * i386/i386/phys.c (pmap_copy_page): Initialize src_map.
                   1719:        * i386/intel/pmap.c: Include i386at/model_dep.h.
                   1720:        * kern/mach_clock.c (mapable_time_init): Cast to void *.
                   1721: 
                   1722: 2016-01-01  Richard Braun  <[email protected]>
                   1723: 
                   1724:        Slightly improve map debugging readability
                   1725:        * vm/vm_object.c (vm_object_print): Break line so all debugging output fits
                   1726:        in a page.
                   1727: 
                   1728: 2015-12-29  Richard Braun  <[email protected]>
                   1729: 
                   1730:        Improve map debugging readability
                   1731:        * vm/vm_map.c (vm_map_print): Reduce indentation, break lines earlier.
                   1732:        (vm_map_copy_print): Likewise.
                   1733:        * vm/vm_object.c (vm_object_print): Likewise.
                   1734: 
                   1735:        Improve VM map debugging
                   1736:        * vm/vm_map.c (vm_map_print): Update arguments to conform to ddb
                   1737:        protocol.
                   1738:        * vm/vm_print.h (vm_map_print): Likewise for prototype.
                   1739: 
                   1740:        Fix vm_map_copyout
                   1741:        * vm/vm_map.c (vm_map_copyout): Reinitialize copy map red-black tree.
                   1742: 
                   1743: 2015-12-11  Samuel Thibault  <[email protected]>
                   1744: 
                   1745:        Fix boot under kvm in linux 4.3
                   1746:        * i386/i386/locore.S (discover_x86_cpu_type): Disable Cyrix CPU discovery.
                   1747: 
                   1748: 2015-11-29  Samuel Thibault  <[email protected]>
                   1749: 
                   1750:        Nicer out of memory condition reporting
                   1751:        * vm/vm_object.c (_vm_object_allocate): Return 0 immediately when
                   1752:        kmem_cache_alloc returned 0.
                   1753:        (vm_object_allocate): Panic when _vm_object_allocate returns 0.
                   1754: 
                   1755: 2015-11-27  Samuel Thibault  <[email protected]>
                   1756: 
                   1757:        Fix wired accounting
                   1758:        * vm/vm_map.c (vm_map_pageable_common): Put back wired_count decrementation
                   1759:        into user_wired_count test.
                   1760: 
                   1761:        Fix ahci unit MAX_PORTS check
                   1762:        * linux/dev/drivers/block/ahci.c (ahci_do_request): Fix checking unit
                   1763:        against MAX_PORTS.
                   1764: 
                   1765:        Fix bound
                   1766:        * i386/i386at/lpr.c (lprprobe): Fix checking unit against NLPR.
                   1767: 
                   1768:        Fix missing format in printk
                   1769:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Add missing format.
                   1770: 
1.1.1.8   root     1771: 2015-10-31  Thomas Schwinge  <[email protected]>
                   1772: 
                   1773:        GNU Mach 1.6
                   1774:        * version.m4 (AC_PACKAGE_VERSION): Set to 1.6.
                   1775:        * NEWS: Finalize for 1.6.
                   1776: 
                   1777: 2015-10-31  Thomas Schwinge  <[email protected]>
                   1778: 
                   1779:        Rework *.msgids handling when neither client nor server stubs are required
                   1780:        Originally added in commit 255c47e669819f153c722c98a230f6fe4e6ece08, but "make
                   1781:        distcheck" didn't like that:
                   1782: 
                   1783:            [...]
                   1784:            ERROR: files left in build directory after distclean:
                   1785:            ./ipc/notify.msgids
                   1786:            Makefile:7489: recipe for target 'distcleancheck' failed
                   1787:            make[1]: *** [distcleancheck] Error 1
                   1788:            make[1]: Leaving directory '[...]/gnumach/release.build/gnumach-1.5/_build/sub'
                   1789:            Makefile:7416: recipe for target 'distcheck' failed
                   1790:            make: *** [distcheck] Error 1
                   1791: 
                   1792:        Instead of special-casing that, generalize the Makefile rules.
                   1793: 
                   1794:        * Makefrag.am (nodist_lib_dep_tr_for_defs_a_SOURCES): Add
                   1795:        ipc/notify.none.defs.c.
                   1796:        (nodist_libkernel_a_SOURCES): Add ipc/notify.none.msgids.
                   1797:        (gnumach.msgids): Remove ipc/notify.msgids prerequisite.
                   1798:        * Makerules.mig.am (%.msgids): Remove rule, and instead...
                   1799:        (%.none.defs.c, %.none.msgids): ... add these rules.
                   1800: 
                   1801: 2015-10-05  Justus Winter  <[email protected]>
                   1802: 
                   1803:        Update NEWS file
                   1804: 
                   1805: 2015-10-05  Samuel Thibault  <[email protected]>
                   1806: 
                   1807:        Fix time going back in Xen case
                   1808:        when backward time correction happens to get bigger than the tick duration.
                   1809: 
                   1810:        * kern/mach_clock.c (clock_interrupt): When `tickdelta' is bigger than `usec',
                   1811:        truncate it to `usec-1'.
                   1812: 
                   1813: 2015-10-05  Joshua Branson  <[email protected]>
                   1814: 
                   1815:        Add generated mach documentation files to gitignore
                   1816:        * .gitignore: Add doc/mach.aux doc/mach.cp doc/mach.cps doc/mach.fn
                   1817:        doc/mach.fns doc/mach.ky doc/mach.log doc/mach.pdf doc/mach.pg doc/mach.toc
                   1818:        doc/mach.tp doc/mach.vr.
                   1819: 
                   1820: 2015-09-29  Justus Winter  <[email protected]>
                   1821: 
                   1822:        kern/slab: print total used and reclaimable memory
                   1823:        * kern/slab.c (_slab_info): Print total used and reclaimable memory.
                   1824: 
                   1825:        kern/slab: include flags in the slab information
                   1826:        * kern/slab.c (_slab_info): Include flags in the slab information.
                   1827: 
                   1828:        ddb: fix line formatting
                   1829:        * ddb/db_output.c (db_putchar): Fix off-by-one, allowing one more
                   1830:        character to be printed before the newline is inserted.
                   1831: 
                   1832:        ddb: add new command `show slabinfo'
                   1833:        * ddb/db_command.c (db_show_cmds): Add `slabinfo'.
                   1834:        * kern/slab.c (slab_info): Generalize so that it can be used with
                   1835:        different printf-like functions, and turn it into a static function.
                   1836:        (slab_info): New wrapper retaining the old behaviour.
                   1837:        (db_show_slab_info): New wrapper that uses `db_printf' instead.
                   1838:        * kern/slab.h (db_show_slab_info): New declaration.
                   1839: 
                   1840: 2015-09-27  Justus Winter  <[email protected]>
                   1841: 
                   1842:        i386: trace syscalls of a single task
                   1843:        * i386/i386/debug_i386.c (syscall_trace_task): New variable.
                   1844:        (syscall_trace_print): If set, trace only syscalls from this task.
                   1845: 
                   1846:        i386: improve syscall tracing
                   1847:        * kern/syscall_sw.h (mach_trap_t): Turn unused field into `mach_trap_name'.
                   1848:        (MACH_TRAP, MACH_TRAP_STACK): Record name.
                   1849:        * i386/i386/debug_i386.c (syscall_trace_print): Use the name and
                   1850:        format the arguments to look like c.
                   1851: 
                   1852:        Fix build with -DDEBUG
                   1853:        * device/cirbuf.c: Add missing include.
                   1854:        * i386/i386/debug.h (dump_ss): Hide declaration from assembler.
                   1855:        * i386/i386/debug_i386.c: Fix include.
                   1856:        * kern/sched_prim.h: Add missing include, fix declaration.
                   1857: 
                   1858:        kern/bootstrap: drop into the debugger
                   1859:        * kern/bootstrap.c (boot_script_prompt_task_resume): Drop into the
                   1860:        debugger instead of merely waiting for return using `safe_gets', which
                   1861:        disables interrupts, making it impossible to break into the debugger
                   1862:        using the magic keys.
                   1863: 
                   1864: 2015-09-19  Flávio Cruz  <[email protected]>
                   1865: 
                   1866:        Add macros to convert between time_value_t and timespec
                   1867:        * include/mach/time_value.h (TIME_VALUE_TO_TIMESPEC,
                   1868:        TIMESPEC_TO_TIME_VALUE): New macros
                   1869: 
                   1870: 2015-09-07  Justus Winter  <[email protected]>
                   1871: 
                   1872:        kern: use proper memory fences when handling the mapped time
                   1873:        * include/mach/time_value.h (struct mapped_time_value): Adjust comment.
                   1874:        * kern/mach_clock.c (mtime): Likewise.  Also make it volatile.
                   1875:        (update_mapped_time): Use full hardware barriers.
                   1876:        (read_mapped_time): New macro with proper fences.
                   1877:        (record_time_stamp, host_get_time): Use the new macro.
                   1878: 
                   1879: 2015-09-07  Justus Winter  <[email protected]>
                   1880: 
                   1881:        kern: fix loop reading the time value
                   1882:        Previously, recent versions of gcc would hoist the loads out of the
                   1883:        loop reading the time value.
                   1884: 
                   1885:        * kern/macros.h (access_once): New macro.
                   1886:        * kern/mach_clock.c (host_get_time): Use the new macro to prevent the
                   1887:        loads from being hoisted out of the loop.
                   1888: 
                   1889: 2015-09-07  Rik van Riel  <[email protected]>
                   1890: 
                   1891:        commit fce798016c4bd2be89b86b0d343ab54505409412
                   1892:            [PATCH] advansys.c buffer overflow
                   1893: 
                   1894:            The Stanford checker found an error in advansys.c, the driver
                   1895:            is accessing field 6 in an array[6].  Since this is the only
                   1896:            place where this field is accessed it should be safe to simply
                   1897:            remove this line.
                   1898: 
                   1899: 2015-08-31  Samuel Thibault  <[email protected]>
                   1900: 
                   1901:        Reserve 64k at beginning of memory, not just 4k
                   1902:        Linux does this to be extra careful with some BIOSes which apparently
                   1903:        spuriously write between 4k and 64k.
                   1904: 
                   1905:        * i386/i386at/model_dep.c (RESERVED_BIOS): New macro.
                   1906:        (avail_next, mem_size_init, init_alloc_aligned): Use RESERVED_BIOS instead
                   1907:        of hardcoded 0x1000.
                   1908: 
                   1909: 2015-08-30  James Clarke  <[email protected]>
                   1910: 
                   1911:        Fix printk not handling ANSI escape codes
                   1912:        * i386/i386at/kd.c (kdstart): Moved escape sequence handling to new
                   1913:        kd_putc_esc function.
                   1914:        (kd_putc_esc): New function with logic from kdstart.
                   1915:        (kdcnputc): Call kd_putc_esc rather than kd_putc to allow for ANSI
                   1916:        escape codes.
                   1917:        * i386/i386at/kd.h (kd_putc_esc): New function.
                   1918: 
                   1919: 2015-08-28  Flávio Cruz  <[email protected]>
                   1920: 
                   1921:        Make sure the reply port's reference is released when the thread needs to be halted.
                   1922:        * kern/thread.h (thread_halt_self): Add continuation_t parameter.
                   1923:        * kern/thread.c (thread_halt_self): Pass continuation_t parameter to
                   1924:        thread_block instead of thread_exception_return.
                   1925:        * kern/ast.c (ast_taken): Pass thread_exception_return to thread_halt_self.
                   1926:        * kern/profile.c (profile_thread): Likewise.
                   1927:        * kern/exception.c (exception_no_server): Likewise.
                   1928:        (thread_release_and_exception_return): New function.
                   1929:        (exception_raise_continue_slow): Pass thread_release_and_exception_return to
                   1930:        thread_halt_self.
                   1931: 
                   1932: 2015-08-28  Flávio Cruz  <[email protected]>
                   1933: 
                   1934:        Add a thread_no_continuation definition
                   1935:        to replace the use of the NULL pointer.
                   1936: 
                   1937:        * kern/sched_prim.h (thread_no_continuation): New macro.
                   1938:        * kern/machine.c (processor_assign, processor_doaction): Use
                   1939:        thread_no_continuation instead of 0.
                   1940:        * kern/profile.c (send_last_sample_buf): Likewise
                   1941:        * kern/sched_prim.c (thread_sleep, thread_invoke, thread_dispatch):
                   1942:        Likewise.
                   1943:        * kern/task.c (task_terminate, task_assign): Likewise.
                   1944:        * kern/thread.c (thread_suspend): Likewise.
                   1945:        * kern/thread.h (struct thread): Change type of swap_func field to
                   1946:        continuation_t.
                   1947: 
                   1948: 2015-08-20  Justus Winter  <[email protected]>
                   1949: 
                   1950:        kern/bootstrap: tune locking
                   1951:        * kern/bootstrap.c (boot_script_exec_cmd): Avoid holding the lock
                   1952:        across the call to `thread_create'.
                   1953: 
                   1954:        i386: enable assertions
                   1955:        * i386/intel/pmap.c (pmap_page_protect): Enable assertions.
                   1956:        (phys_attribute_clear, phys_attribute_test): Likewise.
                   1957: 
                   1958:        kern: really zero-out unused simple lock info entries
                   1959:        * kern/lock.c (simple_unlock): Really zero-out unused simple lock info
                   1960:        entries.
                   1961: 
                   1962: 2015-08-18  Justus Winter  <[email protected]>
                   1963: 
                   1964:        i386: fix panic message
                   1965:        * i386/intel/pmap.c (pmap_page_protect): Fix function name in panic
                   1966:        message.
                   1967: 
                   1968:        vm: collapse unreachable branch into assertion
                   1969:        * vm/vm_object.c (vm_object_collapse): Collapse unreachable branch
                   1970:        into assertion.
                   1971: 
                   1972: 2015-08-17  Justus Winter  <[email protected]>
                   1973: 
                   1974:        kern: keep track of the writer when debugging locks
                   1975:        * configfrag.ac (MACH_LDEBUG): Adjust comment, we use it to sanity
                   1976:        check all locks now.
                   1977:        * kern/lock.c (lock_write): Keep track of the writer thread.
                   1978:        (lock_done): Clear writer.
                   1979:        (lock_read_to_write): Keep track of the writer thread.
                   1980:        (lock_write_to_read): Assert that the current thread holds the lock.
                   1981:        Clear writer.
                   1982:        (lock_try_write): Keep track of the writer thread.
                   1983:        (lock_try_read_to_write): Likewise.
                   1984:        (lock_set_recursive): Assert that the current thread holds the lock.
                   1985:        * kern/lock.h (struct lock): New field `writer'.
                   1986:        (have_read_lock, have_write_lock, have_lock): New macros that can be
                   1987:        used to assert that the current thread holds the given lock.  If
                   1988:        MACH_LDEBUG is not set, they evaluate to true.
                   1989: 
                   1990: 2015-08-17  Justus Winter  <[email protected]>
                   1991: 
                   1992:        kern: improve simple lock debugging
                   1993:        Do not bother saving the return address when acquire a simple lock.
                   1994:        Save the location as provided by the compiler as string instead.  Also
                   1995:        save the lock parameter.
                   1996: 
                   1997:        * kern/lock.c (struct simple_locks_info): Drop `ra', add `expr', `loc'.
                   1998:        (simple_lock): Rename to `_simple_lock', add expression and location
                   1999:        parameters and save them.
                   2000:        (simple_lock_try): Likewise.
                   2001:        (simple_unlock): Zero-out the now unused slot in the list of taken locks.
                   2002:        (db_show_all_slocks): Use the new information.
                   2003:        * kern/lock.h (simple_lock, simple_lock_try): Provide macro versions
                   2004:        passing the location and expression as string.
                   2005: 
                   2006: 2015-08-17  Justus Winter  <[email protected]>
                   2007: 
                   2008:        kern: disable the simple lock checks while debugging
                   2009:        * kern/lock.c (do_check_simple_locks): New variable.
                   2010:        (check_simple_locks): Make check conditional.
                   2011:        (check_simple_locks_{en,dis}able): New functions.
                   2012:        * kern/lock.h (check_simple_locks_{en,dis}able): New declarations.
                   2013:        * ddb/db_trap.c (db_task_trap): Disable simple lock checks.
                   2014: 
                   2015: 2015-08-15  Justus Winter  <[email protected]>
                   2016: 
                   2017:        vm: fix compiler warning
                   2018:        * vm/vm_user.c (vm_wire): Drop unused but set variable `host'.
                   2019: 
                   2020:        vm: enable extra assertions
                   2021:        * vm/vm_fault.c (vm_fault_page): Enable extra assertions.
                   2022: 
                   2023:        Avoid re-defining macros
                   2024:        * kern/macros.h: Avoid re-defining macros.
                   2025:        * linux/src/include/linux/compiler-gcc.h: Likewise.
                   2026:        * linux/src/include/linux/compiler.h: Likewise.
                   2027: 
                   2028: 2015-07-25  Justus Winter  <[email protected]>
                   2029: 
                   2030:        kern: add boot-time clock, use it for time stamps
                   2031:        The kernel keeps track of task and thread creation times by saving a
                   2032:        time stamp.  Previously, the real-time clock was used for this.  When
                   2033:        the real-time clock is changed, however, the reference frame for the
                   2034:        time stamps is lost.  This surfaced in Hurd systems reporting
                   2035:        spuriously long uptimes.
                   2036: 
                   2037:        Fix this by creating a boot-time clock and use it as reference frame
                   2038:        for the time stamps.
                   2039: 
                   2040:        * kern/mach_clock.c (clock_boottime_offset): Create clock by keeping
                   2041:        track of the offset from the real-time.
                   2042:        (clock_boottime_update): New function.
                   2043:        (record_time_stamp): Use the boot-time clock for time stamps.
                   2044:        (read_time_stamp): New function to convert it back to real-time.
                   2045:        (host_set_time): Call `clock_boottime_update'.
                   2046:        * kern/mach_clock.h (record_time_stamp): Amend comment.
                   2047:        (read_time_stamp): New declaration.
                   2048:        * kern/task.c (task_info): Use `read_time_stamp'.
                   2049:        * kern/thread.c (thread_info): Likewise.
                   2050: 
                   2051: 2015-07-25  Justus Winter  <[email protected]>
                   2052: 
                   2053:        include: provide time-value substraction
                   2054:        * include/mach/time_value.h (time_value_assert): New macro to assert
                   2055:        that the given value is well-formed.
                   2056:        (time_value_add_usec): Use the new macro.
                   2057:        (time_value_sub_usec): New macro.
                   2058:        (time_value_add): Use `time_value_add_usec'.
                   2059:        (time_value_sub_usec): New macro.
                   2060: 
                   2061:        kern/lock: make sure the macros are only used on simple locks
                   2062:        * kern/lock.h (struct slock, simple_lock_data_empty): Add field
                   2063:        `is_a_simple_lock'.
                   2064:        (simple_lock_assert): New macro that tests for `is_a_simple_lock'.
                   2065:        Use this macro to assert that the arguments to various other macros
                   2066:        are indeed simple locks.
                   2067: 
                   2068:        Disable the kernel tracing system XPR
                   2069:        * configfrag.ac (XPR_DEBUG): Disable tracing system.
                   2070: 
                   2071:        ipc/space: inline reference counting
                   2072:        * ipc/ipc_space.h (is_{reference,release}): Use the macro variant.
                   2073: 
                   2074:        Make sure the field offsets are updated
                   2075:        * Makerules.am: Make sure the field offsets are updated.
                   2076: 
                   2077: 2015-07-20  Justus Winter  <[email protected]>
                   2078: 
                   2079:        kern/bootstrap: deallocate thread
                   2080:        Previously, killing the thread would fail because of the extra
                   2081:        reference, making task_terminate loop forever.
                   2082: 
                   2083:        * kern/bootstrap.c (boot_script_exec_command): Deallocate thread.
                   2084: 
                   2085: 2015-07-19  Justus Winter  <[email protected]>
                   2086: 
                   2087:        kern/bootstrap: deallocate task
                   2088:        * kern/bootstrap.c (boot_script_free_task): Deallocate task.
                   2089: 
                   2090: 2015-07-18  Justus Winter  <[email protected]>
                   2091: 
                   2092:        linux/net: fix build with -O0
                   2093:        * linux/src/drivers/net/pci-scan.c: Avoid #erroring out.
                   2094: 
                   2095: 2015-07-18  Justus Winter  <[email protected]>
                   2096: 
                   2097:        kern/printf: do not serialize printf and co
                   2098:        A lot of code assumes that printf is re-entrant, e.g. the pagination
                   2099:        code in the debugger, or any use of assert inside the console driver.
                   2100: 
                   2101:        * kern/printf.c: Drop the lock serializing calls to `_doprnt'.
                   2102:        (printf_init): Remove function.
                   2103:        * kern/printf.h (printf_init): Remove declaration.
                   2104:        * kern/startup.c (setup_main): Remove call to `printf_init'.
                   2105: 
                   2106: 2015-07-18  Justus Winter  <[email protected]>
                   2107: 
                   2108:        kern/lock: use compiler built-in functions to get return address
                   2109:        * kern/lock.c (struct simple_locks_info): Fix type of `ra'.
                   2110:        (simple_lock, simple_lock_try): Use compiler built-in functions to get
                   2111:        return address.
                   2112: 
                   2113:        kern/bootstrap: fix locking
                   2114:        * kern/bootstrap.c (boot_script_exec_cmd): Add missing unlock.
                   2115:        (user_bootstrap): Likewise.
                   2116: 
                   2117:        kern/slab: fix locking
                   2118:        * kern/slab.c (host_slab_info): Fix locking.
                   2119: 
                   2120: 2015-07-15  Justus Winter  <[email protected]>
                   2121: 
                   2122:        ipc: use a general lock to protect IPC spaces
                   2123:        This fixes a corruption in the radix trees representing the IPC spaces
                   2124:        when memory was tight.
                   2125: 
                   2126:        * ipc/ipc_space.h: Use a general lock to protect IPC spaces.
                   2127: 
                   2128: 2015-07-15  Justus Winter  <[email protected]>
                   2129: 
                   2130:        ipc: fix the locking of the IPC entry allocation functions
                   2131:        * ipc/ipc_entry.c (ipc_entry_alloc): Assume the space is write-locked.
                   2132:        (ipc_entry_alloc_name): Likewise.
                   2133:        * ipc/ipc_object.c: Fix the locking around all call sites to the two
                   2134:        functions where the space was not locked before.
                   2135: 
                   2136:        i386: fix typo
                   2137:        * i386/intel/pmap.c: Fix typo.
                   2138: 
                   2139: 2015-07-12  Justus Winter  <[email protected]>
                   2140: 
                   2141:        ipc: avoid kmem_alloc
                   2142:        * ipc/ipc_table.c (ipc_table_alloc): Unconditionally use `kalloc'.
                   2143:        (ipc_table_free): Unconditionally use `kfree'.
                   2144: 
                   2145: 2015-07-12  Justus Winter  <[email protected]>
                   2146: 
                   2147:        vm: really fix traversing the list of inactive pages
                   2148:        Previously, the pageout code traversed the list of pages in an object
                   2149:        instead of the list of inactive pages.
                   2150: 
                   2151:        * vm/vm_pageout.c (vm_pageout_scan): Fix traversing the list of
                   2152:        inactive pages.
                   2153: 
                   2154: 2015-07-11  Justus Winter  <[email protected]>
                   2155: 
                   2156:        kern: make sure the queue macros are only used on queues
                   2157:        This turns mistakes as the one corrected in e59f05e9 into compile-time
                   2158:        errors.
                   2159: 
                   2160:        * kern/queue.h: Add a new macro, queue_assert, and use it to assert
                   2161:        that all arguments given to the queue macros have the correct type.
                   2162:        * device/net_io.c (ENQUEUE_DEAD): Adapt to the fact that
                   2163:        `queue_next(q)' is no longer an lvalue.
                   2164: 
                   2165: 2015-07-11  Justus Winter  <[email protected]>
                   2166: 
                   2167:        vm: fix traversing the list of inactive pages
                   2168:        Previously, the pageout code traversed the hash table chain instead of
                   2169:        the list of inactive pages.  The code merely compiled by accident,
                   2170:        because the `struct page' also has a field called `next' for the hash
                   2171:        table chain.
                   2172: 
                   2173:        * vm/vm_pageout.c (vm_pageout_scan): Fix traversing the list of
                   2174:        inactive pages.
                   2175: 
                   2176: 2015-07-10  Justus Winter  <[email protected]>
                   2177: 
                   2178:        vm: drop debugging remnants
                   2179:        * vm/vm_object.c (vm_object_terminate): Drop debugging remnants.
                   2180: 
                   2181:        kern: make printf handle long long integers
                   2182:        * Makefile.am (clib_routines): Steal `__umoddi3'.
                   2183:        * kern/printf.c (MAXBUF): Increase size.
                   2184:        (printnum, _doprnt): Handle long long integers.
                   2185:        * kern/printf.h (printnum): Adjust declaration.
                   2186: 
                   2187: 2015-07-09  Justus Winter  <[email protected]>
                   2188: 
                   2189:        vm: fix panic message
                   2190:        * vm/vm_kern.c (kmem_init): Fix panic message.
                   2191: 
                   2192:        i386: fix line wrapping in the immediate console
                   2193:        * i386/i386at/immc.c (immc_cnputc): Fix line wrapping.
                   2194: 
                   2195:        kern: remove superfluous file
                   2196:        * kern/server_loop.ch: Remove superfluous file.
                   2197: 
                   2198:        kern: improve error handling
                   2199:        * kern/bootstrap.c (boot_script_exec_cmd): Improve error handling.
                   2200: 
                   2201: 2015-07-09  Samuel Thibault  <[email protected]>
                   2202: 
                   2203:        Allow non-privileged tasks to wire 64KiB task memory
                   2204:        * doc/mach.texi (vm_wire): Document that the host port does not have to be
                   2205:        privileged.
                   2206:        * include/mach/mach_hosts.defs (vm_wire): Use mach_port_t instead of
                   2207:        host_priv_t.
                   2208:        * vm/vm_map.h (vm_map): Add user_wired field.
                   2209:        * vm/vm_map.c (vm_map_setup): Initialize user_wired field to 0.
                   2210:        (vm_map_pageable_common, vm_map_entry_delete, vm_map_copy_overwrite,
                   2211:        vm_map_copyout_page_list, vm_map_copyin_page_list): When switching
                   2212:        user_wired_count field of entry between 0 and non-0, accumulate the
                   2213:        corresponding size into the user_wired field of map.
                   2214:        * vm/vm_user.c (vm_wire): Turn host parameter into port parameter, and
                   2215:        inline a version of convert_port_to_host_priv which records whether the host
                   2216:        port is privileged or not.  When it is not privileged, check whether
                   2217:        the additional amount to user_wired will overcome 64KiB.
                   2218: 
                   2219: 2015-07-07  Samuel Thibault  <[email protected]>
                   2220: 
                   2221:        Fix build with -O0
                   2222:        * linux/src/include/linux/string.h (strcpy, strncpy, strcat, strncat,
                   2223:        strchr, strrchr, strlen, strnlen, strcmp, strncmp, memmove,
                   2224:        memscan): Comment out extern declarations.
                   2225:        * linux/dev/include/asm-i386/string.h (strcpy, strncpy, strcat, strncat,
                   2226:        strcmp, strncmp, strchr, strrchr, strlen, __memcpy, __constant_memcpy,
                   2227:        memmove, memchr, __memset_generic, __constant_c_memset, strnlen,
                   2228:        __constant_c_and_count_memset, memscan): Turn extern inline into static
                   2229:        inline.
                   2230:        * linux/dev/include/linux/fs.h (mark_buffer_uptodate): Likewise.
                   2231:        * linux/src/include/asm-i386/bitops.h (set_bit, clear_bit, change_bit,
                   2232:        test_and_set_bit, test_and_clear_bit, test_and_change_bit, test_bit,
                   2233:        find_first_zero_bit, find_next_zero_bit, ffz, ffs): Likewise.
                   2234:        * linux/src/include/asm-i386/io.h (virt_to_phys, phys_to_virt, __out##s,
                   2235:        __in##s, ins##s, outs##s): Likewise.
                   2236:        * linux/src/include/asm-i386/semaphore.h (down, down_interruptible, up):
                   2237:        Likewise.
                   2238:        * linux/src/include/asm-i386/segment.h [!__OPTIMIZE]: Emit an ud2 instruction
                   2239:        instead of an undefined reference.
                   2240: 
                   2241: 2015-07-05  Samuel Thibault  <[email protected]>
                   2242: 
                   2243:        Add missing distributed file
                   2244:        * Makefrag.am (EXTRA_DIST): Add ipc/notify.defs.
                   2245: 
                   2246: 2015-06-30  Justus Winter  <[email protected]>
                   2247: 
                   2248:        Fix re-configuring out-of-tree builds
                   2249:        Previously, running `../configure ...' to reconfigure an out-of-tree
                   2250:        build would link `machine' to `i386/i386' instead of `../i386/i386'
                   2251:        (i.e. point to the build directory instead to the source) if
                   2252:        `i386/i386' also exists in the build directory because of a previous
                   2253:        build.
                   2254: 
                   2255:        * configfrag.ac: Prefix machine link target with `$srcdir'.
                   2256: 
                   2257: 2015-06-30  Samuel Thibault  <[email protected]>
                   2258: 
                   2259:        Fix restoring interrupts on timeout
                   2260:        * linux/dev/drivers/block/ahci.c (ahci_identify): Restore flags before
                   2261:        returning on timeout.
                   2262: 
                   2263: 2015-06-29  Samuel Thibault  <[email protected]>
                   2264: 
                   2265:        Print about powered-down AHCI ports
                   2266:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Print messages when
                   2267:        device is present but powered down.
                   2268: 
                   2269: 2015-06-28  Justus Winter  <[email protected]>
                   2270: 
                   2271:        ddb: automatically display stack traces
                   2272:        * ddb/db_trap.c (db_task_trap): Automatically display stack traces if
                   2273:        an unexpected trap occurs.
                   2274: 
                   2275: 2015-06-28  Justus Winter  <[email protected]>
                   2276: 
                   2277:        i386: improve the immediate console
                   2278:        Improve the immediate console to the point that it can be enabled and
                   2279:        display e.g. assertion failures from very early on (i.e. from
                   2280:        `c_boot_entry').
                   2281: 
                   2282:        * device/cons.h (romgetc, romputc): New declarations.
                   2283:        * i386/configfrag.ac: Add configuration variable.
                   2284:        * i386/i386at/conf.c (dev_name_list): Add entry.
                   2285:        * i386/i386at/cons_conf.c (constab): Add entry.
                   2286:        * i386/i386at/immc.c: Add missing includes.
                   2287:        (immc_cnprobe, immc_cninit, immc_cngetc, immc_romputc): New functions.
                   2288:        (immc_cnputc): Fix signature, use virtual addresses.
                   2289:        * i386/i386at/immc.h: New file.
                   2290:        * i386/i386at/kd.c: Use `#if ENABLE_IMMEDIATE_CONSOLE'.
                   2291:        * i386/i386at/kd.h (kd_setpos): Add missing declaration.
                   2292:        * i386/i386at/model_dep.c (c_boot_entry): Install immediate console as
                   2293:        early boot console.
                   2294: 
                   2295: 2015-06-26  Justus Winter  <[email protected]>
                   2296: 
                   2297:        i386: add comment
                   2298:        * i386/i386at/model_dep.c (rebootflag): Explain flag.
                   2299: 
                   2300: 2015-06-20  Justus Winter  <[email protected]>
                   2301: 
                   2302:        kern: fix error handling
                   2303:        This avoids calling `thread_deallocate' with an uninitialized value,
                   2304:        as found by the Clang Static Analyzer.
                   2305: 
                   2306:        * kern/thread.c (kernel_thread): Fix error handling.
                   2307: 
                   2308: 2015-06-09  Justus Winter  <[email protected]>
                   2309: 
                   2310:        kern: add function attributes to the printf-functions
                   2311:        * kern/printf.h (sprintf, snprintf, vsnprintf, printf): Add the
                   2312:        `printf' function attribute that allows the compiler to check the
                   2313:        format strings and arguments.
                   2314: 
                   2315: 2015-06-05  Flávio Cruz  <[email protected]>
                   2316: 
                   2317:        Fix typo
                   2318:        * vm/vm_kern.c (kmem_alloc_aligned): Fix typo.
                   2319: 
                   2320:        Use custom port macros.
                   2321:        * ipc/ipc_port.c (ipc_port_alloc_special): Use ip_alloc and ip_lock_init
                   2322:        macros instead of manually inlining them.
                   2323: 
                   2324: 2015-05-31  Justus Winter  <[email protected]>
                   2325: 
                   2326:        ipc: fix typo
                   2327:        * ipc/notify.defs: Fix typo.
                   2328: 
                   2329:        Include the notify protocol in `gnumach.msgids'
                   2330:        * Makefrag.am (gnumach.msgids): Add `notify.msgids' as prerequisite.
                   2331:        * Makerules.mig.am: Add rule to generate the list of message ids when
                   2332:        neither the client nor the server stubs are required.
                   2333:        * ipc/notify.defs: New file.
                   2334: 
                   2335: 2015-05-29  Justus Winter  <[email protected]>
                   2336: 
                   2337:        kern: fix argument handling
                   2338:        Previously, the processor argument was not checked.  If called with a
                   2339:        non-processor argument (like a task), `processor' is set to NULL,
                   2340:        triggering a page fault.  Likewise for the other functions.
                   2341: 
                   2342:        * kern/processor.c (processor_get_assignment): Fix argument handling.
                   2343:        * kern/task.c (task_get_assignment): Likewise.
                   2344:        * kern/thread.c (thread_get_assignment): Likewise.
                   2345: 
                   2346: 2015-05-23  Justus Winter  <[email protected]>
                   2347: 
                   2348:        Restrict `-fno-strict-aliasing' to the Linux drivers
                   2349:        * Makefile.am: Move `-fno-strict-aliasing'...
                   2350:        * linux/Makefrag.am: ... here.
                   2351: 
                   2352:        i386: avoid breaking the strict-aliasing rules
                   2353:        * i386/i386/pcb.c (switch_ktss): Cleanly convert the value.
                   2354: 
                   2355:        kern: avoid breaking the strict-aliasing rules
                   2356:        * kern/exception.c (exception_parse_reply): Use `BAD_TYPECHECK'.
                   2357: 
                   2358:        vm: drop unused `kmem_realloc'
                   2359:        * vm/vm_kern.c (kmem_realloc): Remove function.
                   2360:        (kmem_alloc_wired): Adopt comment.
                   2361:        * vm/vm_kern.h (kmem_realloc): Remove declaration.
                   2362: 
                   2363: 2015-05-23  Samuel Thibault  <[email protected]>
                   2364: 
                   2365:        Add stdint integer types in Linux glue
                   2366:        * linux/dev/include/linux/types.h (int8_t, uint8_t, int16_t, uint16_t,
                   2367:        int32_t, uint32_t, int64_t, uint64_t): New types.
                   2368: 
                   2369: 2015-05-22  Justus Winter  <[email protected]>
                   2370: 
                   2371:        ipc: drop remnants of the IPC tables
                   2372:        * ipc/ipc_table.c (ipc_table_entries): Remove.
                   2373:        (ipc_table_entries_size): Likewise.
                   2374:        (ipc_table_init): Remove initialization of `ipc_table_entries'.
                   2375:        (ipc_table_realloc): Remove function.
                   2376:        * ipc/ipc_table.h: Adjust comments.
                   2377:        (ipc_table_entries): Remove declaration.
                   2378:        (ipc_table_realloc): Likewise.
                   2379:        (it_entries_{alloc,reallocable,realloc,free}): Remove macros.
                   2380: 
                   2381:        ipc: drop size parameter from `ipc_space_create'
                   2382:        * ipc/ipc_space.c (ipc_space_create): Drop size parameter.
                   2383:        * ipc/ipc_space.h (ipc_space_create): Adopt declaration, fix comment.
                   2384:        * kern/ipc_tt.c (ipc_task_init): Adopt accordingly.
                   2385: 
                   2386: 2015-05-20  Justus Winter  <[email protected]>
                   2387: 
                   2388:        ipc: inline key ipc entry lookup functions
                   2389:        Declare functions looking up IPC entries that were previously inlined
                   2390:        manually with `static inline' so that they will be inlined into the
                   2391:        fast paths by the compiler.
                   2392: 
                   2393:        * ipc/ipc_entry.c (ipc_entry_lookup, ipc_entry_get,
                   2394:        ipc_entry_dealloc): Move functions...
                   2395:        * ipc/ipc_space.h: ... here, and declare them as `static inline'.
                   2396:        * ipc/ipc_entry.h: Drop associated declarations.
                   2397: 
                   2398: 2015-05-20  Justus Winter  <[email protected]>
                   2399: 
                   2400:        ipc: replace the IPC table with a radix tree
                   2401:        Currently, the port names are mapped to an IPC object (e.g. a port)
                   2402:        using a table.  This, however, requires large chunks of continuous
                   2403:        memory, and leads to scalability problems as virtual kernel memory is
                   2404:        a scarce resource.  To avoid excessive overhead, non-contiguous port
                   2405:        names are spilled into a splay tree.
                   2406: 
                   2407:        Replace the IPC table with a radix tree.  As the radix tree is able to
                   2408:        store non-contiguous names with reasonable overhead, we can drop the
                   2409:        splay tree as well.
                   2410: 
                   2411:        * ipc/ipc_entry.c (ipc_entry_tree_collision): Remove function.
                   2412:        (ipc_entry_cache): New variable.
                   2413:        (ipc_entry_lookup): Replace with a radix tree lookup.
                   2414:        (ipc_entry_get): The free list handling is changed a little.  Adopt
                   2415:        accordingly.
                   2416:        (ipc_entry_free_name): New function.
                   2417:        (ipc_entry_alloc): Adopt accordingly.
                   2418:        (ipc_entry_alloc_name): Likewise.
                   2419:        (ipc_entry_dealloc): Likewise.
                   2420:        (ipc_entry_grow_table): Remove function.
                   2421:        * ipc/ipc_entry.h (struct ipc_entry): Update comment, add field for
                   2422:        name and free list, remove unused fields.
                   2423:        (ipc_entry_cache, ie_alloc, ie_free): New declarations.
                   2424:        (struct ipc_tree_entry): Remove.  Also remove any related declarations.
                   2425:        (ipc_entry_grow_table): Remove declaration.
                   2426:        * ipc/ipc_init.c (ipc_bootstrap): Adopt initialization.
                   2427:        * ipc/ipc_kmsg.c (ipc_kmsg_copyout_header): Use `ipc_entry_alloc'
                   2428:        instead of re-coding it.  Adopt free list handling.
                   2429:        (ipc_kmsg_copyout_object): Adopt free list handling, store the name.
                   2430:        * ipc/ipc_object.c (ipc_object_copyout): Likewise.
                   2431:        (ipc_object_copyout_multiname): Likewise.
                   2432:        * ipc/ipc_space.c (ipc_space_create): Initialize radix tree and free list.
                   2433:        Drop table and splay tree initialization.
                   2434:        (ipc_space_destroy): Free ipc entries and radix tree, remove table and
                   2435:        splay tree cleanup.
                   2436:        * ipc/ipc_space.h (struct ipc_space): Add radix tree, free list, and size.
                   2437:        Remove all fields related to the table and splay tree.
                   2438:        * ddb/db_print.c (db_port_iterate): Adopt iteration.
                   2439:        (db_lookup_port): Adopt lookup.
                   2440:        * include/mach_debug/ipc_info.h: Remove unused parts of the debug interface.
                   2441:        * include/mach_debug/mach_debug.defs: Likewise.
                   2442:        * include/mach_debug/mach_debug_types.defs: Likewise.
                   2443:        * ipc/mach_debug.c: Likewise.
                   2444:        * ipc/ipc_right.c (ipc_right_reverse): Adopt lookup, store name.
                   2445:        (ipc_right_check): Adopt removal.
                   2446:        (ipc_right_destroy): Likewise.
                   2447:        (ipc_right_dealloc): Likewise.
                   2448:        (ipc_right_delta): Likewise.
                   2449:        (ipc_right_copyin): Adopt insertion, adopt removal.
                   2450:        (ipc_right_copyin_two): Adopt removal.
                   2451:        (ipc_right_copyout): Adopt insertion, adopt removal.
                   2452:        (ipc_right_rename): Likewise, also update comment.
                   2453:        * ipc/mach_port.c (mach_port_names): Adopt iteration.
                   2454:        (mach_port_get_set_status): Likewise.
                   2455:        * ipc/port.h: Update comment.
                   2456:        * ipc/ipc_hash.c: Delete file.
                   2457:        * ipc/ipc_hash.h: Likewise.
                   2458:        * ipc/ipc_splay.c: Likewise.
                   2459:        * ipc/ipc_splay.h: Likewise.
                   2460:        * Makefrag.am (libkernel_a_SOURCES): Remove these files.
                   2461: 
                   2462: 2015-05-20  Justus Winter  <[email protected]>
                   2463: 
                   2464:        ipc: replace reverse hash table with a radix tree
                   2465:        Currently, there is a hash table mapping (space, object) tuples to
                   2466:        `ipc_entry' objects.  This hash table is intertwined with the IPC
                   2467:        tables.  There is one hash table per IPC space, but it is only for the
                   2468:        entries in the IPC table.  This hash table is called `local' in the
                   2469:        source.  All IPC entries being spilled into the splay tree are instead
                   2470:        mapped by a global hash table.
                   2471: 
                   2472:        Replace the local (i.e. per IPC space) reverse hash table with a radix
                   2473:        tree.
                   2474: 
                   2475:        * ipc/ipc_entry.c (ipc_entry_grow_table): Adjust accordingly.
                   2476:        * ipc/ipc_entry.h (struct ipc_entry): Adjust comment.
                   2477:        * ipc/ipc_hash.c: Adjust comment explaining the local lookup table.
                   2478:        (IPC_LOCAL_HASH_INVARIANT): New macro.
                   2479:        (ipc_hash_local_lookup): Use the new `ipc_reverse_lookup' function.
                   2480:        (ipc_hash_local_insert): Use the new `ipc_reverse_insert' function.
                   2481:        (ipc_hash_local_delete): Use the new `ipc_reverse_remove' function.
                   2482:        * ipc/ipc_space.c (ipc_space_create): Initialize radix tree.
                   2483:        (ipc_space_destroy): Free radix tree.
                   2484:        * ipc/ipc_space.h (struct ipc_space): Add radix tree.
                   2485:        (ipc_reverse_insert): New function.
                   2486:        (ipc_reverse_remove): Likewise.
                   2487:        (ipc_reverse_remove_all): Likewise.
                   2488:        (ipc_reverse_lookup): Likewise.
                   2489:        * ipc/ipc_right.c (ipc_right_clean): Update comment.
                   2490: 
                   2491: 2015-05-20  Justus Winter  <[email protected]>
                   2492: 
                   2493:        ipc: undo manual inlining of `ipc_entry_X' functions
                   2494:        Today we can rely on the compiler to inline functions.  Undoing this
                   2495:        manual optimization is a first step to replace the IPC tables.
                   2496: 
                   2497:        * ipc/mach_msg.c (mach_msg_trap): Undo the manual inlining of
                   2498:        `ipc_entry_lookup', `ipc_entry_dealloc', and `ipc_entry_get'.
                   2499:        * ipc/ipc_kmsg.c (ipc_kmsg_copyin_header, ipc_kmsg_copyout_header): Likewise.
                   2500:        * kern/exception.c (exception_raise): Likewise.
                   2501:        * kern/ipc_mig.c (fast_send_right_lookup): Likewise.
                   2502: 
                   2503: 2015-05-20  Justus Winter  <[email protected]>
                   2504: 
                   2505:        kern: add radix tree library
                   2506:        Import a radix tree library from Richard Braun's librbraun.
                   2507: 
                   2508:        * Makefile.am (clib_routines): Steal `__ffsdi2'.
                   2509:        * Makefrag.am (libkernel_a_SOURCES): Add new files.
                   2510:        * kern/rdxtree.c: New file.
                   2511:        * kern/rdxtree.h: Likewise.
                   2512:        * kern/rdxtree_i.h: Likewise.
                   2513:        * kern/startup.c (setup_main): Initialize radix tree library.
                   2514: 
                   2515: 2015-05-20  Justus Winter  <[email protected]>
                   2516: 
                   2517:        kern: gracefully handle resource shortage
                   2518:        * kern/thread.c (stack_alloc): Report resource shortage.
                   2519:        * kern/sched_prim.h (stack_alloc): Adjust declaration accordingly.
                   2520:        * kern/thread_swap.c (thread_doswapin): Report resource shortage.
                   2521:        (swapin_thread_continue): If the swap-in fails, put the thread back on
                   2522:        the queue and go back to sleep.
                   2523:        * kern/thread_swap.h (thread_doswapin): Adjust declaration accordingly.
                   2524: 
                   2525:        vm: gracefully handle resource shortage
                   2526:        * vm/vm_object.c (vm_object_copy_call): Gracefully handle resource
                   2527:        shortage by doing the allocation earlier and aborting the function if
                   2528:        unsuccessful.
                   2529: 
                   2530:        kern: gracefully handle resource shortage
                   2531:        * kern/task.c (task_create): Gracefully handle resource shortage.
                   2532: 
                   2533: 2015-05-19  Justus Winter  <[email protected]>
                   2534: 
                   2535:        kern: import `macros.h' from x15
                   2536:        Import the macro definitions from the x15 kernel project, and replace
                   2537:        all similar definitions littered all over the place with it.
                   2538: 
                   2539:        Importing this file will make importing code from the x15 kernel
                   2540:        easier.  We are already using the red-black tree implementation and
                   2541:        the slab allocator from it, and we will import even more code in the
                   2542:        near future.
                   2543: 
                   2544:        * kern/list.h: Do not define `structof', include `macros.h' instead.
                   2545:        * kern/rbtree.h: Likewise.
                   2546:        * kern/slab.c: Do not define `ARRAY_SIZE', include `macros.h' instead.
                   2547:        * i386/grub/misc.h: Likewise.
                   2548:        * i386/i386/xen.h: Do not define `barrier', include `macros.h' instead.
                   2549:        * kern/macro_help.h: Delete file.  Replaced by `macros.h'.
                   2550:        * kern/macros.h: New file.
                   2551:        * Makefrag.am (libkernel_a_SOURCES): Add new file, remove old file.
                   2552:        * device/dev_master.h: Adopt accordingly.
                   2553:        * device/io_req.h: Likewise.
                   2554:        * device/net_io.h: Likewise.
                   2555:        * i386/intel/read_fault.c: Likewise.
                   2556:        * ipc/ipc_kmsg.h: Likewise.
                   2557:        * ipc/ipc_mqueue.h: Likewise.
                   2558:        * ipc/ipc_object.h: Likewise.
                   2559:        * ipc/ipc_port.h: Likewise.
                   2560:        * ipc/ipc_space.h: Likewise.
                   2561:        * ipc/ipc_splay.c: Likewise.
                   2562:        * ipc/ipc_splay.h: Likewise.
                   2563:        * kern/assert.h: Likewise.
                   2564:        * kern/ast.h: Likewise.
                   2565:        * kern/pc_sample.h: Likewise.
                   2566:        * kern/refcount.h: Likewise.
                   2567:        * kern/sched.h: Likewise.
                   2568:        * kern/sched_prim.c: Likewise.
                   2569:        * kern/timer.c: Likewise.
                   2570:        * kern/timer.h: Likewise.
                   2571:        * vm/vm_fault.c: Likewise.
                   2572:        * vm/vm_map.h: Likewise.
                   2573:        * vm/vm_object.h: Likewise.
                   2574:        * vm/vm_page.h: Likewise.
                   2575: 
                   2576: 2015-05-17  Justus Winter  <[email protected]>
                   2577: 
                   2578:        i386: avoid compiler warning
                   2579:        * i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys,
                   2580:        copy_from_phys): Avoid compiler warning about `map' being used
                   2581:        uninitialized.
                   2582: 
                   2583: 2015-05-14  Justus Winter  <[email protected]>
                   2584: 
                   2585:        i386: use macro to compute address of saved registers
                   2586:        * i386/i386/pcb.c (stack_attach): Use `USER_REGS'.
                   2587:        (stack_handoff): Likewise.
                   2588: 
                   2589: 2015-05-02  Samuel Thibault  <[email protected]>
                   2590: 
                   2591:        Fix semaphore failure path special calling convention
                   2592:        * linux/src/include/asm-i386/semaphore.h (down): Pass semaphore address to
                   2593:        down_failed through ecx.
                   2594:        (down_interruptible): Likewise to down_failed_interruptible.
                   2595:        (up): Likewise to up_wakeup.
                   2596: 
                   2597: 2015-05-02  Justus Winter  <[email protected]>
                   2598: 
                   2599:        kern: fix comment
                   2600:        * kern/rbtree.h: Fix comment.
                   2601: 
                   2602: 2015-05-02  Samuel Thibault  <[email protected]>
                   2603: 
                   2604:        Fix warning
                   2605:        * i386/i386at/rtc.c (rtcget, rtcput): Make functions take an rtc_st
                   2606:        structure which it casts to char * itself.
                   2607: 
                   2608:        Fix warnings
                   2609:        * device/ds_routines.c (device_open, ds_open_done, device_close,
                   2610:        device_write, device_write_inband, ds_write_done, device_read,
                   2611:        device_read_inband, ds_read_done, device_set_status, mach_device_get_status,
                   2612:        device_set_filter, device_map, ds_no_senders): Convert from K&R declaration,
                   2613:        fix type of `device' into void*.
                   2614: 
                   2615:        Fix block_io_mmap prototype
                   2616:        * device/blkio.c (block_io_mmap): Fix prototype of dummy function.
                   2617:        * device/blkio.h (block_io_mmap): Likewise.
                   2618: 
                   2619: 2015-05-01  Samuel Thibault  <[email protected]>
                   2620: 
                   2621:        Use gnu89 inline style
                   2622:        * Makefile.am (AM_CFLAGS): Add -fgnu89-inline option.
                   2623: 
                   2624: 2015-05-01  Samuel Thibault  <[email protected]>
                   2625: 
                   2626:        Replace clobbers with earlyclobbers
                   2627:        Newer gccs consider the former "impossible"
                   2628: 
                   2629:        * linux/src/include/asm-i386/bitops.h (find_first_zero_bit): Replace
                   2630:        clobbers with earlyclobbers.
                   2631:        * linux/src/include/asm-i386/semaphore.h (down, down_interruptible, up):
                   2632:        Likewise.
                   2633: 
                   2634: 2015-04-30  Samuel Thibault  <[email protected]>
                   2635: 
                   2636:        Fix build with gcc-5
                   2637:        * linux/src/include/linux/compiler-gcc5.h: New file.
                   2638: 
                   2639: 2015-04-24  Justus Winter  <[email protected]>
                   2640: 
                   2641:        kern: avoid hardcoding the lowest priority
                   2642:        The number of priorities has been changed from 32 to 50 in
                   2643:        6a234201081156e6d5742e7eeabb68418b518fad.
                   2644: 
                   2645:        * kern/syscall_subr.c (thread_depress_priority): Avoid hardcoding the
                   2646:        lowest priority.
                   2647: 
                   2648: 2015-04-23  Justus Winter  <[email protected]>
                   2649: 
                   2650:        kern: disable stack allocation counters by default
                   2651:        Disable the stack allocation counters by default.  Casual checking
                   2652:        revealed that the hits-to-miss ratio is excellent.
                   2653: 
                   2654:        * kern/thread.c (stack_alloc_{hits,misses,max}): Move variables...
                   2655:        * kern/counters.c: ... here, and add the usual counter prefix.
                   2656:        * kern/counters.h: New declarations.
                   2657: 
                   2658: 2015-04-23  Samuel Thibault  <[email protected]>
                   2659: 
                   2660:        Avoid accessing ip_protected_payload without the lock.
                   2661:        * ipc/ipc_kmsg.c (ipc_kmsg_copyout_header): Avoid accessing
                   2662:        dest->ip_protected_payload without the lock.
                   2663:        * ipc/mach_msg.c (ipc/mach_msg.c): Avoid accessing
                   2664:        dest_port->ip_protected_payload without the lock.
                   2665: 
                   2666:        Prepend 0x to hexadecimal offset
                   2667:        * i386/i386/db_trace.c (db_i386_stack_trace): Prepend 0x to hexadecimal offset.
                   2668: 
1.1.1.7   root     2669: 2015-04-10  Thomas Schwinge  <[email protected]>
                   2670: 
                   2671:        GNU Mach 1.5.
                   2672:        * version.m4 (AC_PACKAGE_VERSION): Set to 1.5.
                   2673:        * NEWS: Finalize for 1.5.
                   2674: 
                   2675: 2015-03-19  Samuel Thibault  <[email protected]>
                   2676: 
                   2677:        Give the Debian package name for the non-multilib libc.a
                   2678:        * Makefile.am (clib-routines.o): Mention the Debian libc6-dev:i386 package.
                   2679: 
                   2680: 2015-03-08  Samuel Thibault  <[email protected]>
                   2681: 
                   2682:        Remove spl debugging in Xen case
                   2683:        xen cli/sti doesn't use IF
                   2684: 
                   2685:        * i386/i386/spl.S [MACH_XEN]: Disable IF check.
                   2686: 
                   2687: 2015-03-05  Samuel Thibault  <[email protected]>
                   2688: 
                   2689:        Show odd number of ports
                   2690:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Show odd number of ports.
                   2691: 
                   2692: 2015-02-26  Samuel Thibault  <[email protected]>
                   2693: 
                   2694:        Use printf_once instead of recoding it
                   2695:        * i386/i386at/kd_event.c: Call printf_once instead of recoding it.
                   2696:        * i386/i386at/kd_mouse.c: Likewise.
                   2697: 
                   2698:        Limit printing "queue full" messages
                   2699:        * i386/i386at/kd_event.c (kbd_enqueue): Print "queue full" warning only
                   2700:        once.
                   2701:        * i386/i386at/kd_mouse.c (mouse_enqueue): Likewise.
                   2702: 
                   2703: 2015-02-25  Justus Winter  <[email protected]>
                   2704: 
                   2705:        kern: inherit the name of the parent task
                   2706:        * kern/task.c (task_create): Inherit the name of the parent task.
                   2707: 
                   2708: 2015-02-20  Justus Winter  <[email protected]>
                   2709: 
                   2710:        i386: specialize `copyinmsg' and `copyoutmsg'
                   2711:        Previously, `copyinmsg' was the same function as `copyin'.  The former
                   2712:        is for messages, and the size of messages is a multiple of four.
                   2713:        Likewise for `copyoutmsg'.
                   2714: 
                   2715:        Provide a specialized version of both functions.  This shaves off a
                   2716:        couple of instructions and improves our IPC performance.
                   2717: 
                   2718:        * i386/i386/locore.S (copyinmsg): New function.
                   2719:        (copyoutmsg): New function.
                   2720: 
                   2721: 2015-02-20  Justus Winter  <[email protected]>
                   2722: 
                   2723:        i386: drop needless instruction from `copyout'
                   2724:        * i386/i386/locore.S (copyout): Do not needlessly copy length to %eax
                   2725:        first.
                   2726: 
                   2727: 2015-02-20  Justus Winter  <[email protected]>
                   2728: 
                   2729:        kern: improve assert
                   2730:        Use the ternary operator to implement `assert' like it is done in the
                   2731:        glibc.  The glibcs changelog does not mention the rationale behind
                   2732:        this change, but doing the same seems to improve our IPC performance.
                   2733: 
                   2734:        * kern/assert.h (assert): Define macro using the ternary operator.
                   2735: 
                   2736: 2015-02-20  Justus Winter  <[email protected]>
                   2737: 
                   2738:        linux: fix compiler warning
                   2739:        If the loop above completes at least one iteration, `i' will be larger
                   2740:        than zero.
                   2741: 
                   2742:        * linux/dev/glue/block.c (rdwr_full): Add assertion to appease the
                   2743:        compiler.
                   2744: 
                   2745: 2015-02-20  Justus Winter  <[email protected]>
                   2746: 
                   2747:        kern: reduce the size of `struct thread'
                   2748:        Reduce the size of `struct thread' by twelve bytes making it fit into
                   2749:        exactly five cache lines (on 32-bit platforms).
                   2750: 
                   2751:        * kern/thread.h (struct thread): Group the state and all flags in a
                   2752:        bitfield.
                   2753:        (TH_EV_WAKE_ACTIVE, TH_EV_STATE): Provide macros that generate keys
                   2754:        for synchronization primitives like `thread_wakeup'.
                   2755:        * kern/thread.c (thread_halt, thread_dowait, thread_suspend): Use the
                   2756:        new keys instead of addresses of fields for the synchronisation.
                   2757:        * kern/ipc_sched.c (thread_handoff): Likewise.
                   2758:        * kern/sched_prim.c (thread_invoke, thread_dispatch): Likewise.
                   2759: 
                   2760: 2015-02-18  Justus Winter  <[email protected]>
                   2761: 
                   2762:        kern: avoid #if 0ing out thread_collect_scan
                   2763:        Currently, `thread_collect_scan' does nothing because `pcb_collect' is
                   2764:        a nop.  Its body is exempt from compilation by means of the
                   2765:        preprocessor.
                   2766: 
                   2767:        This is unfortunate as it increases the risk of bitrot, and we still
                   2768:        need to pay the price of rate-limiting thread_collect_scan.
                   2769: 
                   2770:        * kern/thread.c (thread_collect_scan): Drop #if 0 around the body.
                   2771:        * vm/vm_pageout.c (vm_pageout_scan): Do not call
                   2772:        `consider_thread_collect' and document why.
                   2773: 
                   2774: 2015-02-18  Justus Winter  <[email protected]>
                   2775: 
                   2776:        vm: fix typo
                   2777:        * vm/vm_resident.c: Fix typo.
                   2778: 
                   2779: 2015-01-22  Justus Winter  <[email protected]>
                   2780: 
                   2781:        ipc: warn about more port management bugs
                   2782:        * ipc/mach_port.c (mach_port_destroy): Simplify expression.  Reword warning.
                   2783:        (mach_port_deallocate): Likewise.
                   2784:        (mach_port_mod_refs): Also warn about errors when using this function.
                   2785: 
                   2786: 2015-01-02  Stefan Weil  <[email protected]>
                   2787: 
                   2788:        vm: Fix typo in comment (found by codespell)
                   2789: 
                   2790:        kern: Fix typos in comments (found by codespell)
                   2791: 
                   2792:        ipc: Fix typo in comment (found by codespell)
                   2793: 
                   2794:        include: Fix typos in comments (found by codespell)
                   2795: 
                   2796:        i386: Fix typos in comments (found by codespell)
                   2797: 
                   2798:        device: Fix typos in comments (found by codespell)
                   2799: 
                   2800:        Makefile.am: Fix typos and grammar in comment
                   2801: 
                   2802:        ddb: Fix typos in comments (found by codespell)
                   2803: 
                   2804: 2015-01-02  Samuel Thibault  <[email protected]>
                   2805: 
                   2806:        Handle kernel traps happening before starting userland
                   2807:        * i386/i386/trap.c (kernel_trap): When current_thread is null, assume that
                   2808:        we are in kernel land.
                   2809: 
                   2810: 2014-12-16  Justus Winter  <[email protected]>
                   2811: 
                   2812:        kern: gracefully handle bogus sample pc sequence number
                   2813:        If a sequence number larger than the sample control sequence number is
                   2814:        supplied, `nsamples' becomes negative.  Handle this gracefully.
                   2815: 
                   2816:        * kern/pc_sample.c (get_sampled_pcs): Handle bogus sequence number.
                   2817: 
                   2818: 2014-12-16  Justus Winter  <[email protected]>
                   2819: 
                   2820:        ipc: guard test code with `MACH_IPC_TEST'
                   2821:        * ipc/ipc_kmsg.h (ikm_mark_bogus): New macro.
                   2822:        (ipc_kmsg_rmqueue_first_macro): Use `ikm_mark_bogus'.
                   2823:        * ipc/ipc_kmsg.c (ipc_kmsg_rmqueue): Likewise.
                   2824: 
                   2825: 2014-12-16  Justus Winter  <[email protected]>
                   2826: 
                   2827:        ipc: tune size of cached kernel message buffers
                   2828:        The previous limit was 256 bytes.  That seems a little crummy by
                   2829:        todays standards, and we are frequently sending bigger packets
                   2830:        (e.g. every RPC containing a string_t on Hurd).
                   2831: 
                   2832:        Use the page size for IKM_SAVED_KMSG_SIZE to make sure the page is
                   2833:        pinned to a single processor.
                   2834: 
                   2835:        * ipc/ipc_kmsg.h (IKM_SAVED_KMSG_SIZE): Define to `PAGE_SIZE'.
                   2836: 
                   2837: 2014-12-15  Samuel Thibault  <[email protected]>
                   2838: 
                   2839:        Make spl7 just clear IF instead of setting the PIC mask
                   2840:        * i386/i386/spl.S (spl7): Just set curr_ipl and cli.
                   2841:        (splx) [MACH_KDB || MACH_TTD]: When curr_ipl is 7, make sure that IF is cleared.
                   2842:        (splx): When staying at ipl7, do not enable interrupts.
                   2843:        (spl) [MACH_KDB || MACH_TTD]: When curr_ipl is 7, make sure that IF is cleared.
                   2844:        (spl): When new ipl is 7, branch to spl7.
                   2845:        * i386/i386/locore.S (TIME_TRAP_UENTRY, TIME_TRAP_SENTRY): Save flags, and
                   2846:        restore them instead of blindly using sti.
                   2847: 
                   2848: 2014-12-11  Samuel Thibault  <[email protected]>
                   2849: 
                   2850:        Ship missing file
                   2851:        * Makefrag.am (EXTRA_DIST): Add kern/task_notify.cli.
                   2852: 
                   2853: 2014-12-09  Justus Winter  <[email protected]>
                   2854: 
                   2855:        include: add X_IMPORTS to ipc definitions
                   2856:        This makes it possible to inject imports.
                   2857: 
                   2858:        * include/mach/gnumach.defs: Make it possible to inject imports.
                   2859:        * include/mach/mach.defs: Likewise.
                   2860:        * include/mach/mach_host.defs: Likewise.
                   2861: 
                   2862: 2014-12-09  Justus Winter  <[email protected]>
                   2863: 
                   2864:        kern: provide notifications about new tasks
                   2865:        These notifications are sent to the port registered via
                   2866:        `register_new_task_notification' and provide a robust parental
                   2867:        relation between tasks to a userspace server.
                   2868: 
                   2869:        * Makefrag.am: Add task_notify.defs.
                   2870:        * include/mach/gnumach.defs: Add register_new_task_notification.
                   2871:        * include/mach/task_notify.defs: New file.
                   2872:        * kern/task.c (new_task_notification): New variable.
                   2873:        (task_create): Send new task notifications.
                   2874:        (register_new_task_notification): Add server function.
                   2875:        * kern/task_notify.cli: New file.
                   2876: 
                   2877: 2014-12-09  Justus Winter  <[email protected]>
                   2878: 
                   2879:        Retire procedure `old_mach_port_get_receive_status'
                   2880:        Retire the compatibility RPC `old_mach_port_get_receive_status' that
                   2881:        works like `mach_port_get_receive_status' but returns an
                   2882:        `old_mach_port_status' object that lacks the `mps_seqno' field.
                   2883: 
                   2884:        Do not remove the type yet, so we do not break anyones build.  The RPC
                   2885:        stubs currently distributed with the glibc require it.
                   2886: 
                   2887:        * include/mach/mach_port.defs (old_mach_port_get_receive_status): Drop RPC.
                   2888:        * include/mach/mach_types.defs (old_mach_port_status_t): Drop type.
                   2889:        * include/mach/port.h (old_mach_port_status_t): Add note to remove
                   2890:        this for the 1.6 release.
                   2891:        * ipc/mach_port.c (old_mach_port_get_receive_status): Drop function.
                   2892: 
                   2893: 2014-12-07  Samuel Thibault  <[email protected]>
                   2894: 
                   2895:        Fix pthread_create warning on translator termination
                   2896:        This was due to task_terminate not actually properly suspending threads
                   2897:        before disable the task port, which was thus preventing pthread_create
                   2898:        from being able to create a stack. Thanks Gabriele Giacone for finding
                   2899:        out a reproducer of this.
                   2900: 
                   2901:        * kern/task.h (task_hold_locked): New declaration.
                   2902:        * kern/task.c (task_hold): Move the locked part of the code into...
                   2903:        (task_hold_locked): ... new function.
                   2904:        (task_terminate): Call task_hold_locked just before deactivating the
                   2905:        task. Call ipc_task_disable after waiting for threads to actually
                   2906:        suspend with task_dowait.
                   2907: 
                   2908: 2014-12-01  Justus Winter  <[email protected]>
                   2909: 
                   2910:        kern: disable all counters by default
                   2911:        Make all five non-conditional counters conditional ones.  Casual
                   2912:        checking revealed that the hits-to-miss ratio is excellent.
                   2913: 
                   2914:        * kern/counters.c: Make all counters conditional.
                   2915:        * kern/counters.h: Likewise.
                   2916:        * kern/ipc_sched.c: Likewise.
                   2917:        * kern/sched_prim.c: Likewise.
                   2918: 
                   2919: 2014-11-28  Justus Winter  <[email protected]>
                   2920: 
                   2921:        include: make `mach_port_t' payload-aware
                   2922:        Honor a new macro `MACH_PAYLOAD_TO_PORT' to inject a translation
                   2923:        function mapping payloads to port names in the definition of
                   2924:        `mach_port_t'.
                   2925: 
                   2926:        * include/mach/std_types.defs (mach_port_t): Honor
                   2927:        `MACH_PAYLOAD_TO_PORT'.
                   2928:        * include/device/device.defs (reply_port_t): Likewise.
                   2929:        * include/device/device_reply.defs (reply_port_t): Likewise.
                   2930:        * include/device/device_request.defs (reply_port_t): Likewise.
                   2931: 
                   2932: 2014-11-23  Samuel Thibault  <[email protected]>
                   2933: 
                   2934:        Fix programming PIT counter
                   2935:        * linux/dev/arch/i386/kernel/irq.c (init_IRQ): Properly mask 8 bits of
                   2936:        PIT counter.
                   2937: 
                   2938: 2014-11-21  David Michael  <[email protected]>
                   2939: 
                   2940:        Correct GCC's -Wformat-security issues
                   2941:        * linux/pcmcia-cs/clients/axnet_cs.c (axdev_init): Add a format string
                   2942:        literal where printk only has a single variable argument.
                   2943:        * linux/src/drivers/net/3c507.c (el16_probe1): Likewise.
                   2944:        * linux/src/drivers/net/3c509.c (el3_probe): Likewise.
                   2945:        * linux/src/drivers/net/3c515.c (init_module): Likewise.
                   2946:        (tc515_probe): Likewise.
                   2947:        * linux/src/drivers/net/ac3200.c (ac_probe1): Likewise.
                   2948:        * linux/src/drivers/net/apricot.c (apricot_probe): Likewise.
                   2949:        * linux/src/drivers/net/at1700.c (at1700_probe1): Likewise.
                   2950:        * linux/src/drivers/net/de4x5.c (de4x5_hw_init): Likewise.
                   2951:        * linux/src/drivers/net/de600.c (de600_probe): Likewise.
                   2952:        * linux/src/drivers/net/de620.c (de620_probe): Likewise.
                   2953:        * linux/src/drivers/net/depca.c (depca_hw_init): Likewise.
                   2954:        * linux/src/drivers/net/e2100.c (e21_probe1): Likewise.
                   2955:        * linux/src/drivers/net/eepro.c (eepro_probe1): Likewise.
                   2956:        * linux/src/drivers/net/eepro100.c (speedo_found1): Likewise.
                   2957:        * linux/src/drivers/net/eexpress.c (eexp_hw_probe): Likewise.
                   2958:        * linux/src/drivers/net/ewrk3.c (ewrk3_hw_init): Likewise.
                   2959:        * linux/src/drivers/net/fmv18x.c (fmv18x_probe1): Likewise.
                   2960:        * linux/src/drivers/net/hp-plus.c (hpp_probe1): Likewise.
                   2961:        * linux/src/drivers/net/hp.c (hp_probe1): Likewise.
                   2962:        * linux/src/drivers/net/lance.c (lance_probe1): Likewise.
                   2963:        * linux/src/drivers/net/ne.c (ne_probe1): Likewise.
                   2964:        * linux/src/drivers/net/pcnet32.c (pcnet32_probe1): Likewise.
                   2965:        * linux/src/drivers/net/seeq8005.c (seeq8005_probe1): Likewise.
                   2966:        * linux/src/drivers/net/smc-ultra.c (ultra_probe1): Likewise.
                   2967:        * linux/src/drivers/net/smc-ultra32.c (ultra32_probe1): Likewise.
                   2968:        * linux/src/drivers/net/wd.c (wd_probe1): Likewise.
                   2969: 
                   2970: 2014-11-16  Samuel Thibault  <[email protected]>
                   2971: 
                   2972:        Only set debug registers when they are used
                   2973:        * i386/i386/db_interface.c (zero_dr): New variable
                   2974:        (db_load_context): Do not set debug registers to zero when they are already
                   2975:        zero.
                   2976:        (db_dr): When kernel debug registers get zero, record that the debug
                   2977:        registers have been zeroed.
                   2978: 
                   2979: 2014-11-13  Samuel Thibault  <[email protected]>
                   2980: 
                   2981:        Add nodma options
                   2982:        Some very slow qemu instances would eventually trigger DMA timeouts,
                   2983:        let's give a way to disable DMA there, it does not actually slow down
                   2984:        operations anyway.
                   2985: 
                   2986:        * linux/src/drivers/block/ide.h (ide_drive_s): Add nodma field.
                   2987:        * linux/src/drivers/block/ide.c (do_identify): Do not call
                   2988:        dmaproc(ide_dma_check) when nodma is 1.
                   2989:        (ide_setup): Add nodma option.
                   2990: 
                   2991: 2014-11-12  Samuel Thibault  <[email protected]>
                   2992: 
                   2993:        Pass ide and hd kernel options to ide driver
                   2994:        * linux/dev/drivers/block/genhd.c: Include <linux/hdreg.h> and
                   2995:        <alloca.h>
                   2996:        (device_setup): Look for ide and hd options, and call ide_setup with
                   2997:        them.
                   2998:        * linux/src/drivers/block/ide.c (ide_setup) [MACH]: Parse hd[0-7] instead
                   2999:        of hd[a-h].
                   3000: 
                   3001: 2014-11-10  Samuel Thibault  <[email protected]>
                   3002: 
                   3003:        Fix documentation for vm_map
                   3004:        doc/mach.texi (vm_map): Document that vm_map uses the address as a
                   3005:        starting hint even when anywhere is TRUE.
                   3006: 
                   3007:        Revert "Make vm_map really ignore `address' when `anywhere' is true"
                   3008:        This reverts commit 5ae510e35c54009626999a88f0f1cb34d6dfc94f.
                   3009: 
                   3010: 2014-11-03  Justus Winter  <[email protected]>
                   3011: 
                   3012:        include: add a payload-aware intran mutator for device_t
                   3013:        * include/device/device_types.defs (device_t): Add a payload-aware
                   3014:        intran mutator.
                   3015: 
                   3016:        include: add a payload-aware intran mutator for notify_port_t
                   3017:        * include/mach/notify.defs (notify_port_t): Add a payload-aware intran
                   3018:        mutator.
                   3019: 
                   3020:        include: add a payload-aware intran mutator for memory_object_t
                   3021:        * include/mach/mach_types.defs (memory_object_t): Add a payload-aware
                   3022:        intran mutator.
                   3023:        * include/mach/memory_object.defs: Likewise in the inlined type
                   3024:        declarations.
                   3025: 
                   3026: 2014-11-03  Samuel Thibault  <[email protected]>
                   3027: 
                   3028:        Fix link refusal
                   3029:        * Makefile.am (clib-routines.o): Refuse to link only when multiarch is
                   3030:        detected.
                   3031: 
                   3032: 2014-11-03  Samuel Thibault  <[email protected]>
                   3033: 
                   3034:        Refuse to link against a libc with multiarch support
                   3035:        We don't have support for this yet.
                   3036: 
                   3037:        * Makefile.am (clib-routines.o): Check for the presence of
                   3038:        __init_cpu_features, and in such case refuse to continue.
                   3039: 
                   3040: 2014-11-02  Samuel Thibault  <[email protected]>
                   3041: 
                   3042:        Fix build when gcc avoids inlining
                   3043:        * ipc/ipc_port.h (ipc_port_flag_protected_payload,
                   3044:        ipc_port_flag_protected_payload_set,
                   3045:        ipc_port_flag_protected_payload_clear): Use static inline qualifier instead
                   3046:        of extern inline.
                   3047: 
                   3048: 2014-10-22  Samuel Thibault  <[email protected]>
                   3049: 
                   3050:        Revert "Make sure mig is available"
                   3051:        This reverts commit b28e05e203e0739fa5db59c5af378b29eea7a232.
                   3052: 
                   3053: 2014-10-10  Justus Winter  <[email protected]>
                   3054: 
                   3055:        doc: restore section `Inherited Ports'
                   3056:        Previously, the section `Inherited Ports' was commented out.  This was
                   3057:        done, as the functionality was unused by the Hurd.  The functions
                   3058:        `mach_ports_register' and `mach_ports_lookup' were never removed, and
                   3059:        are exposed to user space.
                   3060: 
                   3061:        This patch brings the documentation back and adds a remark at the top,
                   3062:        that the section documents the original intentions for this interface.
                   3063: 
                   3064:        I chose bringing back the documentation over removing the
                   3065:        functionality because I like to make use of it as a method for service
                   3066:        discovery that is deliberately orthogonal to the way the service
                   3067:        lookup is usually done in the Hurd.  This can be used to implement
                   3068:        robust low-level debugging facilities.
                   3069: 
                   3070:        * doc/mach.texi: Restore section `Inherited Ports'.
                   3071: 
                   3072: 2014-10-01  Justus Winter  <[email protected]>
                   3073: 
                   3074:        Add protected payloads to NEWS
                   3075: 
                   3076:        ipc: provide the protected payload in ipc_kmsg_copyout_header
                   3077:        * ipc/ipc_kmsg.c (ipc_kmsg_copyout_header): If a protected payload is
                   3078:        set for the destination port, provide it in msgh_protected_payload.
                   3079:        * ipc/mach_msg.c (mach_msg_trap): Likewise in the fast paths.
                   3080:        * doc/mach.texi (Message Receive): Document message semantics with
                   3081:        protected payloads.
                   3082: 
                   3083:        include: define MACH_MSG_TYPE_PROTECTED_PAYLOAD
                   3084:        * include/mach/message.h: Define MACH_MSG_TYPE_PROTECTED_PAYLOAD.
                   3085:        (MACH_MSG_TYPE_LAST): Adjust accordingly.
                   3086:        * doc/mach.texi (Message Format): Document
                   3087:        MACH_MSG_TYPE_PROTECTED_PAYLOAD.
                   3088: 
                   3089:        include: add msgh_protected_payload to mach_msg_header_t
                   3090:        * include/mach/message.h (mach_msg_header_t): Add
                   3091:          msgh_protected_payload as a union with msgh_local_port.
                   3092:        * doc/mach.texi (Message Format): Document msgh_protected_payload.
                   3093: 
                   3094:        ipc: implement mach_port_{set,clear}_protected_payload
                   3095:        * include/mach/mach_port.defs: Add mach_port_{set,clear}_protected_payload.
                   3096:        * ipc/mach_port.c: Implement mach_port_{set,clear}_protected_payload.
                   3097:        * doc/mach.texi (Receive Rights): Document
                   3098:        mach_port_{set,clear}_protected_payload.
                   3099: 
                   3100: 2014-10-01  Justus Winter  <[email protected]>
                   3101: 
                   3102:        ipc: add protected payload
                   3103:        Add a field ip_protected_payload and a flag ip_has_protected_payload
                   3104:        to struct ipc_port.
                   3105: 
                   3106:        Clear the protected payload when a receive port is moved from one ipc
                   3107:        space to another.  This is done to retain the old behavior of
                   3108:        mach_msg, so that a port name is sent in the msgh_local_port field.
                   3109:        If the new owner of that receive right wishes to use the protected
                   3110:        payload mechanism, it has to be explicitly set again.
                   3111: 
                   3112:        * ipc/ipc_port.h (struct ipc_port): Add field ip_protected_payload.
                   3113:        (ipc_port_set_protected_payload): Add function declaration.
                   3114:        (ipc_port_clear_protected_payload): Likewise.
                   3115:        (ipc_port_flag_protected_payload): Add accessor for the protected
                   3116:        payload flag.
                   3117:        (ipc_port_flag_protected_payload_set): Likewise.
                   3118:        (ipc_port_flag_protected_payload_clear): Likewise.
                   3119:        * ipc/ipc_port.c (ipc_port_init): Initialize protected payload.
                   3120:        (ipc_port_print): Print protected_payload.
                   3121:        (ipc_port_set_protected_payload): New function.
                   3122:        (ipc_port_clear_protected_payload): Likewise.
                   3123:        (ipc_port_destroy): Clear the payload when moving a receive port.
                   3124:        * ipc/ipc_right.c (ipc_right_copyin): Likewise.
                   3125:        (ipc_right_copyout): Likewise.
                   3126:        * ipc/ipc_object.c (ipc_object_copyin_from_kernel): Likewise.
                   3127:        * ipc/ipc_object.h (IO_BITS_PROTECTED_PAYLOAD): New bitmask.
                   3128:        (IO_BITS_OTYPE): Adjust accordingly.
                   3129: 
                   3130: 2014-09-30  Justus Winter  <[email protected]>
                   3131: 
                   3132:        ipc: use fast modulo operation in local hash table
                   3133:        * ipc/ipc_table.h: Document that table sizes must be powers of two.
                   3134:        * ipc/ipc_hash.c (IH_LOCAL_HASH): Use fast modulo operation.
                   3135: 
                   3136:        kern: silence compiler warning about uninitialized variable
                   3137:        * kern/slab.c (kmem_cache_compute_sizes): Initialize optimal_size and
                   3138:        assert that a size is selected.
                   3139: 
                   3140:        kern: fix type of recompute_priorities
                   3141:        * kern/sched_prim.c (recompute_priorities): Fix type.
                   3142:        * kern/sched_prim.h (recompute_priorities): Likewise.
                   3143: 
                   3144: 2014-09-26  Justus Winter  <[email protected]>
                   3145: 
                   3146:        kern: create send rights as they are inserted at bootstrap time
                   3147:        Previously, it was impossible to hand e.g. the master device port to
                   3148:        more than one bootstrap task.  Fix this by creating the send right as
                   3149:        it is inserted into the target task.
                   3150: 
                   3151:        * kern/bootstrap.c (bootstrap_create): Do not create the send rights
                   3152:        here...
                   3153:        (boot_script_insert_right): ... but here.
                   3154: 
                   3155: 2014-09-25  Justus Winter  <[email protected]>
                   3156: 
                   3157:        Update NEWS file
                   3158: 
                   3159: 2014-09-17  Justus Winter  <[email protected]>
                   3160: 
                   3161:        ddb: add support for ELF symbol tables
                   3162:        * ddb/db_elf.c: New file.
                   3163:        * ddb/db_elf.h: Likewise.
                   3164:        * Makefrag.am (libkernel_a_SOURCES): Add db_elf.{c,h}.
                   3165:        * ddb/db_sym.c (dummy_db_sym_init): New stub db_sym_init function.
                   3166:        (db_sym_switch): Add ELF functions.
                   3167:        * ddb/db_sym.h (SYMTAB_ELF): New macro.
                   3168:        (elf_db_sym_init): New declaration.
                   3169:        * i386/i386at/model_dep.c (c_boot_entry): Get ELF section header
                   3170:        information from the multiboot structure, and call elf_db_sym_init.
                   3171: 
                   3172:        ddb: add `show all tasks' command
                   3173:        * ddb/db_command.c (db_show_all_cmds): Add `tasks'.
                   3174:        * ddb/db_print.c (db_show_all_tasks): New function.
                   3175:        * ddb/db_print.h (db_show_all_tasks): New prototype.
                   3176: 
                   3177: 2014-09-17  Samuel Thibault  <[email protected]>
                   3178: 
                   3179:        Report DR6 to userland
                   3180:        * i386/i386/trap.c (user_trap): On T_DEBUG, record the content of dr6 in
                   3181:        PCB, and clear it.
                   3182: 
                   3183: 2014-09-06  Samuel Thibault  <[email protected]>
                   3184: 
                   3185:        Make vm_map really ignore `address' when `anywhere' is true
                   3186:        As vm_allocate does.
                   3187: 
                   3188:        * vm/vm_user.c (vm_map): When `anywhere' is true, set `address' to the
                   3189:        minimum address of the `target_map'.
                   3190: 
                   3191: 2014-09-01  Pietro Braione  <[email protected]>
                   3192: 
                   3193:        Fix printf warning
                   3194:        linux/src/drivers/net/sundance.c (start_tx): Fix format string according
                   3195:        to parameter.
                   3196: 
                   3197: 2014-08-30  Samuel Thibault  <[email protected]>
                   3198: 
                   3199:        Tune pageout parameters
                   3200:        This targets having always at least 8% free memory instead of just 1%.
                   3201:        This has shown improving buildd stability a lot. Also increase the
                   3202:        reserved amount to nowadays standards.
                   3203: 
                   3204:        * vm/vm_pageout.c (VM_PAGE_FREE_TARGET): Increase to 10%.
                   3205:        (VM_PAGE_FREE_MIN): Increase to 8%.
                   3206:        (VM_PAGE_FREE_RESERVED): Increase to 500 pages.
                   3207:        (VM_PAGEOUT_RESERVED_INTERNAL): Increase to 150 pages.
                   3208:        (VM_PAGEOUT_RESERVED_REALLY): Increase to 100 pages.
                   3209: 
                   3210: 2014-08-30  Samuel Thibault  <[email protected]>
                   3211: 
                   3212:        Increate the pageout thread priority
                   3213:        * vm/vm_pageout.c (vm_pageout): Set the priority to 0.
                   3214: 
                   3215: 2014-08-30  Samuel Thibault  <[email protected]>
                   3216: 
                   3217:        Bump NR_GRANT_PAGES
                   3218:        This has shown needed on buildds with several disks and network
                   3219:        interfaces.
                   3220: 
                   3221:        * xen/grant.c (NR_GRANT_PAGES): Increase from 4 to 8.
                   3222: 
                   3223: 2014-08-22  Samuel Thibault  <[email protected]>
                   3224: 
                   3225:        Fix computation
                   3226:        * i386/i386at/com.c (comintr): Fix computation of '@'.
                   3227: 
                   3228: 2014-08-22  Neal H. Walfield  <[email protected]>
                   3229: 
                   3230:        Even less magic-looking control value
                   3231:        * i386/i386at/com.c (comintr): Use 'A'-1 instead of '@'.
                   3232: 
                   3233: 2014-08-22  Justus Winter  <[email protected]>
                   3234: 
                   3235:        Support invoking the debugger over the serial console
                   3236:        * i386/i386at/com.c (comintr): Invoke the debugger if ctrl-alt-d is
                   3237:        pressed.
                   3238:        * i386/i386at/com.h (kdb_kintr): Add declaration.
                   3239: 
                   3240: 2014-07-25  Samuel Thibault  <[email protected]>
                   3241: 
                   3242:        Drop debugging prints
                   3243:        * i386/i386at/acpi.c (grub_machine_acpi_get_rsdpv2): Drop debugging
                   3244:        prints.
                   3245: 
                   3246: 2014-07-06  Samuel Thibault  <[email protected]>
                   3247: 
                   3248:        Do not unmap page 0 when not needed
                   3249:        Since we need it to access some BIOS information, e.g. at ACPI shutdown.  When
                   3250:        the kernel VM is not starting at 0, there is already nothing mapped there in
                   3251:        user tasks, anyway.
                   3252: 
                   3253:        * i386/i386at/model_dep.c (machine_init) [VM_MIN_KERNEL_ADDRESS != 0]:
                   3254:        Do not call pmap_unmap_page_zero.
                   3255:        * i386/intel/pmap.c (pmap_unmap_page_zero): Warn that unmapping page
                   3256:        zero may break some BIOS functions.
                   3257: 
                   3258: 2014-07-06  Samuel Thibault  <[email protected]>
                   3259: 
                   3260:        Document that io_map_cached leaks memory
                   3261: 
                   3262:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   3263: 
                   3264: 2014-07-06  Justus Winter  <[email protected]>
                   3265: 
                   3266:        i386: use ACPI to power off the machine
                   3267:        This is a mostly verbatim copy of acpihalt.c from GRUB2 with a little
                   3268:        bit of glue code.
                   3269: 
                   3270:        * i386/Makefrag.am (libkernel_a_SOURCES): Add the new files.
                   3271:        * i386/grub/acpi.h: Verbatim copy from GRUB2.
                   3272:        * i386/grub/compiler.h: Likewise.
                   3273:        * i386/grub/cpu/io.h: Likewise.
                   3274:        * i386/grub/cpu/time.h: Likewise.
                   3275:        * i386/grub/cpu/types.h: Likewise.
                   3276:        * i386/grub/err.h: Likewise.
                   3277:        * i386/grub/misc.h: Likewise.
                   3278:        * i386/grub/mm.h: Likewise.
                   3279:        * i386/grub/symbol.h: Likewise.
                   3280:        * i386/grub/time.h: Likewise.
                   3281:        * i386/grub/types.h: Likewise.
                   3282:        * i386/i386at/acpi.c: Likewise.
                   3283:        * i386/i386at/acpihalt.c: Likewise.
                   3284:        (grub_acpi_halt): Map physical addresses.
                   3285:        * i386/i386at/acpihalt.h: New file.
                   3286:        * i386/grub/glue.h: Some glue macros.
                   3287:        * i386/grub/i18n.h: Stub out i18n.
                   3288:        * i386/i386at/grub_glue.c: Some glue code.
                   3289:        * i386/i386at/model_dep.c (halt_all_cpus): Use grub_acpi_halt.
                   3290: 
                   3291: 2014-07-06  Justus Winter  <[email protected]>
                   3292: 
                   3293:        i386: add io_map_cached
                   3294:        io_map_cached is like io_map, but reuses the old mapping if it is
                   3295:        applicable.
                   3296: 
                   3297:        * i386/i386/io_map.c: Add io_map_cached.
                   3298: 
                   3299: 2014-06-11  Justus Winter  <[email protected]>
                   3300: 
                   3301:        doc: explain the floating point flag in kdb output
                   3302:        * doc/mach.texi (Kernel Debugger Commands): Explain the floating point
                   3303:        flag.
                   3304: 
                   3305: 2014-06-11  Justus Winter  <[email protected]>
                   3306: 
                   3307:        i386: remap some keys
                   3308:        As a convenience for the nice people using our debugger, remap some
                   3309:        keys to the readline-like shortcuts supported by dde.
                   3310: 
                   3311:        * i386/i386at/kd.c (kdcnmaygetc): Remap some keys.
                   3312: 
                   3313: 2014-06-11  Justus Winter  <[email protected]>
                   3314: 
                   3315:        i386: reformat the key map
                   3316:        * i386/i386at/kd.c (key_map): Remove superfluous newlines so that
                   3317:        every entry fits into one line.  This way line numbers can be used as
                   3318:        an index into the map.
                   3319: 
                   3320:        ddb: use db_thread_stat to format the flags
                   3321:        * ddb/db_print.c (db_print_thread): Use db_thread_stat to format the
                   3322:        flags.
                   3323: 
                   3324:        ddb: print task names if available
                   3325:        * ddb/db_print.c (db_print_task): Print task name if available.
                   3326:        * i386/i386/db_interface.c (db_task_name): Likewise.
                   3327:        * i386/i386/db_machdep.h (DB_GNUMACH_TASK_NAME): Remove unused definition.
                   3328: 
                   3329:        kern: set the name of the kernel task to 'gnumach'
                   3330:        * kern/taks.c (task_init): Set the name of the kernel task to 'gnumach'.
                   3331: 
                   3332: 2014-06-11  Justus Winter  <[email protected]>
                   3333: 
                   3334:        device: fix net_rcv_msg-messages
                   3335:        Previously, all net_rcv_msg-messages sent by net_deliver were
                   3336:        malformed.  It never was a problem in practice, since the messages are
                   3337:        not complex and thus the kernel does not try to parse the message.
                   3338: 
                   3339:        struct net_rcv_msg contains an additional field of type boolean_t.
                   3340:        This field has no associated type descriptor, so it must not be
                   3341:        included in the message.
                   3342: 
                   3343:        * device/net_io.c (net_deliver): Account for the extra field in the
                   3344:        msgh_size calculation.
                   3345: 
                   3346: 2014-05-27  Samuel Thibault  <[email protected]>
                   3347: 
                   3348:        Add missing memory clobber
                   3349:        * i386/i386/xen.h (mb, rmb, wmb): Add memory clobber.
                   3350: 
                   3351: 2014-05-25  Justus Winter  <[email protected]>
                   3352: 
                   3353:        Rewrite old-style #endif FOO directives
                   3354:        * i386/include/mach/i386/cthreads.h: Rewrite old-style #endif FOO
                   3355:        directives.
                   3356:        * include/device/tape_status.h: Likewise.
                   3357:        * include/mach/alert.h: Likewise.
                   3358:        * include/mach/boot.h: Likewise.
                   3359:        * include/mach/default_pager_types.defs: Likewise.
                   3360:        * include/mach/default_pager_types.h: Likewise.
                   3361:        * include/mach/multiboot.h: Likewise.
                   3362:        * include/mach/notify.defs: Likewise.
                   3363:        * include/mach_debug/pc_info.h: Likewise.
                   3364:        * kern/act.h: Likewise.
                   3365:        * kern/refcount.h: Likewise.
                   3366:        * kern/shuttle.h: Likewise.
                   3367: 
                   3368: 2014-05-25  Justus Winter  <[email protected]>
                   3369: 
                   3370:        include: fix the embedded type definitions in memory_object.defs
                   3371:        In order to use MIG translation functions to lookup memory objects,
                   3372:        preprocessor macros have been introduced into the definition of
                   3373:        memory_object_t in 50cc5152.
                   3374: 
                   3375:        The procedure definitions contain inlined type definitions in order to
                   3376:        change the type of the argument in question (i.e. to make it
                   3377:        polymorphic).  The inline definitions however lack the destructor
                   3378:        function, leading to reference leaks when a reference is acquired in
                   3379:        the intran function.
                   3380: 
                   3381:        * include/mach/memory_object.defs: Add the destructor functions to the
                   3382:        inlined type definitions.
                   3383: 
                   3384: 2014-05-03  Justus Winter  <[email protected]>
                   3385: 
                   3386:        ddb: add "halt" command
                   3387:        * ddb/db_command.c (db_command_table): Add "halt" command.
                   3388:        * i386/i386/db_interface.h (db_halt_cpu): New declaration.
                   3389:        * i386/i386at/model_dep.c (db_halt_cpu): New function.
                   3390: 
                   3391: 2014-04-30  Justus Winter  <[email protected]>
                   3392: 
                   3393:        vm: make struct vm_map fit into a cache line
                   3394:        Currently, the size of struct vm_map is 68 bytes.  By using a bit
                   3395:        field for the boolean flags, it can be made fit into a cache line.
                   3396: 
                   3397:        * vm/vm_map.h (struct vm_map): Use a bit field for the boolean flags
                   3398:        wait_for_space and wiring_required.
                   3399: 
                   3400: 2014-04-30  Justus Winter  <[email protected]>
                   3401: 
                   3402:        i386: fix MACHINE_SERVER_HEADER
                   3403:        Commit b6dab094 introduced a way to include the MIG-generated server
                   3404:        files for the machine specific interface in ipc_kobject.c.
                   3405: 
                   3406:        This broke out-of-tree builds.  Here, 'machine' is a symlink to
                   3407:        '../i386/i386', it points into the source tree.  The MIG-generated
                   3408:        files however are put in the build tree in i386/i386.
                   3409: 
                   3410:        * i386/i386/machine_routines.h (MACHINE_SERVER_HEADER): Fix path.
                   3411: 
                   3412: 2014-04-30  Justus Winter  <[email protected]>
                   3413: 
                   3414:        kern: include the MIG-generated server headers for MACHINE_SERVER
                   3415:        GNU MIG recently gained support for emitting x_server_routine
                   3416:        declarations in the generated server header file.  Using this
                   3417:        declaration, the x_server_routine functions can be inlined into the
                   3418:        ipc_kobject_server function.
                   3419: 
                   3420:        * kern/ipc_kobject.c: Include the MIG-generated server headers for the
                   3421:        machine-dependent interfaces.
                   3422:        (ipc_kobject_server): Drop the simple declaration of
                   3423:        MACHINE_SERVER_ROUTINE.
                   3424:        * i386/i386/machine_routines.h (MACHINE_SERVER_HEADER): New
                   3425:        definition.
                   3426: 
                   3427: 2014-04-30  Justus Winter  <[email protected]>
                   3428: 
                   3429:        include: do not guard the host_slab_info RPC with MACH_VM_DEBUG
                   3430:        Previously, the definition of the host_slab_info RPC was guarded with
                   3431:        MACH_VM_DEBUG, even though it is not at all concerned with the VM
                   3432:        subsystem.  Furthermore, there was no "skip" directive for
                   3433:        host_slab_info.
                   3434: 
                   3435:        The function host_slab_info is guarded with MACH_DEBUG.  The server
                   3436:        for the RPCs in mach_debug.defs is only used if MACH_DEBUG is
                   3437:        defined. There is no need to guard host_slab_info.
                   3438: 
                   3439:        * include/mach_debug/mach_debug.defs (host_slab_info): Unconditionally
                   3440:        include the RPC.
                   3441: 
                   3442: 2014-04-30  Justus Winter  <[email protected]>
                   3443: 
                   3444:        Install the mach_debug header files
                   3445:        The task_set_name RPC introduced in 877a319c changed
                   3446:        include/mach/gnumach.defs to include mach_debug/mach_debug_types.defs.
                   3447:        Previously though, the debug headers were not installed.
                   3448: 
                   3449:        * Makefrag.am: Install the mach_debug header files.
                   3450: 
                   3451: 2014-04-30  Justus Winter  <[email protected]>
                   3452: 
                   3453:        doc: fix the number of priorities
                   3454:        The number of priorities has been changed from 32 to 50 in
                   3455:        6a234201081156e6d5742e7eeabb68418b518fad.
                   3456: 
                   3457:        * doc/mach.texi: Update accordingly.
                   3458: 
                   3459: 2014-04-25  Samuel Thibault  <[email protected]>
                   3460: 
                   3461:        Make sure mig is available
                   3462:        * configure.ac (MIG): Error out if MiG was not found.
                   3463: 
                   3464: 2014-04-13  Justus Winter  <[email protected]>
                   3465: 
                   3466:        kern: set the name of tasks created during the bootstrap
                   3467:        * kern/bootstrap.c (boot_script_task_create): Set the name of newly
                   3468:        created tasks.
                   3469: 
                   3470: 2014-04-10  Justus Winter  <[email protected]>
                   3471: 
                   3472:        include: fix the definition of device_open
                   3473:        Previously, every userspace server implementing the device protocol
                   3474:        filtered the device definitions to replace the device_t type with
                   3475:        mach_port_send_t to make the device argument of device_open
                   3476:        polymorphic.  Rather than doing that, which makes it impossible to use
                   3477:        translation functions, fix the definition of device_open.
                   3478: 
                   3479:        * include/device/device.defs (device_open): Redefine the device
                   3480:        argument to make it polymorphic unless a outran function is specified.
                   3481: 
                   3482: 2014-04-08  Justus Winter  <[email protected]>
                   3483: 
                   3484:        include: make the device_t types translation functions mutable
                   3485:        Make the intran, outtran and destructor functions mutable using
                   3486:        preprocessor macros.  Make it possible to inject imports using the
                   3487:        DEVICE_IMPORTS macro.  This way, userspace servers can provide their
                   3488:        own translation functions.
                   3489: 
                   3490:        * include/device/device_types.defs: Honor DEVICE_IMPORTS.
                   3491:        (device_t): Make the translation mutable using preprocessor macros.
                   3492: 
                   3493: 2014-04-05  Justus Winter  <[email protected]>
                   3494: 
                   3495:        include: make the notify_port_t types translation functions mutable
                   3496:        Make the intran, outtran and destructor functions mutable using
                   3497:        preprocessor macros.  Make it possible to inject imports using the
                   3498:        NOTIFY_IMPORTS macro.  This way, userspace servers can provide their
                   3499:        own translation functions.
                   3500: 
                   3501:        * include/mach/notify.defs: Honor NOTIFY_IMPORTS.
                   3502:        (notify_port_t): Make the translation mutable using preprocessor macros.
                   3503: 
                   3504: 2014-04-04  Marin Ramesa  <[email protected]>
                   3505: 
                   3506:        Convert from K&R to ANSI
                   3507:        Convert from K&R style function definitions to ANSI style
                   3508:        function definitions.
                   3509: 
                   3510:        * ddb/db_access.c: Convert function prototypes from K&R to ANSI.
                   3511:        * ddb/db_aout.c: Likewise.
                   3512:        * ddb/db_break.c: Likewise.
                   3513:        * ddb/db_command.c: Likewise.
                   3514:        * ddb/db_cond.c: Likewise.
                   3515:        * ddb/db_examine.c: Likewise.
                   3516:        * ddb/db_expr.c: Likewise.
                   3517:        * ddb/db_ext_symtab.c: Likewise.
                   3518:        * ddb/db_input.c: Likewise.
                   3519:        * ddb/db_lex.c: Likewise.
                   3520:        * ddb/db_macro.c: Likewise.
                   3521:        * ddb/db_mp.c: Likewise.
                   3522:        * ddb/db_output.c: Likewise.
                   3523:        * ddb/db_print.c: Likewise.
                   3524:        * ddb/db_run.c: Likewise.
                   3525:        * ddb/db_sym.c: Likewise.
                   3526:        * ddb/db_task_thread.c: Likewise.
                   3527:        * ddb/db_trap.c: Likewise.
                   3528:        * ddb/db_variables.c: Likewise.
                   3529:        * ddb/db_watch.c: Likewise.
                   3530:        * device/blkio.c: Likewise.
                   3531:        * device/chario.c: Likewise.
                   3532:        * device/dev_lookup.c: Likewise.
                   3533:        * device/dev_name.c: Likewise.
                   3534:        * device/dev_pager.c: Likewise.
                   3535:        * device/ds_routines.c: Likewise.
                   3536:        * device/net_io.c: Likewise.
                   3537:        * device/subrs.c: Likewise.
                   3538:        * i386/i386/db_interface.c: Likewise.
                   3539:        * i386/i386/fpu.c: Likewise.
                   3540:        * i386/i386/io_map.c: Likewise.
                   3541:        * i386/i386/loose_ends.c: Likewise.
                   3542:        * i386/i386/mp_desc.c: Likewise.
                   3543:        * i386/i386/pcb.c: Likewise.
                   3544:        * i386/i386/phys.c: Likewise.
                   3545:        * i386/i386/trap.c: Likewise.
                   3546:        * i386/i386/user_ldt.c: Likewise.
                   3547:        * i386/i386at/com.c: Likewise.
                   3548:        * i386/i386at/kd.c: Likewise.
                   3549:        * i386/i386at/kd_event.c: Likewise.
                   3550:        * i386/i386at/kd_mouse.c: Likewise.
                   3551:        * i386/i386at/kd_queue.c: Likewise.
                   3552:        * i386/i386at/lpr.c: Likewise.
                   3553:        * i386/i386at/model_dep.c: Likewise.
                   3554:        * i386/i386at/rtc.c: Likewise.
                   3555:        * i386/intel/pmap.c: Likewise.
                   3556:        * i386/intel/read_fault.c: Likewise.
                   3557:        * ipc/ipc_entry.c: Likewise.
                   3558:        * ipc/ipc_hash.c: Likewise.
                   3559:        * ipc/ipc_kmsg.c: Likewise.
                   3560:        * ipc/ipc_marequest.c: Likewise.
                   3561:        * ipc/ipc_mqueue.c: Likewise.
                   3562:        * ipc/ipc_notify.c: Likewise.
                   3563:        * ipc/ipc_port.c: Likewise.
                   3564:        * ipc/ipc_right.c: Likewise.
                   3565:        * ipc/mach_debug.c: Likewise.
                   3566:        * ipc/mach_msg.c: Likewise.
                   3567:        * ipc/mach_port.c: Likewise.
                   3568:        * ipc/mach_rpc.c: Likewise.
                   3569:        * kern/act.c: Likewise.
                   3570:        * kern/exception.c: Likewise.
                   3571:        * kern/ipc_mig.c: Likewise.
                   3572:        * kern/ipc_tt.c: Likewise.
                   3573:        * kern/lock_mon.c: Likewise.
                   3574:        * kern/mach_clock.c: Likewise.
                   3575:        * kern/machine.c: Likewise.
                   3576:        * kern/printf.c: Likewise.
                   3577:        * kern/priority.c: Likewise.
                   3578:        * kern/startup.c: Likewise.
                   3579:        * kern/syscall_emulation.c: Likewise.
                   3580:        * kern/syscall_subr.c: Likewise.
                   3581:        * kern/thread_swap.c: Likewise.
                   3582:        * kern/time_stamp.c: Likewise.
                   3583:        * kern/timer.c: Likewise.
                   3584:        * kern/xpr.c: Likewise.
                   3585:        * vm/memory_object.c: Likewise.
                   3586:        * vm/vm_debug.c: Likewise.
                   3587:        * vm/vm_external.c: Likewise.
                   3588:        * vm/vm_fault.c: Likewise.
                   3589:        * vm/vm_kern.c: Likewise.
                   3590:        * vm/vm_map.c: Likewise.
                   3591:        * vm/vm_pageout.c: Likewise.
                   3592:        * vm/vm_user.c: Likewise.
                   3593: 
                   3594: 2014-04-04  Samuel Thibault  <[email protected]>
                   3595: 
                   3596:        Fix prototype
                   3597:        * linux/dev/glue/block.c (device_set_status): Fix prototype.
                   3598: 
                   3599: 2014-04-04  Marin Ramesa  <[email protected]>
                   3600: 
                   3601:        Use explicit prototypes for struct dev_ops fields
                   3602:        * device/conf.h: Include <sys/types.h>, <mach/port.h>, <mach/vm_prot.h>.
                   3603:        Predefine struct io_req, io_req_t and io_return_t.
                   3604:        (dev_ops): Add explicit prototypes for d_open, d_close, d_read, d_write,
                   3605:        d_getstat, d_setstat, d_mmap, d_port_death.
                   3606:        (nulldev_open, nulldev_close, nulldev_read, nulldev_write,
                   3607:        nulldev_getstat, nulldev_setstat, nulldev_portdeath): Add prototypes.
                   3608:        (nomap): Fix prototype.
                   3609:        * device/dev_name.c (nulldev_open, nulldev_close, nulldev_read,
                   3610:        nulldev_write, nulldev_getstat, nulldev_setstat, nulldev_portdeath): New
                   3611:        functions.
                   3612:        (nomap): Fix prototype.
                   3613:        * device/ds_routines.c (dev_close): Pass 0 as flag parameter.
                   3614:        * device/kmsg.c (kmsgclose): Drop return value.
                   3615:        * device/kmsg.h (kmsgclose): Fix prototype.
                   3616:        * i386/i386at/com.c (comopen): Fix prototype.
                   3617:        (comclose): Fix prototype, drop return value.
                   3618:        (comread, comwrite): Fix prototype.
                   3619:        * i386/i386at/com.h (comopen, comclose, comread, comwrite): Fix
                   3620:        prototype.
                   3621:        * i386/i386at/conf.c (dev_ops): Use nulldev_open, nulldev_close,
                   3622:        nulldev_read, nulldev_write, nulldev_getstat, nulldev_setstat,
                   3623:        nulldev_portdeath where appropriate.
                   3624:        * i386/i386at/kd.c (kdclose, kdread, kdwrite, kdmmap): Fix prototype.
                   3625:        * i386/i386at/kd.h (kdclose, kdread, kdwrite, kdmmap): Likewise.
                   3626:        * i386/i386at/kd_event.c (kbdopen): Likewise.
                   3627:        * i386/i386at/kd_event.h (kbdopen): Likewise.
                   3628:        * i386/i386at/kd_mouse.c (mouseopen): Likewise.
                   3629:        * i386/i386at/kd_mouse.h (mouseopen): Likewise.
                   3630:        * i386/i386at/lpr.c (lpropen, lprclose, lprread, lprwrite): Likewise.
                   3631:        * i386/i386at/lpr.h (lpropen, lprclose, lprread, lprwrite): Likewise.
                   3632:        * i386/i386at/mem.c (memmmap): Likewise.
                   3633:        * i386/i386at/mem.h (memmmap): Likewise.
                   3634:        * i386/i386at/model_dep.c (timemmap): Likewise.
                   3635:        * i386/i386at/model_dep.h (timemmap): Likewise.
                   3636:        * kern/mach_clock.c (timeopen, timeclose): Likewise.
                   3637:        * kern/mach_clock.h: Include <sys/types.h>, predefine struct io_req and
                   3638:        io_req_t.
                   3639:        (timeopen, timeclose): Fix prototype.
                   3640: 
                   3641: 2014-03-28  Samuel Thibault  <[email protected]>
                   3642: 
                   3643:        Assume EGA/VGA card
                   3644:        CGA and MONO cards are more than hard to find nowadays, and some buggy BIOSes
                   3645:        claim running them nowadays...
                   3646: 
                   3647:        * i386/i386at/kd.c (kd_xga_init): Do not handle CGA and MONO cases any
                   3648:        more, which thus default to EGA/VGA.
                   3649: 
                   3650: 2014-03-28  Samuel Thibault  <[email protected]>
                   3651: 
                   3652:        Really default to EGA/VGA on unknown CMOS values
                   3653:        * i386/i386at/kd.c (kd_xga_init): Use CM_EGA_VGA behavior as default
                   3654:        case for unknown values of CMOS data.
                   3655: 
                   3656: 2014-03-26  Justus Winter  <[email protected]>
                   3657: 
                   3658:        kern: fix formatting of multiboot modules
                   3659:        Previously, bootstrap_create would print the multiboot modules with
                   3660:        padding applied to the end of the line.  As multiboot modules as used
                   3661:        by the Hurd span more than one line.  This makes the list of modules
                   3662:        hard to read and it looks unclean, more like an accident.
                   3663:        Furthermore, it is not clear what the intend of this was, as the
                   3664:        padding is applied at the end of the line, with no further information
                   3665:        printed thereafter.
                   3666: 
                   3667:        * kern/bootstrap.c (bootstrap_create): Remove variable maxlen and len,
                   3668:        update printfs.
                   3669: 
                   3670: 2014-03-25  Justus Winter  <[email protected]>
                   3671: 
                   3672:        include: make the memory_object_t types translation functions mutable
                   3673:        Make the intran, outtran and destructor functions mutable using
                   3674:        preprocessor macros.  Make it possible to inject imports using the
                   3675:        MEMORY_OBJECT_IMPORTS macro.  This way, userspace servers can provide
                   3676:        their own translation functions.
                   3677: 
                   3678:        * include/mach/mach_types.defs (memory_object_t): Make the translation
                   3679:        mutable using preprocessor macros.
                   3680:        * include/mach/memory_object.defs: Likewise for the inlined type declarations.
                   3681:        Honor MEMORY_OBJECT_IMPORTS.
                   3682:        * include/mach/memory_object_default.defs: Likewise.
                   3683: 
                   3684: 2014-03-22  Samuel Thibault  <[email protected]>
                   3685: 
                   3686:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   3687: 
                   3688: 2014-03-22  Samuel Thibault  <[email protected]>
                   3689: 
                   3690:        Fix overflow
                   3691:        We were filling much more than the mapwindows array, thus overwriting in
                   3692:        at least debugger variables.
                   3693: 
                   3694:        * i386/intel/pmap.c (pmap_bootstrap): Make sure to limit mapwindows
                   3695:        initialization within PMAP_NMAPWINDOWS.
                   3696: 
                   3697: 2014-03-20  Justus Winter  <[email protected]>
                   3698: 
                   3699:        xen: fix error handling
                   3700:        Previously, the error KERN_RESOURCE_SHORTAGE was not properly
                   3701:        propagated.
                   3702: 
                   3703:        Found using the Clang Static Analyzer.
                   3704: 
                   3705:        * xen/block.c (device_open): Fix error handling, remove unused label.
                   3706:        * xen/net.c (device_open): Likewise.
                   3707: 
                   3708: 2014-03-20  Samuel Thibault  <[email protected]>
                   3709: 
                   3710:        Only complain once per boot about Xen console smash
                   3711:        * xen/console.c (hypputc): Make `complain' variable static.
                   3712: 
                   3713: 2014-03-17  Samuel Thibault  <[email protected]>
                   3714: 
                   3715:        Increase possible number of AHCI devices to 8
                   3716:        by reducing possible number of partitions to 32.
                   3717: 
                   3718:        * linux/dev/drivers/block/ahci.c (MAX_PORTS): Set to 8.
                   3719:        (PARTN_BITS): Set to 5.
                   3720: 
                   3721: 2014-03-03  Samuel Thibault  <[email protected]>
                   3722: 
                   3723:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   3724: 
                   3725: 2014-03-03  Samuel Thibault  <[email protected]>
                   3726: 
                   3727:        Keep two virtual pages as mapping windows to access physical memory
                   3728:        PCI devices expose their memory etc. way beyond last_phys_addr. Userland
                   3729:        drivers opening /dev/mem need to open those too, even if phystokv() will
                   3730:        not work for them.
                   3731: 
                   3732:        * i386/intel/pmap.h (pmap_mapwindow_t): New type.
                   3733:        (pmap_get_mapwindow, pmap_put_mapwindow): New prototypes.
                   3734:        (PMAP_NMAPWINDOWS): New macro.
                   3735:        * i386/intel/pmap.c (mapwindows): New array.
                   3736:        (pmap_get_mapwindow, pmap_put_mapwindow): New functions.
                   3737:        (pmap_bootstrap, pmap_virtual_space): Reserve virtual pages for the mapping
                   3738:        windows.
                   3739:        * i386/i386/phys.c: Include <i386/model_dep.h>
                   3740:        (INTEL_PTE_W, INTEL_PTE_R): New macros
                   3741:        (pmap_zero_page, pmap_copy_page, copy_to_phys, copy_from_phys): Use
                   3742:        `pmap_get_mapwindow' to temporarily map physical pages beyond last_phys_addr.
                   3743: 
                   3744: 2014-02-26  Justus Winter  <[email protected]>
                   3745: 
                   3746:        kern: fix mig_strncpy
                   3747:        Previously, the function mig_strncpy would always zero-terminate the
                   3748:        destination string.  Make mig_strncpy behave like mig_strncpy and
                   3749:        strncpy in the glibc.  Also fix the implementation of mig_strncpy to
                   3750:        return the length of the written string to align the implementation
                   3751:        with the declaration in include/mach/mig_support.h.
                   3752: 
                   3753:        * kern/ipc_mig.c (mig_strncpy): Do not zero-terminate the destination
                   3754:        string.  Return length of destination string.
                   3755: 
                   3756: 2014-02-23  Samuel Thibault  <[email protected]>
                   3757: 
                   3758:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   3759: 
                   3760:        AHCI driver cleanups
                   3761:        * linux/dev/drivers/block/ahci.c (struct port): Add id and is_cd fields.
                   3762:        (ahci_end_request): Only print error if quiet flag of the request is not
                   3763:        set.
                   3764:        (ahci_do_port_request): Upgrade sector parameter to 64 bit. Include
                   3765:        those bits in the LBA48 request.
                   3766:        (ahci_do_request): Upgrade sector count to 64bit. Only print errors if
                   3767:        quiet flag of the request is not set.
                   3768:        (ahci_probe_port): Move identify code...
                   3769:        (ahci_identify): ... to new function. Handle WIN_PIDENTIFY case to
                   3770:        recognize ATAPI devices.
                   3771:        (ahci_probe_port): Also try WIN_PIDENTIFY command.
                   3772:        (ahci_geninit): Avoid checking partition table on empty devices.
                   3773: 
                   3774: 2014-02-19  Justus Winter  <[email protected]>
                   3775: 
                   3776:        include: skip routines related to migrating threads
                   3777:        * include/mach/mach_port.defs: Skip the routines mach_port_set_rpcinfo
                   3778:          and mach_port_create_act if MIGRATING_THREADS is not defined.
                   3779: 
                   3780: 2014-02-12  Samuel Thibault  <[email protected]>
                   3781: 
                   3782:        Reduce kmem_map to make room for kentry_data_size
                   3783:        * kern/slab.c (KMEM_MAP_SIZE): Decrease from 128MiB to 96MiB.
                   3784: 
                   3785: 2014-02-10  Samuel Thibault  <[email protected]>
                   3786: 
                   3787:        Make open return ENXIO on missing CD-ROM
                   3788:        * linux/src/drivers/block/ide-cd.c (ide_cdrom_open): Return -ENXIO when
                   3789:        CD sense failed.
                   3790: 
                   3791:        Add quiet flag to CD I/O
                   3792:        * linux/src/drivers/block/ide-cd.c (cdrom_queue_packet_command): Add `quiet'
                   3793:        parameter, copied into the request.
                   3794:        (cdrom_decode_status): Do not print I/O error when `quiet' field of
                   3795:        request is non-zero.
                   3796:        (cdrom_end_request): Do not print sense results when `quiet' field of
                   3797:        request is non-zero.
                   3798:        (cdrom_check_status, cdrom_read_capacity, cdrom_read_tocentry): Pass 1 to
                   3799:        `cdrom_queue_packet_command''s `quiet' parameter.
                   3800:        (cdrom_lockdoor, cdrom_eject, cdrom_pause, cdrom_startstop,
                   3801:        cdrom_read_subchannel, cdrom_mode_sense, cdrom_mode_select,
                   3802:        cdrom_play_lba_range_1, cdrom_read_block, cdrom_load_unload,
                   3803:        ide_cdrom_ioctl): Pass 0 to `cdrom_queue_packet_command''s `quiet' parameter.
                   3804: 
                   3805:        Add missing initialization
                   3806:        * linux/src/drivers/block/ide.c (ide_init_drive_cmd): Initialize `quiet'
                   3807:        field of request to 0;
                   3808: 
                   3809:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   3810: 
                   3811: 2014-02-10  Samuel Thibault  <[email protected]>
                   3812: 
                   3813:        Add quiet flag to block I/O
                   3814:        This avoids grub & such making Mach print flurries of floppy errors.
                   3815: 
                   3816:        * linux/dev/include/linux/blkdev.h (request): Add `quiet' field.
                   3817:        * linux/dev/include/linux/blk.h (end_request): Print I/O error only if
                   3818:        the `quiet' field of the request is 0.
                   3819:        * linux/dev/include/linux/fs.h (ll_rw_block): Add `quiet' parameter.
                   3820:        * linux/dev/glue/block.c (ll_rw_block): Add `quiet' parameter, copied into
                   3821:        the request.
                   3822:        (bread, rdwr_partial, rdwr_full): Pass 0 to `ll_rw_block''s `quiet' parameter.
                   3823:        * linux/dev/drivers/block/floppy.c (floppy_revalidate): Pass 1 to
                   3824:        `ll_rw_block''s `quiet' parameter.
                   3825: 
                   3826: 2014-02-06  Richard Braun  <[email protected]>
                   3827: 
                   3828:        vm: trigger garbage collection on kernel memory pressure
                   3829:        In addition to physical pages, the slab allocator also consumes kernel
                   3830:        virtual memory, so reclaim pages on failure to allocate from a kernel map.
                   3831:        This method isn't foolproof but helps alleviate fragmentation.
                   3832: 
                   3833:        * vm/vm_kern.c (kmem_alloc): Call slab_collect and retry allocation
                   3834:        once on failure.
                   3835:        (kmem_realloc): Likewise.
                   3836:        (kmem_alloc_wired): Likewise.
                   3837:        (kmem_alloc_wired): Likewise.
                   3838:        (kmem_alloc_aligned): Likewise.
                   3839: 
                   3840: 2014-02-05  Samuel Thibault  <[email protected]>
                   3841: 
                   3842:        Remove duplicate typedef
                   3843:        * device/net_io.c (net_rcv_port_t, net_hash_entry_t, net_hash_header_t):
                   3844:        Remove duplicate typedefs.
                   3845: 
                   3846: 2014-02-05  Justus Winter  <[email protected]>
                   3847: 
                   3848:        doc: document task_set_name
                   3849:        * doc/mach.texi (Task Information): Document the new task_set_name
                   3850:        procedure.
                   3851: 
                   3852: 2014-02-05  Justus Winter  <[email protected]>
                   3853: 
                   3854:        include: add task_set_name
                   3855:        task_set_name sets the name of a task.  This is a debugging aid.  The
                   3856:        name will be used in error messages printed by the kernel.
                   3857: 
                   3858:        * include/mach/gnumach.defs (task_set_name): New procedure.
                   3859: 
                   3860: 2014-02-05  Justus Winter  <[email protected]>
                   3861: 
                   3862:        kern: implement task_set_name
                   3863:        task_set_name sets the name of a task.  This is a debugging aid.  The
                   3864:        name will be used in error messages printed by the kernel.
                   3865: 
                   3866:        * kern/task.c (task_set_name): New function.
                   3867:        * kern/task.h (task_set_name): New declaration.
                   3868: 
                   3869: 2014-02-04  Samuel Thibault  <[email protected]>
                   3870: 
                   3871:        Fix comstart when the queue is empty
                   3872:        Found by Coverity
                   3873: 
                   3874:        * i386/i386at/com.c (comstart): Make `nch' an int.  When `getc' returns
                   3875:        -1, just return.
                   3876: 
                   3877: 2014-02-04  Samuel Thibault  <[email protected]>
                   3878: 
                   3879:        Fix potential NULL dereference
                   3880:        Found by Coverity
                   3881: 
                   3882:        * i386/i386/user_ldt.c (i386_get_ldt): Fetch `pcb' field of `thread'
                   3883:        only after looking for `thread' being NULL.
                   3884: 
                   3885: 2014-02-04  Samuel Thibault  <[email protected]>
                   3886: 
                   3887:        Fix potential NULL dereference
                   3888:        * vm/vm_kern.c (projected_buffer_deallocate): Look for `map' being NULL
                   3889:        or kernel_map before locking it.
                   3890: 
                   3891: 2014-02-04  Samuel Thibault  <[email protected]>
                   3892: 
                   3893:        Fix potential NULL dereference
                   3894:        Found by Coverity
                   3895: 
                   3896:        * i386/i386/db_trace.c (db_find_kthread): Handle case when task is NULL.
                   3897: 
                   3898: 2014-02-04  Samuel Thibault  <[email protected]>
                   3899: 
                   3900:        Fix potential NULL dereference
                   3901:        Found by Coverity.
                   3902: 
                   3903:        * i386/i386at/com.c (comopen): On com_reprobe() returning success, check
                   3904:        for `isai' again.
                   3905: 
                   3906: 2014-02-04  Justus Winter  <[email protected]>
                   3907: 
                   3908:        xen: fix buffer size
                   3909:        Previously, only strlen(device_name) bytes were allocated, missing one
                   3910:        byte for the terminating zero.
                   3911: 
                   3912:        * xen/block.c (hyp_block_init): Fix buffer size.
                   3913: 
                   3914: 2014-02-04  Justus Winter  <[email protected]>
                   3915: 
                   3916:        ddb: safely copy symbol names into the symtab structure
                   3917:        Use strncpy instead of strcpy to copy the name of a symbol into the
                   3918:        symtab structure.  Make sure that the string is properly terminated.
                   3919: 
                   3920:        Found using Coverity.
                   3921: 
                   3922:        * ddb/db_sym.c (db_add_symbol_table): Use strncpy instead of strcpy,
                   3923:        ensure string termination.
                   3924: 
                   3925: 2014-02-04  Justus Winter  <[email protected]>
                   3926: 
                   3927:        kern: make kmem_error panic
                   3928:        The slab allocator relies on the fact that kmem_cache_error does not
                   3929:        return.  Previously, kmem_error was using printf.  Use panic instead.
                   3930: 
                   3931:        Found using the Clang Static Analyzer.
                   3932: 
                   3933:        * kern/slab.c (kmem_error): Use panic instead of printf.
                   3934: 
                   3935: 2014-02-04  Justus Winter  <[email protected]>
                   3936: 
                   3937:        kern: use kmem_warn instead of kmem_error in kmem_cache_error
                   3938:        * kern/slab.c (kmem_cache_error): Use kmem_warn instead of kmem_error
                   3939:        to print the cache name and its address.
                   3940: 
                   3941: 2014-02-04  Samuel Thibault  <[email protected]>
                   3942: 
                   3943:        Fix FPU state copy size
                   3944:        * i386/i386/fpu.c (fpu_set_state, fpu_get_state): Fix size of
                   3945:        `user_fp_regs' access.
                   3946: 
                   3947:        Make empty while loops more prominent
                   3948:        * i386/i386at/kd.c (kdintr, kd_senddata, kd_sendcmd, kd_getgata,
                   3949:        kd_cmdreg_read, kd_cmdreg_write, kd_mouse_drain): Move semi colon of
                   3950:        empty while loops on a single line to make it more visible.
                   3951: 
                   3952: 2014-02-04  Samuel Thibault  <[email protected]>
                   3953: 
                   3954:        Fix FPU state access
                   3955:        Found by coverity.
                   3956: 
                   3957:        * i386/i386/fpu.c (fpu_set_state, fpu_get_state): Fix out of bound
                   3958:        `user_fp_regs' access.
                   3959: 
                   3960: 2014-02-04  Samuel Thibault  <[email protected]>
                   3961: 
                   3962:        Fix typo
                   3963:        * i386/i386at/kd_mouse.c (mouseopen): Fix typo.
                   3964: 
                   3965:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   3966: 
                   3967: 2014-02-04  Samuel Thibault  <[email protected]>
                   3968: 
                   3969:        Add missing break
                   3970:        Found by Coverity
                   3971: 
                   3972:        * i386/i386at/kd_mouse.c (mouseopen): Add missing break.
                   3973: 
                   3974: 2014-02-01  Justus Winter  <[email protected]>
                   3975: 
                   3976:        include: add a fixed-size string type for debugging purposes
                   3977:        * include/mach/debug.defs: New file.
                   3978:        * include/mach/debug.h: Likewise.
                   3979: 
                   3980:        ipc: use the name of the task for error messages
                   3981:        * ipc/mach_port.c (mach_port_destroy): Use the name of the task for
                   3982:        error messages.
                   3983:        (mach_port_deallocate): Likewise.
                   3984: 
                   3985:        kern: add a name field to struct task
                   3986:        * kern/task.c (task_create): Initialize name with the address of the task.
                   3987:        * kern/task.h (TASK_NAME_SIZE): New definition.
                   3988:        (struct task): Add field name.
                   3989: 
                   3990:        kern: add snprintf
                   3991:        * kern/printf.c (snprintf): New function.
                   3992:        * kern/printf.h (snprintf): New declaration.
                   3993: 
                   3994: 2014-01-16  Justus Winter  <[email protected]>
                   3995: 
                   3996:        kern: include the mig-generated server headers in ipc_kobject.c
                   3997:        GNU MIG recently gained support for emitting x_server_routine
                   3998:        declarations in the generated server header file.  Using this
                   3999:        declaration, the x_server_routine functions can be inlined into the
                   4000:        ipc_kobject_server function.
                   4001: 
                   4002:        * kern/ipc_kobject.c: Include the mig-generated server headers.
                   4003: 
                   4004: 2014-01-16  Justus Winter  <[email protected]>
                   4005: 
                   4006:        vm: remove the declaration of memory_object_create_proxy
                   4007:        It is not clear to me why the declaration was put there in the first
                   4008:        place.  It is not used anywhere, and it conflicts with the declaration
                   4009:        generated by mig.
                   4010: 
                   4011:        * vm/memory_object_proxy.h (memory_object_create_proxy): Remove declaration.
                   4012: 
                   4013: 2014-01-09  Justus Winter  <[email protected]>
                   4014: 
                   4015:        kern: align kmem_cache objects using __cacheline_aligned
                   4016:        * kern/slab.h (struct kmem_cache): Align kmem_cache objects using
                   4017:        __cacheline_aligned.
                   4018: 
                   4019:        include: add new file for cache-related definitions
                   4020:        * include/cache.h (__cacheline_aligned): This macro can be used to
                   4021:        align statically allocated objects so that they start at a cache line.
                   4022: 
                   4023: 2014-01-06  Justus Winter  <[email protected]>
                   4024: 
                   4025:        kern: optimize the layout of struct kmem_cache
                   4026:        * kern/slab.h (struct kmem_cache): Reorder the fields so that all hot
                   4027:        fields are within the first cache line.
                   4028: 
                   4029: 2014-01-05  Justus Winter  <[email protected]>
                   4030: 
                   4031:        kern: explain the significance of the chosen length
                   4032:        * kern/slab.h (KMEM_CACHE_NAME_SIZE): Explain the significance of the
                   4033:        chosen length.
                   4034: 
                   4035: 2014-01-05  Justus Winter  <[email protected]>
                   4036: 
                   4037:        linux: fix bit tests
                   4038:        The pattern is !x&y. An expression of this form is almost always
                   4039:        meaningless, because it combines a boolean operator with a bit
                   4040:        operator. In particular, if the rightmost bit of y is 0, the result
                   4041:        will always be 0.
                   4042: 
                   4043:        Fixed using coccinelle.
                   4044: 
                   4045:        // !x&y combines boolean negation with bitwise and
                   4046:        //
                   4047:        // Confidence: High
                   4048:        // Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU.  GPLv2.
                   4049:        // URL: http://www.emn.fr/x-info/coccinelle/rules/notand.html
                   4050:        // Options:
                   4051: 
                   4052:        @@ expression E1,E2; @@
                   4053:        (
                   4054:          !E1 & !E2
                   4055:        |
                   4056:        - !E1 & E2
                   4057:        + !(E1 & E2)
                   4058:        )
                   4059: 
                   4060:        * linux/src/drivers/scsi/FlashPoint.c: Fix bit tests.
                   4061: 
                   4062: 2014-01-05  Justus Winter  <[email protected]>
                   4063: 
                   4064:        linux: fix bit tests
                   4065:        The pattern is !x&y. An expression of this form is almost always
                   4066:        meaningless, because it combines a boolean operator with a bit
                   4067:        operator. In particular, if the rightmost bit of y is 0, the result
                   4068:        will always be 0.
                   4069: 
                   4070:        Fixed using coccinelle.
                   4071: 
                   4072:        // !x&y combines boolean negation with bitwise and
                   4073:        //
                   4074:        // Confidence: High
                   4075:        // Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU.  GPLv2.
                   4076:        // URL: http://www.emn.fr/x-info/coccinelle/rules/notand.html
                   4077:        // Options:
                   4078: 
                   4079:        @@ expression E; constant C; @@
                   4080:        (
                   4081:          !E & !C
                   4082:        |
                   4083:        - !E & C
                   4084:        + !(E & C)
                   4085:        )
                   4086: 
                   4087:        * linux/src/drivers/net/tlan.c: Fix bit tests.
                   4088:        * linux/src/drivers/scsi/AM53C974.c: Likewise.
                   4089:        * linux/src/drivers/scsi/FlashPoint.c: Likewise.
                   4090:        * linux/src/drivers/scsi/NCR5380.c: Likewise.
                   4091:        * linux/src/drivers/scsi/t128.c: Likewise.
                   4092: 
                   4093: 2014-01-03  Justus Winter  <[email protected]>
                   4094: 
                   4095:        kern: make struct kmem_cache fit into two cache lines
                   4096:        Previously, the size of struct kmem_cache was 136 bytes, just eight
                   4097:        bytes larger than 128 bytes, which is typically two cache lines on
                   4098:        today's CPUs.
                   4099: 
                   4100:        By reducing the size of the name field which holds a human-readable
                   4101:        description by eight bytes to 24 bytes, the struct kmem_cache can be
                   4102:        made fit into two cache lines.  This change should not affect the
                   4103:        usefulness of this field.  For reference, the length of the largest
                   4104:        hard-coded name is 17.
                   4105: 
                   4106:        * kern/slab.h (KMEM_CACHE_NAME_SIZE): Define to 24.
                   4107: 
                   4108: 2014-01-03  Justus Winter  <[email protected]>
                   4109: 
                   4110:        kern: reduce the size of struct task
                   4111:        * kern/task.h (struct task): Reduce the size of struct task by
                   4112:        2 * sizeof boolean_t by using a bit field for the boolean flags.
                   4113: 
                   4114: 2014-01-03  Justus Winter  <[email protected]>
                   4115: 
                   4116:        vm: reduce the size of struct vm_page
                   4117:        Previously, the bit field left 31 bits unused.  By reducing the size
                   4118:        of wire_count by one bit, the size of the whole struct is reduced by
                   4119:        four bytes.
                   4120: 
                   4121:        * vm/vm_page.h (struct vm_page): Reduce the size of wire_count to 15
                   4122:        bits.
                   4123: 
                   4124: 2014-01-03  Justus Winter  <[email protected]>
                   4125: 
                   4126:        vm: merge the two bit fields in struct vm_page
                   4127:        * vm/vm_page.h (struct vm_page): Merge the two bit fields.
                   4128: 
                   4129: 2014-01-03  Justus Winter  <[email protected]>
                   4130: 
                   4131:        vm: remove NS32000-specific padding from struct vm_page
                   4132:        Apparently, the NS32000 was a 32-bit CPU from the 1990ies.  The string
                   4133:        "ns32000" appears nowhere else in the source.
                   4134: 
                   4135:        * vm/vm_page.h (struct vm_page): Remove NS32000-specific padding.
                   4136: 
                   4137: 2014-01-02  Samuel Thibault  <[email protected]>
                   4138: 
                   4139:        Make sure cursor is initialized
                   4140:        * i386/i386at/kd.c (kd_xga_init): Add start, stop variables, read them
                   4141:        from CRT registers, make sure the cursor is enabled and is not reduced
                   4142:        to 0, and write them back to CRT registers.
                   4143:        * i386/i386at/kd.h (C_START, C_STOP): New macros.
                   4144: 
                   4145: 2014-01-01  Marin Ramesa  <[email protected]>
                   4146: 
                   4147:        i386/include/mach/i386/mach_i386_types.h: add comments after else and endif
                   4148:        * i386/include/mach/i386/mach_i386_types.h (MACH_KERNEL): Add comments after else and endif.
                   4149: 
                   4150:        Add comment after endif
                   4151:        * i386/i386/io_perm.h (_I386_IO_PERM_H_): Add comment after endif.
                   4152: 
                   4153: 2013-12-20  Samuel Thibault  <[email protected]>
                   4154: 
                   4155:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   4156: 
                   4157: 2013-12-20  Marin Ramesa  <[email protected]>
                   4158: 
                   4159:        Mark pure functions with attribute pure
                   4160: 
                   4161:        kern/strings.c (strlen): mark with attribute pure
                   4162:        * kern/strings.c (strlen): Mark with attribute pure.
                   4163: 
                   4164:        ddb/db_watch.c (db_watchpoint_cmd): remove forward declaration
                   4165:        * ddb/db_watch.c (db_watchpoint_cmd) (db_option): Remove forward declaration.
                   4166: 
                   4167: 2013-12-20  Marin Ramesa  <[email protected]>
                   4168: 
                   4169:        Declare void argument lists (part 2)
                   4170:        Declare void argument lists that were not declared in the first
                   4171:        part of this patch and
                   4172: 
                   4173:        * kern/sched_prim.h (recompute_priorities): Fix prototype.
                   4174:        * kern/startup.c (setup_main) (recompute_priorities): Fix call.
                   4175: 
                   4176: 2013-12-18  Justus Winter  <[email protected]>
                   4177: 
                   4178:        i386: add missing includes
                   4179:        * i386/i386at/kd_event.h: Add missing includes.
                   4180: 
                   4181: 2013-12-17  Marin Ramesa  <[email protected]>
                   4182: 
                   4183:        kern: avoid the casts in enqueue_head() and enqueue_tail()
                   4184:        * kern/eventcount.c (simpler_thread_setrun) (enqueue_head) (th): Avoid the cast.
                   4185:        * kern/thread.c (thread_halt_self) (enqueue_tail) (thread): Likewise.
                   4186:        * kern/thread_swap.c (thread_swapin) (enqueue_tail) (thread): Likewise.
                   4187: 
                   4188:        Mark functions that don't return with attribute noreturn
                   4189: 
                   4190:        vm: qualify pointers whose dereferenced values are constant with const
                   4191: 
                   4192:        util: qualify pointers whose dereferenced values are constant with const
                   4193: 
                   4194:        kern: qualify pointers whose dereferenced values are constant with const
                   4195: 
                   4196:        ipc: qualify pointers whose dereferenced values are constant with const
                   4197: 
                   4198:        i386: qualify pointers whose dereferenced values are constant with const
                   4199: 
                   4200:        device: qualify pointers whose dereferenced values are constant with const
                   4201: 
                   4202:        Cleanup of the copyin() and copyout() calls
                   4203:        * device/ds_routines.c (device_write_trap) (copyin) (data): Cast to (void *). Argument is an address.
                   4204:        (device_write_trap) (copyin) (io_data): Don't cast.
                   4205:        (device_writev_trap) (copyin) (iovec, stack_iovec): Likewise.
                   4206:        (device_writev_trap) (copyin) (data, p): Cast to (void *). Arguments are addresses.
                   4207:        * kern/bootstrap.c (build_args_and_stack) (copyout) (arg_count, string_pos, zero): Don't cast.
                   4208:        * kern/ipc_mig.c (syscall_vm_map) (copyin, copyout) (addr, address): Likewise.
                   4209:        (syscall_vm_allocate) (copyin, copyout) (addr, address): Likewise.
                   4210:        (syscall_task_create) (copyout) (name, child_task): Likewise.
                   4211:        (syscall_mach_port_allocate) (copyout) (name, namep): Likewise.
                   4212:        * kern/time_stamp.c (copyout) (temp, tsp): Likewise.
                   4213: 
                   4214: 2013-12-17  Marin Ramesa  <[email protected]>
                   4215: 
                   4216:        kern/sched_prim.h: remove unnecessary __GNUC__ #ifdef
                   4217:        Attribute noreturn is used irrespective of __GNUC__. Remove
                   4218:        unnecessary #ifdef.
                   4219: 
                   4220:        * kern/sched_prim.h [__GNUC__]: Remove #ifdef.
                   4221: 
                   4222: 2013-12-17  Justus Winter  <[email protected]>
                   4223: 
                   4224:        xen: add missing includes
                   4225:        * xen/console.h: Add missing includes.
                   4226: 
                   4227: 2013-12-16  Marin Ramesa  <[email protected]>
                   4228: 
                   4229:        kern: quiet GCC warnings about set but unused variables
                   4230:        * kern/lock.h (simple_lock_data_empty): Define.
                   4231:        (decl_simple_lock_data, simple_unlock): Likewise.
                   4232:        * kern/sched_prim.c (lock): Declare.
                   4233:        [MACH_SLOCKS]: Remove #ifs.
                   4234:        * kern/task.c (task_lock, task_unlock): Remove address operator.
                   4235: 
                   4236:        Quiet GCC warning about uninitialized variable
                   4237:        * ddb/db_command.h (db_error): Mark with attribute noreturn.
                   4238:        * i386/i386/setjmp.h (_longjmp): Likewise.
                   4239: 
                   4240: 2013-12-15  Marin Ramesa  <[email protected]>
                   4241: 
                   4242:        i386/i386/db_trace.c: use (long *) instead of an (int *)
                   4243:        * i386/i386/db_trace.c (db_lookup_i386_kreg) (kregp): Use (long *) instead of an (int *).
                   4244: 
                   4245:        device/dev_pager.c (device_pager_data_request_done): cast to size_t instead to unsigned
                   4246:        * device/dev_pager.c (device_pager_data_request_done) (memset) (io_residual): Cast to size_t instead to unsigned.
                   4247: 
                   4248: 2013-12-15  Marin Ramesa  <[email protected]>
                   4249: 
                   4250:        device/dev_pager.c: remove unnecessary casts
                   4251:        Variable pager is already of ipc_port_t type.
                   4252: 
                   4253:        * device/dev_pager.c: Remove unnecessary casts.
                   4254: 
                   4255: 2013-12-15  Marin Ramesa  <[email protected]>
                   4256: 
                   4257:        kern/sched_prim.c: avoid casts
                   4258:        Avoid the casts by passing the address of the links thread
                   4259:        structure member to enqueue_tail().
                   4260: 
                   4261:        * kern/sched_prim.c: Avoid casts.
                   4262: 
                   4263: 2013-12-15  Marin Ramesa  <[email protected]>
                   4264: 
                   4265:        ddb: qualify pointers whose dereferenced values are constant with const
                   4266: 
                   4267: 2013-12-15  Samuel Thibault  <[email protected]>
                   4268: 
                   4269:        Fix gcc signedness warning
                   4270:        Thanks Marin Ramesa and Richard Braun for investigating.
                   4271: 
                   4272:        * i386/i386at/kd.c (kdintr): Make `char_idx' and `max' unsigned.
                   4273:        (kdstate2idx): Make function take and return unsigned ints for the state.
                   4274:        * i386/i386at/kd.h (kdstate2idx): Likewise.
                   4275: 
                   4276: 2013-12-15  Marin Ramesa  <[email protected]>
                   4277: 
                   4278:        Type definition
                   4279:        * i386/i386/ast_check.c (init_ast_check, cause_ast_check): Define return type.
                   4280:        * i386/i386/pic.c (intnull, prtnull): Define argument types.
                   4281:        * i386/i386at/com.c (compr_addr): Likewise.
                   4282:        (compr): Likewise.
                   4283:        (compr_addr): Fix printf format.
                   4284:        * i386/i386at/kd.c (kd_cmdreg_write, kd_kbd_magic): Define argument types.
                   4285:        * i386/i386at/kd_mouse.c (init_mouse_hw): Likewise.
                   4286:        * ipc/mach_port.c (sact_count): Define return type.
                   4287:        * ipc/mach_rpc.c (mach_port_rpc_sig): Define argument types.
                   4288:        * kern/act.c (dump_act): Define return type.
                   4289:        * kern/lock_mon.c (simple_lock, simple_lock_try, simple_unlock, lip, lock_info_sort, lock_info_clear, print_lock_info): Define return type.
                   4290:        (time_lock): Define return type and argument type.
                   4291:        * kern/timer.c (time_trap_uexit): Define argument type.
                   4292: 
                   4293: 2013-12-15  Marin Ramesa  <[email protected]>
                   4294: 
                   4295:        ddb/db_expr.c (db_mult_expr): initialize lhs
                   4296:        Initialize lhs to zero to avoid uninitialized usage in db_unary().
                   4297: 
                   4298:        * ddb/db_expr.c (db_mult_expr) (lhs): Initialize to zero.
                   4299: 
                   4300: 2013-12-15  Marin Ramesa  <[email protected]>
                   4301: 
                   4302:        ddb/db_break.c (db_delete_cmd): remove unnecessary initialization
                   4303:        Now that we have returns there are no more warnings from GCC about
                   4304:        uninitialized variable. Remove unnecessary initialization of variable
                   4305:        bkpt.
                   4306: 
                   4307:        * ddb/db_break.c (db_delete_cmd) (bkpt): Remove unnecessary initialization.
                   4308: 
                   4309: 2013-12-15  Marin Ramesa  <[email protected]>
                   4310: 
                   4311:        ddb/db_break.c (db_find_breakpoint_here): remove unnecessary casts
                   4312:        Variable addr and member address are already of db_addr_t type which
                   4313:        is type defined as vm_offset_t.
                   4314: 
                   4315:        * ddb/db_break.c (db_find_breakpoint_here) (DB_PHYS_EQ) (addr, address): Remove unecessary casts.
                   4316: 
                   4317: 2013-12-15  Marin Ramesa  <[email protected]>
                   4318: 
                   4319:        vm/vm_resident.c (vm_page_print): remove unnecessary casts
                   4320:        Members offset and phys_addr are of vm_offset_t types.
                   4321: 
                   4322:        * vm/vm_resident.c (vm_page_print) (offset, phys_addr): Remove unnecessary casts.
                   4323: 
                   4324: 2013-12-15  Marin Ramesa  <[email protected]>
                   4325: 
                   4326:        vm/vm_kern.c (kmem_submap): remove unnecessary cast
                   4327:        The return value from vm_map_min() is already of vm_offset_t type.
                   4328: 
                   4329:        * vm/vm_kern.c (kmem_submap) (addr): Remove unnecessary cast.
                   4330: 
                   4331: 2013-12-15  Marin Ramesa  <[email protected]>
                   4332: 
                   4333:        i386/i386/ldt.c: remove forward declaration
                   4334:        * i386/i386/ldt.c (syscall): Remove forward declaration.
                   4335:        Include locore.h.
                   4336:        * i386/i386/locore.h (syscall): Add prototype.
                   4337: 
                   4338: 2013-12-15  Marin Ramesa  <[email protected]>
                   4339: 
                   4340:        kern/mach_clock.c: update comment
                   4341:        This is mach_clock.c, not clock_prim.c.
                   4342: 
                   4343:        * kern/mach_clock.c: Update comment.
                   4344: 
                   4345: 2013-12-15  Marin Ramesa  <[email protected]>
                   4346: 
                   4347:        Declare void argument lists
                   4348: 
                   4349: 2013-12-11  Marin Ramesa  <[email protected]>
                   4350: 
                   4351:        i386/i386at/kd_mouse.c (kd_mouse_open): remove forward declaration
                   4352:        * i386/i386at/kd_mouse.c (kd_mouse_open) (kdintr): Remove forward declaration.
                   4353: 
                   4354:        i386/i386at/kd.c (kdinit): remove forward declaration
                   4355:        * i386/i386at/kd.c (kdinit) (kd_xga_init): Remove forward declaration.
                   4356:        * i386/i386at/kd.h (kd_xga_init): Add prototype.
                   4357: 
                   4358: 2013-12-11  Marin Ramesa  <[email protected]>
                   4359: 
                   4360:        i386/i386at/kd.c (kdmmap): remove unnecessary cast
                   4361:        Variable off is already an unsigned int.
                   4362: 
                   4363:        * i386/i386at/kd.c (kdmmap) (off): Remove unnecessary cast.
                   4364: 
                   4365: 2013-12-11  Marin Ramesa  <[email protected]>
                   4366: 
                   4367:        i386/i386at/kd.c: remove forward declarations
                   4368:        * i386/i386at/kd.c (kd_getdata, state2leds, kdstart, kdstop): Remove forward declarations.
                   4369:        * i386/i386at/kd.h (kd_getdata, state2leds, kdstart, kdstop): Add prototypes.
                   4370:        Include device/tty.h.
                   4371: 
                   4372: 2013-12-11  Marin Ramesa  <[email protected]>
                   4373: 
                   4374:        i386/i386/db_trace.c (db_i386_stack_trace): remove unnecessary cast
                   4375:        Argument to INKERNEL() is already cast to vm_offset_t in the macro itself.
                   4376: 
                   4377:        * i386/i386/db_trace.c (db_i386_stack_trace) (INKERNEL) (callpc): Don't cast to unsigned long.
                   4378:        (db_i386_stack_trace) (INKERNEL) (frame): Likewise.
                   4379: 
                   4380: 2013-12-11  Marin Ramesa  <[email protected]>
                   4381: 
                   4382:        i386/i386/db_trace.c: remove forward declaration
                   4383:        * i386/Makefrag.am: List i386/i386/db_trace.h.
                   4384:        * i386/i386/db_trace.c: Include machine/db_trace.h.
                   4385:        (db_i386_stack_trace): Remove forward declaration.
                   4386:        * i386/i386/db_trace.h: New file.
                   4387:        Add copyright.
                   4388:        [_I386_DB_TRACE_H_]: Add ifndef.
                   4389:        (i386_frame): Declare forward.
                   4390:        (db_i386_stack_trace): Add prototype.
                   4391: 
                   4392: 2013-12-11  Marin Ramesa  <[email protected]>
                   4393: 
                   4394:        ipc/mach_debug.c (mach_port_kernel_object): remove unnecessary cast
                   4395:        Member ip_kobject is of type vm_offset_t.
                   4396: 
                   4397:        * ipc/mach_debug.c (mach_port_kernel_object) (ip_kobject): Remove unnecessary cast.
                   4398: 
                   4399: 2013-12-11  Marin Ramesa  <[email protected]>
                   4400: 
                   4401:        ipc/mach_debug.c (mach_port_kernel_object): remove unnecessary cast
                   4402:        Return value from ip_kotype is an unsigned int.
                   4403: 
                   4404:        * ipc/mach_debug.c (mach_port_kernel_object) (ip_kotype): Remove unnecessary cast.
                   4405: 
                   4406: 2013-12-11  Marin Ramesa  <[email protected]>
                   4407: 
                   4408:        Cleanup of the memcpy(), memmove(), memcmp() and memset() calls
                   4409:        Addresses were cast to (void *). Pointers uncasted.
                   4410: 
                   4411:        * device/ds_routines.c (ds_read_done) (memset) (start_sent): Cast to (void *) instead to (char *). Argument is an address.
                   4412:        (ds_read_done) (memset) (end_data): Likewise.
                   4413:        * i386/i386/pcb.c (thread_getstatus) (memcpy) (pm): Don't cast. Argument is a pointer.
                   4414:        (thread_getstatus) (memcpy) (iopb): Likewise.
                   4415:        * i386/i386at/immc.c (immc_cnputc) (memmove): Cast first argument to (void *). Argument is an address.
                   4416:        (immc_cnputc) (memmove): Cast second argument to (void *). Argument is an address.
                   4417:        (immc_cnputc) (memset): Cast first argument to (void *). Argument is an address.
                   4418:        * i386/i386at/model_dep.c (i386at_init) (memcpy) (phystokv): Cast to (void *) instead to (char *). Argument is an address.
                   4419:        * i386/intel/pmap.c (pmap_init) (memset) (addr): Likewise.
                   4420:        * ipc/mach_debug.c (mach_port_space_info) (memset) (table_addr + size_used): Likewise.
                   4421:        (mach_port_space_info) (memset) (tree_addr + size_used): Likewise.
                   4422:        * kern/host.c (host_processor_sets) (memcpy) (newaddr): Likewise.
                   4423:        (host_processor_sets) (memcpy) (addr): Likewise.
                   4424:        * kern/xpr.c (xprbootstrap) (memset) (addr): Likewise.
                   4425:        * vm/vm_debug.c (mach_vm_object_pages) (memset) (addr + size_used): Likewise.
                   4426: 
                   4427: 2013-12-10  Marin Ramesa  <[email protected]>
                   4428: 
                   4429:        device/subrs.c: use io_req_t instead of struct buf
                   4430:        Struct buf is not defined. Use io_req_t instead of it.
                   4431: 
                   4432:        * device/subrs.c (harderr) (bp): Change name to ior and use io_req_t as type instead of (struct buf *).
                   4433:        (harderr) (minor): Use io_unit instead of b_dev.
                   4434:        (harderr): Use io_recnum instead of b_blkno.
                   4435:        (gateblk): Use io_req_t as return value instead of (struct buf *).
                   4436:        (brelse) (bp): Change name to ior and use io_req_t as type instead of (struct buf *).
                   4437:        (brelse) (ior): Remove variable.
                   4438: 
                   4439: 2013-12-10  Marin Ramesa  <[email protected]>
                   4440: 
                   4441:        device/net_io.c: remove forward declarations
                   4442:        * device/net_io.c (bpf_hash, net_do_filter, bpf_do_filter, hash_ent_remove, net_free_dead_infp, net_free_dead_entp, bpf_validate, bpf_eq, net_add_q_info, bpf_match): Remove forward declarations.
                   4443:        * device/net_io.h (net_rcv_port, net_hash_entry, net_hash_header): Declare forward.
                   4444:        (bpf_hash, net_do_filter, bpf_do_filter, hash_ent_remove, net_free_dead_infp, net_free_dead_entp, bpf_validate, bpf_eq, net_add_q_info, bpf_match): Add prototypes.
                   4445: 
                   4446:        device/dev_pager.c: remove forward declarations
                   4447:        * device/dev_pager.c (device_pager_data_request_done, device_pager_data_write_done): Remove forward declarations.
                   4448:        * device/dev_pager.h (device_pager_data_request_done, device_pager_data_write_done): Add prototypes.
                   4449: 
                   4450:        device/dev_pager.c: remove forward declaration
                   4451:        * Makefrag.am: Include device/blkio.h.
                   4452:        * device/blkio.h: New file.
                   4453:        Add copyright.
                   4454:        [_DEVICE_BLKIO_H_]: Add ifndef.
                   4455:        (block_io_mmap): Add prototype.
                   4456:        * device/dev_pager.c: Include device/blkio.h.
                   4457:        (block_io_mmap): Remove forward declaration.
                   4458: 
                   4459: 2013-12-10  Marin Ramesa  <[email protected]>
                   4460: 
                   4461:        device/dev_pager.c (device_pager_data_request_done): remove unnecessary cast
                   4462:        The argument to trunc_page() is already cast to vm_offset_t in the
                   4463:        macro itself.
                   4464: 
                   4465:        * device/dev_pager.c (device_pager_data_request_done) (trunc_page) (io_data): Don't cast to vm_offset_t.
                   4466: 
                   4467: 2013-12-10  Marin Ramesa  <[email protected]>
                   4468: 
                   4469:        device/dev_pager.c (device_pager_data_request): cast to (void *) instead to (char *)
                   4470:        * device/dev_pager.c (device_pager_data_request) (vm_object_page_map) (ds): Cast to (void *) instead to (char *).
                   4471: 
                   4472:        device/dev_pager.c (device_pager_data_request): remove forward declaration
                   4473:        * Makefrag.am: Include device/dev_pager.h.
                   4474:        * device/dev_pager.c: Likewise.
                   4475:        (device_map_page): Remove forward declaration.
                   4476:        * device/dev_pager.h: New file.
                   4477:        Add copyright.
                   4478:        [_DEVICE_DEV_PAGER_H_]: Add ifndef.
                   4479:        (device_map_page): Add prototype.
                   4480: 
                   4481:        device/cons.c: fix argument list
                   4482:        * device/cons.c (romgetc, romputc): Fix argument list.
                   4483: 
                   4484: 2013-12-10  Marin Ramesa  <[email protected]>
                   4485: 
                   4486:        device/cirbuf.c (cb_free): use vm_size_t instead of an int
                   4487:        This is more in line with the call to kfree() in cb_free().
                   4488: 
                   4489:        * device/cirbuf.c (cb_free) (size): Use vm_size_t instead of an int.
                   4490: 
                   4491: 2013-12-10  Marin Ramesa  <[email protected]>
                   4492: 
                   4493:        device/cirbuf.c (cb_alloc): use vm_size_t instead of an int
                   4494:        This is more in line with the call to kalloc() in cb_alloc().
                   4495: 
                   4496:        * device/chario.c (tty_inq_size, tty_outq_size): Use unsigned int instead if an int.
                   4497:        * device/cirbuf.c (cb_alloc) (buf_size): Use vm_size_t instead of an int.
                   4498:        * device/cirbuf.h (cb_alloc) (buf_size): Likewise.
                   4499: 
                   4500: 2013-12-10  Marin Ramesa  <[email protected]>
                   4501: 
                   4502:        device/chario.c: trivial stylistic fix for consistency
                   4503:        * device/chario.c: Trivial stylistic fix for consistency.
                   4504: 
                   4505: 2013-12-10  Marin Ramesa  <[email protected]>
                   4506: 
                   4507:        i386/i386/db_interface.c: use vm_offset_t instead of an unsigned int
                   4508:        This is more in line with how the function db_user_to_kernel_address() is
                   4509:        called. In this way there is one cast less and several GCC warnings are
                   4510:        silenced.
                   4511: 
                   4512:        * i386/i386/db_interface.c (db_set_hw_watchpoint) (kern_addr): Use vm_offset_t instead of an unsigned int.
                   4513:        (db_user_to_kernel_address) (kaddr): Likewise.
                   4514:        (db_user_to_kernel_address) (ptetokv): Don't cast return value.
                   4515:        (db_read_bytes) (kern_addr): Use vm_offset_t instead of an unsigned int.
                   4516:        (db_write_bytes_user_space) (kern_addr): Likewise.
                   4517:        (db_task_name) (vaddr, kaddr): Likewise.
                   4518:        * i386/i386/db_interface.h (db_user_to_kernel_address) (kaddr): Likewise.
                   4519: 
                   4520: 2013-12-10  Marin Ramesa  <[email protected]>
                   4521: 
                   4522:        i386/i386at/kd_event.c (kbdsetstat): fix difference in signedness
                   4523:        * i386/i386at/kd_event.c (X_kdb_enter_init, X_kdb_exit_init): Cast first arguments to (unsigned int *).
                   4524: 
                   4525: 2013-12-10  Marin Ramesa  <[email protected]>
                   4526: 
                   4527:        i386: move prototypes to fix implicit declaration of function
                   4528:        This fixes the implicit declarations in kern/machine.c and kern/debug.c.
                   4529: 
                   4530:        * i386/i386/model_dep.h (halt_cpu, halt_all_cpus): Add prototypes.
                   4531:        * i386/i386at/model_dep.h (halt_cpu, halt_all_cpus): Remove prototypes.
                   4532: 
                   4533: 2013-12-08  Marin Ramesa  <[email protected]>
                   4534: 
                   4535:        ddb/db_trap.c (db_task_trap): remove forward declarations
                   4536:        * ddb/db_break.h (db_check_breakpoint_valid): Add prototype.
                   4537:        * ddb/db_trap.c (db_init_default_thread, db_check_breakpoint_valid): Remove forward declarations.
                   4538: 
                   4539: 2013-12-08  Marin Ramesa  <[email protected]>
                   4540: 
                   4541:        Use db_addr_t instead of db_expr_t
                   4542:        In this way everything falls into place and there is one cast less.
                   4543: 
                   4544:        Function db_task_printsym() is already always called with the cast to
                   4545:        db_addr_t in the first argument.
                   4546: 
                   4547:        * ddb/db_aout.c (aout_db_line_at_pc): Use db_addr_t instead of db_expr_t.
                   4548:        (aout_db_search_by_addr): Don't cast to vm_offset_t. Argument is already
                   4549:        db_addr_t.
                   4550:        * ddb/db_aout.h (aout_db_line_at_pc): Use db_addr_t instead of db_expr_t.
                   4551:        * ddb/db_sym.c (db_task_printsym): Likewise.
                   4552:        (db_line_at_pc): Likewise.
                   4553:        * ddb/db_sym.h (db_task_printsym): Likewise.
                   4554:        (db_line_at_pc): Likewise.
                   4555:        * i386/i386/db_trace.c (db_task_printsym): Cast to db_addr_t instead of db_expr_t.
                   4556:        Member swap_func is a pointer to void.
                   4557: 
                   4558: 2013-12-08  Marin Ramesa  <[email protected]>
                   4559: 
                   4560:        ddb/db_print.c: use unsigned long instead of an unsigned int
                   4561:        Variable db_maxoff is in other files declared as unsigned long.
                   4562: 
                   4563:        * ddb/db_print.c (db_maxoff): Use unsigned long instead of an unsigned int.
                   4564: 
                   4565: 2013-12-08  Marin Ramesa  <[email protected]>
                   4566: 
                   4567:        ddb/db_mp.c: definition of db_console() only if CONSOLE_ON_MASTER
                   4568:        Function db_console() is called only if CONSOLE_ON_MASTER.
                   4569: 
                   4570:        If it stays this way, db_console() will not compile. I don't know
                   4571:        if it should be removed. Maybe someone will rewrite it.
                   4572: 
                   4573:        * ddb/db_mp.c (db_console): Definition only if CONSOLE_ON_MASTER.
                   4574:        * ddb/db_mp.h [CONSOLE_ON_MASTER] (db_console): Add prototype.
                   4575: 
                   4576: 2013-12-08  Marin Ramesa  <[email protected]>
                   4577: 
                   4578:        ddb/db_mp.c: use boolean instead of an int
                   4579:        * ddb/db_mp.c (db_enter_debug): Use boolean instead of an int.
                   4580: 
                   4581:        ddb/db_examine.c: trivial stylistic fix for consistency
                   4582:        * ddb/db_examine.c: Trivial stylistic fix for consistency.
                   4583: 
                   4584:        ddb/db_examine.c (db_examine_cmd): remove forward declaration
                   4585:        * ddb/db_examine.c (db_option): Remove forward declaration.
                   4586: 
                   4587:        ddb/db_command.c (db_command): remove forward declaration
                   4588:        * ddb/db_command.c (db_fncall): Remove forward declaration.
                   4589: 
                   4590:        ddb/db_command.c: use boolean values
                   4591:        * ddb/db_command.c (db_cmd_loop_done): Use boolean values.
                   4592: 
                   4593: 2013-12-08  Marin Ramesa  <[email protected]>
                   4594: 
                   4595:        i386/i386at/kd.c: use io_req instead of uio
                   4596:        Struct uio is nowhere defined and in device/buf.h the string uio is defined
                   4597:        as io_req. Remove all declarations of uio structure and use io_req_t instead
                   4598:        of it.
                   4599: 
                   4600:        * device/buf.h (uio, io_req): Remove definition.
                   4601:        * i386/i386at/kd.c: Remove comment.
                   4602:        (kdread): Use io_req_t.
                   4603:        (kdwrite): Likewise.
                   4604:        * i386/i386at/kd.h (kdread, kdwrite): Use io_req_t as argument type.
                   4605: 
                   4606: 2013-12-08  Marin Ramesa  <[email protected]>
                   4607: 
                   4608:        ddb/db_break.c (db_find_thread_breakpoint_here): remove unnecessary cast
                   4609:        Variable addr is already of type db_addr_t.
                   4610: 
                   4611:        * ddb/db_break.c (db_find_thread_breakpoint_here) (addr): Don't cast to db_addr_t.
                   4612: 
                   4613: 2013-12-08  Marin Ramesa  <[email protected]>
                   4614: 
                   4615:        ddb/db_break.c (db_add_thread_breakpoint): fix argument list
                   4616:        * ddb/db_break.c (db_add_thread_breakpoint): Fix argument list.
                   4617: 
                   4618:        ddb/db_aout.c (aout_db_lookup): remove forward declaration
                   4619:        * ddb/db_aout.c (db_sym_parse_and_lookup): Remove forward declaration.
                   4620:        * ddb/db_sym.h (db_sym_parse_and_lookup): Add prototype.
                   4621: 
                   4622: 2013-12-08  Marin Ramesa  <[email protected]>
                   4623: 
                   4624:        ddb/db_aout.c (aout_db_qualified_search): use DB_SYM_NULL as return value
                   4625:        Function aout_db_qualified_search() returns db_sym_t. Use DB_SYM_NULL as
                   4626:        return value instead of zero.
                   4627: 
                   4628:        * ddb/db_aout.c (aout_db_qualified_search): Use DB_SYM_NULL as return value.
                   4629: 
                   4630: 2013-12-08  Marin Ramesa  <[email protected]>
                   4631: 
                   4632:        i386/i386/db_interface.c: remove forward declaration
                   4633:        * i386/i386/db_interface.c (db_write_bytes_user_space): Remove forward declaration.
                   4634:        * i386/i386/db_interface.h (db_write_bytes_user_space): Add prototype.
                   4635: 
                   4636:        i386/i386at/lpr.c: fix initalization from incompatible pointer type
                   4637:        * i386/i386at/lpr.c (lprprobe): Modify argument types.
                   4638:        * i386/i386at/lpr.h (lprprobe): Likewise.
                   4639: 
                   4640:        i386/i386at/com.c: fix assignment from incompatible pointer type
                   4641:        * device/tty.h (tty): Modify so that correct argument list and return type is listed.
                   4642: 
                   4643:        i386/i386at/com.c: fix initialization from incompatible pointer type
                   4644:        * i386/i386at/com.c (comprobe): Modify argument types.
                   4645:        (comprobe): Cast from (struct bus_ctrl *) to (struct bus_device *).
                   4646:        comprobe_general() uses only a small subset of members, so it's all
                   4647:        the same which struct it is.
                   4648:        * i386/i386at/com.h (comprobe): Modify argument types.
                   4649: 
                   4650:        kern/startup.c: use boolean values
                   4651:        * kern/startup.c (reboot_on_panic): Use boolean values.
                   4652: 
                   4653:        vm/vm_map.c: use boolean instead of an int
                   4654:        * vm/vm_map.c (vm_map_pmap_enter_print, vm_map_pmap_enter_enable): Use boolean instead of an int.
                   4655: 
                   4656:        vm/vm_object.c: remove unused variable
                   4657:        * vm/vm_object.c (vm_object_terminate_remove_all): Remove unused variable.
                   4658: 
                   4659:        vm/vm_pageout.c: remove forward declarations
                   4660:        * vm/vm_pageout.c (vm_pageout_continue, vm_pageout_scan_continue): Remove forward declarations.
                   4661:        * vm/vm_pageout.h (vm_pageout_continue, vm_pageout_scan_continue): Add prototypes.
                   4662: 
                   4663:        i386/i386at/pic_isa.c: remove forward declaration
                   4664:        * i386/Makefrag.am: Include i386/i386/hardclock.h.
                   4665:        * i386/i386/hardclock.h: New file.
                   4666:        Add copyright.
                   4667:        [_I386_HARDCLOCK_H_]: Add ifndef.
                   4668:        (hardclock): Add prototype.
                   4669:        * i386/i386at/pic_isa.c (hardclock): Remove forward declaration.
                   4670:        Include i386/hardclock.h.
                   4671: 
                   4672:        i386/i386at/model_dep.c: fix argument list
                   4673:        * i386/i386at/model_dep.c (timemmap): Fix argument list.
                   4674: 
                   4675:        i386/i386at/lpr.c: fix argument list
                   4676:        * i386/i386at/lpr.c (lprprobe): Fix argument list.
                   4677: 
                   4678:        ddb/db_output.c: remove forward declaration
                   4679:        * ddb/db_input.h (db_check_interrupt): Add prototype.
                   4680:        * ddb/db_output.c: Include ddb/db_input.h.
                   4681:        (db_check_interrupt): Remove forward declaration.
                   4682: 
                   4683: 2013-12-08  Marin Ramesa  <[email protected]>
                   4684: 
                   4685:        kern/act.h: remove unnecessary include
                   4686:        File kern/act.h includes itself. Remove this include.
                   4687: 
                   4688:        * kern/act.h: Don't include kern/act.h.
                   4689: 
                   4690: 2013-12-08  Marin Ramesa  <[email protected]>
                   4691: 
                   4692:        Cleanup of the prototypes
                   4693:        * device/cirbuf.h (nqdb): Remove prototype without definition.
                   4694:        * device/conf.h (dev_set_indirect): Likewise.
                   4695:        * kern/boot_script.h (boot_script_read_file): Likewise.
                   4696:        * kern/eventcount.h (evc_notify_abort): Remove duplicate prototype.
                   4697:        * kern/thread.h (thread_set_own_priority): Likewise.
                   4698:        * kern/thread_swap.h (thread_swapout): Remove prototype without definition.
                   4699:        * kern/timer.h (softclock): Remove duplicate prototype.
                   4700:        * vm/pmap.h (pmap_resident_count, pmap_access, pmap_phys_address, pmap_phys_to_frame): Remove prototypes without function definition.
                   4701:        * vm/vm_page.h (vm_set_page_size): Likewise.
                   4702: 
                   4703:        vm/vm_page.h: remove unused variables
                   4704:        * vm/vm_page.h (first_phys_addr, last_phys_addr): Remove unused variables.
                   4705: 
                   4706:        kern/syscall_sw.c: use boolean instead of an int
                   4707:        * kern/syscall_sw.c (kern_invalid_debug): Use boolean instead of an int.
                   4708: 
                   4709: 2013-12-08  Marin Ramesa  <[email protected]>
                   4710: 
                   4711:        kern/refcount.h: remove unnecessary include
                   4712:        File kern/refcount.h includes itself. Remove this include.
                   4713: 
                   4714:        * kern/refcount.h: Don't include kern/refcount.h.
                   4715: 
                   4716: 2013-12-08  Marin Ramesa  <[email protected]>
                   4717: 
                   4718:        kern/rbtree.h: remove unnecessary include
                   4719:        File kern/rbtree.h includes itself. Remove this include.
                   4720: 
                   4721:        * kern/rbtree.h: Don't include kern/rbtree.h.
                   4722: 
                   4723: 2013-12-08  Marin Ramesa  <[email protected]>
                   4724: 
                   4725:        kern/priority.c: update comment
                   4726:        This is priority.c. Not clock_prim.c.
                   4727: 
                   4728:        * kern/priority.c: Update comment.
                   4729: 
                   4730: 2013-12-08  Marin Ramesa  <[email protected]>
                   4731: 
                   4732:        kern/pc_sample.c: remove unused variables
                   4733:        * kern/pc_sample.c (pc_sampling_enabled, pc_sampling_lock): Remove unused variables.
                   4734: 
                   4735:        kern/lock_mon.c: remove dead assignments
                   4736:        * kern/lock_mon.c (scurval, ssum, sli): Remove variables.
                   4737:        (scurval, ssum, sli): Remove dead assignments.
                   4738: 
                   4739: 2013-12-08  Marin Ramesa  <[email protected]>
                   4740: 
                   4741:        kern/lock_mon.c: use spl_t instead of an int
                   4742:        Variable curr_ipl is in other files declared as spl_t.
                   4743: 
                   4744:        * kern/lock_mon.c (curr_ipl): Use spl_t instead of an int.
                   4745: 
                   4746: 2013-12-08  Marin Ramesa  <[email protected]>
                   4747: 
                   4748:        kern/act.h: remove prototype without definition
                   4749:        * kern/act.h (act_create_kernel): Remove prototype without definition.
                   4750: 
                   4751: 2013-12-08  Samuel Thibault  <[email protected]>
                   4752: 
                   4753:        Add comment
                   4754: 
                   4755: 2013-12-08  Marin Ramesa  <[email protected]>
                   4756: 
                   4757:        ipc/port.h: update comment
                   4758:        This is ipc/port.h. Not ipc/ipc_port.h.
                   4759: 
                   4760:        * ipc/port.h: Update comment.
                   4761: 
                   4762: 2013-12-08  Marin Ramesa  <[email protected]>
                   4763: 
                   4764:        ipc/mach_port.c: use boolean instead of an int
                   4765:        * ipc/mach_port.c (mach_port_deallocate_debug): Use boolean instead of an int.
                   4766: 
                   4767:        ipc/ipc_init.c: qualify constant with const
                   4768:        * ipc/ipc_init.c (ipc_kernel_map_size): Qualify constant with const.
                   4769: 
                   4770:        i386/intel/pmap.c: remove unused variable
                   4771:        * i386/intel/pmap.c (end): Remove unused variable.
                   4772: 
                   4773:        i386/intel/pmap.c: use boolean instead of an int
                   4774:        * i386/intel/pmap.c (pmap_debug): Use boolean instead of an int.
                   4775: 
                   4776:        time: remove unused variable
                   4777:        * i386/i386at/rtc.c (tz): Remove unused variable.
                   4778:        * xen/time.c (tz): Remove unused variable.
                   4779: 
                   4780:        i386/i386at/rtc.c: use boolean instead of an int
                   4781:        * i386/i386at/rtc.c (first_rtcopen_ever): Use boolean instead of an int.
                   4782: 
                   4783:        i386/i386at/kd.c: use boolean instead of an unsigned int
                   4784:        * i386/i386at/kd.c (kd_bellstate): Use boolean instead of an unsigned int.
                   4785: 
                   4786:        i386/i386at/kd.c: use boolean instead of an int
                   4787:        * i386/i386at/kd.c (mouse_in_use): Use boolean instead of an int.
                   4788:        Remove duplicate declaration.
                   4789: 
                   4790:        i386/i386at/model_dep.c, kd.c: use boolean instead of an int
                   4791:        * i386/i386at/kd.c (rebootflag): Use boolean instead of an int.
                   4792:        Remove duplicate variable declaration.
                   4793:        * i386/i386at/model_dep.c (rebootflag): Use boolean instead of an int.
                   4794: 
                   4795:        i386/i386at/immc.c, kd.c: use boolean instead of an int
                   4796:        * i386/i386at/immc.c (immediate_console_enable): Use boolean instead of an int.
                   4797:        * i386/i386at/kd.c (immediate_console_enable): Likewise.
                   4798: 
                   4799:        i386/i386/user_ldt.c: remove unused variable
                   4800:        * i386/i386/user_ldt.c (acc_type): Remove unused variable.
                   4801: 
                   4802:        i386/i386/trap.c: remove unused variables
                   4803:        * i386/i386/trap.c (v86_assist_on, v86_unsafe_ok, v86_do_sti_cli, v86_do_sti_immediate, cli_count, sti_count): Remove unused variables.
                   4804: 
                   4805:        i386/i386/trap.c: remove unused variable
                   4806:        * i386/i386/trap.c (brb): Remove unused variable.
                   4807: 
                   4808:        i386/i386/pit.c: remove unused variables
                   4809:        * i386/i386/pit.c (pitctr1_port, pitctr2_port): Remove unused variables.
                   4810: 
                   4811:        i386/i386/pic.c: remove unused variables
                   4812:        * i386/i386/pic.c (nintr, npics): Remove unused variables.
                   4813: 
                   4814:        i386/i386/mp_desc.c: remove unused variable
                   4815:        * i386/i386/mp_desc.c (avail_start): Remove unused variable.
                   4816: 
                   4817: 2013-12-08  Marin Ramesa  <[email protected]>
                   4818: 
                   4819:        i386/i386/ipl.h: remove ifdef and add ifndef
                   4820:        This code is used even if KERNEL is not defined. Remove the ifdef.
                   4821: 
                   4822:        * i386/i386/ipl.h [_I386_IPL_H_]: Add ifndef.
                   4823: 
                   4824: 2013-12-08  Marin Ramesa  <[email protected]>
                   4825: 
                   4826:        i386/i386/db_interface.c: use boolean instead of an int
                   4827:        * i386/i386/db_interface.c (kernel_dr): Use boolean instead of an int.
                   4828: 
                   4829: 2013-12-08  Marin Ramesa  <[email protected]>
                   4830: 
                   4831:        device/tty.h, chario.h: move prototype
                   4832:        Now that we have device/chario.h move the chario_init() prototype
                   4833:        from device/tty.h to device/chario.h.
                   4834: 
                   4835:        * device/chario.h (chario_init): Add prototype.
                   4836:        * device/device_init.c: Include device/chario.h.
                   4837:        * device/tty.h (chario_init): Remove prototype.
                   4838: 
                   4839: 2013-12-08  Marin Ramesa  <[email protected]>
                   4840: 
                   4841:        device/kmsg.c: use boolean instead of an int
                   4842:        * device/kmsg.c (kmsg_init_done): Use boolean instead of an int.
                   4843: 
                   4844:        device/kmsg.c: use boolean instead of an int
                   4845:        * device/kmsg.c (kmsg_in_use): Use boolean instead of an int.
                   4846: 
                   4847:        device/if_ether.h: remove unused variable
                   4848:        * device/if_ether.h (etherbroadcastaddr): Remove unused variable.
                   4849:        * device/subrs.c (etherbroadcastaddr): Remove initialization.
                   4850: 
                   4851:        device/dev_lookup.c: remove unused lock
                   4852:        * device/dev_lookup.c (dev_port_lock): Remove unused lock.
                   4853: 
                   4854:        device/cirbuf.c: use boolean instead of an int
                   4855:        * device/cirbuf.c (cb_check_enable): Use boolean instead of an int.
                   4856: 
                   4857:        device/chario.c: use boolean instead of an int
                   4858:        * device/chario.c (pdma_default): Use boolean instead of an int.
                   4859: 
                   4860: 2013-12-08  Marin Ramesa  <[email protected]>
                   4861: 
                   4862:        ddb/db_output.c: remove duplicate function
                   4863:        Function kdbprintf() and db_printf() are the same function. Remove
                   4864:        kdbprintf() and define kdbprintf to db_printf.
                   4865: 
                   4866:        * ddb/db_output.c (kdbprintf): Remove function.
                   4867:        * ddb/db_output.h: Define kdbprintf to db_printf.
                   4868:        (kdbprintf): Remove prototype.
                   4869: 
                   4870: 2013-12-08  Marin Ramesa  <[email protected]>
                   4871: 
                   4872:        ddb/db_output.c: remove call to nonexistent db_printf_enter()
                   4873:        * ddb/db_output.c [db_printf_enter] (db_printf_enter): Remove call to nonexistent function.
                   4874: 
                   4875:        ddb/db_command.h: remove duplicate variable declaration
                   4876:        * ddb/db_command.h (db_recover): Remove duplicate variable declaration.
                   4877: 
                   4878:        ddb/db_command.c: remove forward declaration
                   4879:        * ddb/db_command.c (db_skip_to_eol): Remove forward declaration.
                   4880: 
                   4881: 2013-12-08  Marin Ramesa  <[email protected]>
                   4882: 
                   4883:        i386/i386/setjmp.h: remove ifdef
                   4884:        Function _longjmp() is used even if __GNUC__ is not defined. Avoid
                   4885:        implicit declaration in that case by removing the ifdef.
                   4886: 
                   4887:        * i386/i386/setjmp.h [__GNUC__] (_longjmp): Remove ifdef.
                   4888: 
                   4889: 2013-12-08  Marin Ramesa  <[email protected]>
                   4890: 
                   4891:        kern/machine.c: remove __volatile__
                   4892:        Shutdown can be optimised. Remove __volatile__.
                   4893: 
                   4894:        * kern/machine.c [__GNUC__] (processor_doshutdown): Remove volatile function qualifier.
                   4895: 
                   4896: 2013-12-08  Marin Ramesa  <[email protected]>
                   4897: 
                   4898:        ipc/ipc_port.c: trivial stylistic fix for consistency
                   4899:        * ipc/ipc_port.c (indent): Trivial stylistic fix for consistency.
                   4900: 
                   4901: 2013-12-08  Samuel Thibault  <[email protected]>
                   4902: 
                   4903:        Make unsigned character constants unsigned
                   4904:        Thanks Marin Ramesa for the report.
                   4905: 
                   4906:        * i386/i386at/kd.h (K_DONE, NC, K_SCAN): Make constants unsigned.
                   4907: 
                   4908: 2013-12-08  Samuel Thibault  <[email protected]>
                   4909: 
                   4910:        Always make Assert trigger debugger
                   4911:        * kern/debug.c (Assert): Always call Debugger, even if db_breakpoints_insert
                   4912:        is not set.
                   4913: 
                   4914: 2013-12-08  Samuel Thibault  <[email protected]>
                   4915: 
                   4916:        Fix implicit declaration of function
                   4917:        Thanks Marin Ramesa for the report.
                   4918: 
                   4919:        * device/ds_routines.h (device_deallocate): Move declaration to...
                   4920:        * include/device/device_types.h (device_deallocate): ... here.
                   4921: 
                   4922: 2013-12-08  Marin Ramesa  <[email protected]>
                   4923: 
                   4924:        device/device_types_kernel.h: remove redeclaration of dev_port_lookup()
                   4925:        * device/device_types_kernel.h (dev_port_lookup): Remove prototype.
                   4926: 
                   4927:        Add ifndefs
                   4928:        * i386/i386at/cram.h [_CRAM_H_]: Add ifndef.
                   4929:        * i386/i386at/disk.h [_DISK_H_]: Likewise.
                   4930:        * i386/i386at/i8250.h [_I8250_H_]: Likewise.
                   4931:        * i386/include/mach/i386/asm.h [_MACH_I386_ASM_H_]: Likewise.
                   4932:        * i386/include/mach/i386/disk.h [_MACH_I386_DISK_H_]: Likewise.
                   4933: 
                   4934:        Add comments after endifs
                   4935:        * device/cons.c [MACH_KMSG]: Likewise.
                   4936:        [CONSBUFSIZE > 0]: Likewise.
                   4937:        * i386/i386/trap.c [MACH_KDB]: Likewise.
                   4938:        [MACH_PV_PAGETABLES]: Likewise.
                   4939:        * i386/i386at/kd.c [ENABLE_IMMEDIATE_CONSOLE]: Likewise.
                   4940:        * ipc/ipc_kmsg_queue.h [_IPC_KMSG_QUEUE_H_]: Likewise.
                   4941:        * kern/act.c [ACTWATCH]: Likewise.
                   4942:        * kern/refcount.h [MACHINE_REFCOUNT]: Likewise.
                   4943:        * kern/task.c [FAST_TAS]: Likewise.
                   4944: 
                   4945: 2013-12-04  Samuel Thibault  <[email protected]>
                   4946: 
                   4947:        Add missing include
                   4948:        * ddb/db_variables.h: Include <machine/db_machdep.h>.
                   4949: 
                   4950: 2013-12-04  Marin Ramesa  <[email protected]>
                   4951: 
                   4952:        i386/i386at/com.h: include chips/busses.h for struct bus_device
                   4953:        * i386/i386at/com.h: Include chips/busses.h.
                   4954: 
                   4955:        ddb/db_variables.c: fix near initialization
                   4956:        * ddb/db_task_thread.c (db_set_default_thread): New parameter.
                   4957:        * ddb/db_task_thread.h (db_set_default_thread): Likewise.
                   4958: 
                   4959:        kern/mach_clock.c: remove forward declaration
                   4960:        * Makefrag.am: Include kern/priority.h.
                   4961:        * kern/mach_clock.c (thread_quantum_update): Remove forward declaration.
                   4962:        Include kern/priority.h.
                   4963:        * kern/priority.h: New file.
                   4964:        Add copyright.
                   4965:        [_KERN_PRIORITY_H_]: Add ifndef.
                   4966:        (thread_quantum_update): Add prototype.
                   4967: 
                   4968:        ipc/mach_port.c: remove forward declaration
                   4969:        * ipc/mach_port.c (mach_port_get_receive_status): Remove forward declaration.
                   4970:        * ipc/mach_port.h (mach_port_get_receive_status): Add prototype.
                   4971: 
                   4972:        ipc/ipc_entry.c: remove forward declaration
                   4973:        * ipc/ipc_entry.c (db_ipc_object_by_name): Remove forward declaration.
                   4974:        * ipc/ipc_entry.h (db_ipc_object_by_name): Add prototype.
                   4975: 
                   4976:        i386/i386at/model_dep.c: remove forward declaration
                   4977:        * i386/i386at/model_dep.c (init_alloc_aligned): Remove forward declaration.
                   4978:        * i386/i386at/model_dep.h (init_alloc_aligned): Add prototype.
                   4979: 
                   4980:        kern/time_stamp.c: remove multimax code
                   4981:        * kern/time_stamp.c [multimax]: Remove code.
                   4982: 
                   4983: 2013-12-04  Samuel Thibault  <[email protected]>
                   4984: 
                   4985:        Remove unnecessary file
                   4986:        * i386/Makefrag.am: Don't include i386/include/mach/i386/rpc.h.
                   4987:        * i386/include/mach/i386/rpc.h: Remove file.
                   4988: 
                   4989: 2013-12-04  Marin Ramesa  <[email protected]>
                   4990: 
                   4991:        vm/vm_user.c: remove forward declaration
                   4992:        * vm/vm_user.c (vm_map_machine_attribute): Remove forward declaration.
                   4993: 
                   4994: 2013-12-04  Marin Ramesa  <[email protected]>
                   4995: 
                   4996:        vm/vm_resident.c: correct comment
                   4997:        This is vm_resident.c, not vm_page.c.
                   4998: 
                   4999:        * vm/vm_resident.c: Correct comment.
                   5000: 
                   5001: 2013-12-04  Marin Ramesa  <[email protected]>
                   5002: 
                   5003:        vm/vm_map.c: remove forward declarations
                   5004:        * vm/vm_map.c (_vm_map_clip_start, _vm_map_copy_clip_start, _vm_map_clip_end, _vm_map_copy_clip_end): Remove forward declarations.
                   5005:        * vm/vm_map.h (_vm_map_clip_end): Correct prototype.
                   5006: 
                   5007:        vm/vm_kern.c: remove forward declarations
                   5008:        * vm/vm_kern.c (kmem_alloc_pages, kmem_remap_pages): Remove forward declarations.
                   5009:        * vm/vm_kern.h (kmem_alloc_pages, kmem_remap_pages): Add prototypes.
                   5010: 
                   5011:        vm/vm_fault.c: remove forward declaration
                   5012:        * vm/vm_fault.c (vm_fault_wire_fast): Remove forward declaration.
                   5013:        * vm/vm_fault.h (vm_fault_wire_fast): Add prototype.
                   5014: 
                   5015: 2013-12-04  Marin Ramesa  <[email protected]>
                   5016: 
                   5017:        ipc/ipc_kmsg.h: update comment
                   5018:        Struct ipc_kmsg_queue is not defined in kern/thread.h.
                   5019: 
                   5020:        * ipc/ipc_kmsg.h: Update comment.
                   5021: 
                   5022: 2013-12-04  Marin Ramesa  <[email protected]>
                   5023: 
                   5024:        kern: remove forward declaration
                   5025:        * kern/xpr.c (db_printf): Remove forward declaration.
                   5026:        [MACH_KDB] Include ddb/db_output.h.
                   5027: 
                   5028:        kern/thread.c: remove forward declaration
                   5029:        * i386/i386/pcb.h (pcb_module_init): Add prototype.
                   5030:        * kern/thread.c (pcb_module_init): Remove forward declaration.
                   5031: 
                   5032:        kern/task.c: remove forward declarations
                   5033:        * ipc/ipc_mqueue.h: Include ipc/ipc_kmsg_queue.h.
                   5034:        * kern/ipc_kobject.h: Move includes into ifndef.
                   5035:        * kern/syscall_emulation.h: Include kern/task.h.
                   5036:        (eml_init, eml_task_reference, eml_task_deallocate): Add prototypes.
                   5037:        * kern/task.c: Include kern/syscall_emulation.h.
                   5038:        (eml_init, eml_task_reference, eml_task_deallocate): Remove forward declarations
                   5039: 
                   5040:        kern/syscall_sw.c: remove forward declarations
                   5041:        * kern/eventcount.h (evc_wait_clear): Add prototype.
                   5042:        * kern/ipc_mig.h: Include device/device_types.h.
                   5043:        (syscall_vm_map, syscall_vm_allocate, syscall_vm_deallocate, syscall_task_create, syscall_task_terminate, syscall_task_suspend, syscall_task_set_special_port, syscall_mach_port_allocate, syscall_mach_port_deallocate, syscall_mach_port_insert_right, syscall_mach_port_allocate_name, syscall_thread_depress_abort, syscall_device_write_request, syscall_device_writev_request): Add prototypes.
                   5044:        * kern/syscall_sw.c (syscall_vm_map, syscall_vm_allocate, syscall_vm_deallocate, syscall_task_create, syscall_task_terminate, syscall_task_suspend, syscall_task_set_special_port, syscall_mach_port_allocate, syscall_mach_port_deallocate, syscall_mach_port_insert_right, syscall_mach_port_allocate_name, syscall_thread_depress_abort, evc_wait, evc_wait_clear, syscall_device_write_request, syscall_device_writev_request): Remove forward declarations.
                   5045:        Include kern/ipc_mig.h.
                   5046:        Include kern/eventcount.h.
                   5047: 
                   5048:        kern/syscall_subr.c: remove forward declaration
                   5049:        * kern/syscall_subr.c (thread_depress_priority): Remove forward declaration.
                   5050:        * kern/syscall_subr.h (thread_depress_priority): Add prototype.
                   5051: 
                   5052:        kern/startup.c: remove forward declarations
                   5053:        * Makefrag.am: Include kern/bootstrap.h.
                   5054:        Include vm/vm_init.h.
                   5055:        Include device/device_init.h.
                   5056:        * device/device_init.h: New file.
                   5057:        Add copyright.
                   5058:        [_DEVICE_DEVICE_INIT_H_]: Add ifndef.
                   5059:        (device_service_create): Add prototype.
                   5060:        * i386/i386/mp_desc.h (start_other_cpus): Add prototype.
                   5061:        * kern/bootstrap.h: New file.
                   5062:        Add copyright.
                   5063:        [_KERN_BOOTSTRAP_H_]: Add ifndef.
                   5064:        (bootstrap_create): Add prototype.
                   5065:        * kern/sched_prim.h (idle_thread, sched_thread): Add prototypes.
                   5066:        * kern/startup.c: Include kern/bootstrap.h.
                   5067:        Include kern/startup.h.
                   5068:        Include vm/vm_init.h.
                   5069:        Include vm/vm_pageout.h.
                   5070:        Include device/device_init.h.
                   5071:        (vm_mem_init, vm_mem_bootstrap, init_timeout, machine_init, idle_thread, vm_pageout, reaper_thread, swapin_thread, sched_thread, bootstrap_create, device_service_create, cpu_launch_first_thread, start_kernel_threads, start_other_cpus, action_thread): Remove forward declarations.
                   5072:        [NCPUS > 1] Include machine/mp_desc.h and kern/machine.h.
                   5073:        * kern/startup.h: Include kern/thread.h.
                   5074:        (cpu_launch_first_thread, start_kernel_threads): Add prototypes.
                   5075:        * vm/vm_init.h: New file.
                   5076:        Add copyright.
                   5077:        [_VM_VM_INIT_H_]: Add ifndef.
                   5078:        (vm_mem_init, vm_mem_bootstrap): Add prototypes.
                   5079:        * vm/vm_pageout.h (vm_pageout): Add prototype.
                   5080: 
                   5081:        kern/sched_prim.c: remove forward declarations
                   5082:        * kern/sched_prim.c (set_pri, do_thread_scan, choose_pset_thread, checkrq, thread_check): Remove forward declarations.
                   5083:        * kern/sched_prim.h (set_pri, do_thread_scan, choose_pset_thread, checkrq, thread_check): Add prototypes.
                   5084: 
                   5085:        kern/processor.c: remove forward declarations
                   5086:        * kern/processor.c (quantum_set, pset_init, processor_init): Remove forward declarations.
                   5087:        * kern/processor.h (quantum_set, pset_init, processor_init): Add prototypes.
                   5088: 
                   5089:        kern/ipc_mig.c: remove forward declarations
                   5090:        * device/ds_routines.h (ds_device_write_trap, ds_device_writev_trap): Add prototypes.
                   5091:        * kern/ipc_mig.c (ds_device_write_trap, ds_device_writev_trap): Remove forward declarations.
                   5092: 
                   5093:        kern/debug.c: remove forward declaration
                   5094:        * kern/debug.c (cnputc): Remove forward declaration.
                   5095:        Include device/cons.h.
                   5096: 
                   5097:        kern/bootstrap.c: remove forward declarations
                   5098:        * i386/i386/pcb.h: Include mach/thread_status.h.
                   5099:        Include machine/thread.h.
                   5100:        * kern/bootstrap.c: Include machine/pcb.h.
                   5101:        (user_stack_low, set_user_regs): Remove forward declarations.
                   5102: 
                   5103:        ipc/mach_msg.c: remove forward declarations
                   5104:        * ipc/mach_msg.c: Include kern/exception.h.
                   5105:        (exception_raise_continue, exception_raise_continue_fast): Remove forward declarations.
                   5106:        * kern/exception.h: Include ipc/ipc_types.h.
                   5107:        Include ipc/ipc_kmsg.h.
                   5108: 
                   5109:        ipc/ipc_table.c: remove forward declaration
                   5110:        * ipc/ipc_table.c (ipc_table_fill): Remove forward declaration.
                   5111:        * ipc/ipc_table.h (ipc_table_fill): Add prototype.
                   5112: 
                   5113:        ipc/ipc_kmsg.c: remove forward declarations
                   5114:        * ipc/ipc_kmsg.c (copyinmap, copyoutmap, ipc_msg_print): Remove forward declarations.
                   5115:        * ipc/ipc_kmsg.h (ipc_msg_print): Add prototype.
                   5116: 
                   5117:        i386/intel/pmap.c: remove forward declarations
                   5118:        * i386/intel/pmap.c (pmap_remove_range, signal_cpus): Remove forward declarations.
                   5119:        * i386/intel/pmap.h (pmap_remove_range, signal_cpus): Add prototypes.
                   5120: 
                   5121: 2013-12-04  Samuel Thibault  <[email protected]>
                   5122: 
                   5123:        Drop duplicate declaration
                   5124:        * i386/i386/model_dep.h (halt_cpu, halt_all_cpus): Remove duplicate
                   5125:        declaration.
                   5126:        * i386/i386at/model_dep.h (halt_cpu, halt_all_cpus): Add comments.
                   5127: 
                   5128: 2013-12-04  Marin Ramesa  <[email protected]>
                   5129: 
                   5130:        i386/i386at: remove forward declarations
                   5131:        * Makefrag.am: Include kern/startup.h.
                   5132:        * i386/i386at/model_dep.c: Include kern/startup.h.
                   5133:        Include i386at/model_dep.h.
                   5134:        (setup_main, halt_all_cpus, halt_cpu, inittodr): Remove forward declarations.
                   5135:        * i386/i386at/model_dep.h  (halt_all_cpus, halt_cpu, inittodr): Add prototypes.
                   5136:        * kern/startup.h: New file.
                   5137:        Add copyright.
                   5138:        [_KERN_STARTUP_H_]: Add ifndef.
                   5139:        (setup_main): Add prototype.
                   5140: 
                   5141:        i386/i386at/kd_mouse.c: remove forward declarations
                   5142:        * i386/i386at/kd_mouse.c (mouseintr, mouse_enqueue, mouse_read_done): Remove forward declarations.
                   5143:        (mouseintr): Define argument type.
                   5144:        * i386/i386at/kd_mouse.h (mouseintr, mouse_enqueue, mouse_read_done): Add prototypes.
                   5145: 
                   5146:        i386/i386at/kd_event.c: remove forward declarations
                   5147:        * i386/i386at/kd_event.c (kbd_enqueue, X_kdb_enter_init, X_kdb_exit_init, kbd_read_done): Remove forward declarations.
                   5148:        * i386/i386at/kd_event.h (kbd_enqueue, X_kdb_enter_init, X_kdb_exit_init, kbd_read_done): Add prototypes.
                   5149: 
                   5150:        i386/i386at/kd.c: remove forward declarations
                   5151:        * i386/i386at/kd.c (kd_enqsc, kdcheckmagic, do_modifier, bmpch2bit, bmppaintcsr, bit2fbptr): Remove forward declarations.
                   5152:        * i386/i386at/kd.h: Include device/buf.h.
                   5153:        Include i386at/kdsoft.h.
                   5154:        (kdcheckmagic, do_modifier, bmpch2bit, bmppaintcsr, bit2fbptr): Add prototypes.
                   5155:        * i386/i386at/kd_event.h (kd_enqsc): Add prototype.
                   5156: 
                   5157:        i386/i386at/conf.c: remove forward declarations
                   5158:        * i386/Makefrag.am: Include i386/i386at/model_dep.h and i386/i386at/mem.h.
                   5159:        * i386/i386at/com.h (comgetstat, comsetstat): Declare as extern.
                   5160:        (comopen, comclose, comread, comwrite, comportdeath): Add prototypes.
                   5161:        * i386/i386at/conf.c: Include kern/mach_clock.h and i386at/model_dep.h.
                   5162:        (timeopen, timeclose, timemmap): Remove forward declarations.
                   5163:        (kdopen, kdclose, kdread, kdwrite, kdgetstat, kdsetstat, kdportdeath, kdmmap): Likewise.
                   5164:        (comopen, comclose, comread, comwrite, comportdeath, comgetstat, comsetstat): Likewise.
                   5165:        (lpropen, lprclose, lprread, lprwrite, lprportdeath, lprgetstat, lprsetstat): Likewise.
                   5166:        (kbdopen, kbdclose, kbdread, kbdgetstat, kbdsetstat): Likewise.
                   5167:        (mouseopen, mouseclose, mouseread, mousegetstat): Likewise.
                   5168:        (memmmap): Likewise.
                   5169:        (kmsgopen, kmsgclose, kmsgread, kmsggetstat): Likewise.
                   5170:        (hypcnopen, hypcnclose, hypcnread, hypcnwrite, hypcnportdeath, hypcngetstat, hypcnsetstat): Likewise.
                   5171:        Include i386at/kd.h.
                   5172:        Include i386at/com.h.
                   5173:        Include i386at/lpr.h.
                   5174:        Include i386at/kd_event.h.
                   5175:        Include i386at/kd_mouse.h.
                   5176:        Include i386at/mem.h.
                   5177:        Include device/kmsg.h.
                   5178:        Include xen/console.h.
                   5179:        * i386/i386at/kd.h: Include device/io_req.h.
                   5180:        (kdopen, kdclose, kdread, kdwrite, kdgetstat, kdsetstat, kdportdeath, kdmmap): Add prototypes.
                   5181:        * i386/i386at/kd_event.h (kbdopen, kbdclose, kbdread, kbdgetstat, kbdsetstat): Likewise.
                   5182:        * i386/i386at/kd_mouse.h (mouseopen, mouseclose, mouseread, mousegetstat): Likewise.
                   5183:        * i386/i386at/lpr.h (lpropen, lprclose, lprread, lprwrite, lprportdeath): Likewise.
                   5184:        (lprgetstat, lprsetstat): Declare as extern.
                   5185:        * i386/i386at/mem.h: New file.
                   5186:        Add copyright.
                   5187:        [_MEM_H_]: Add ifndef.
                   5188:        (memmmap): Add prototype.
                   5189:        * i386/i386at/model_dep.c: Include i386/i386at/model_dep.h.
                   5190:        (timemmap): Fix argument list.
                   5191:        * i386/i386at/model_dep.h: New file.
                   5192:        Add copyright.
                   5193:        [_MODEL_DEP_H_]: Add ifndef.
                   5194:        (timemmap): Add prototype.
                   5195:        * kern/mach_clock.h (timeopen, timeclose): Add prototypes.
                   5196:        * xen/console.h (hypcnopen, hypcnclose, hypcnread, hypcnwrite, hypcnportdeath, hypcngetstat, hypcnsetstat): Add prototypes.
                   5197: 
                   5198:        i386/i386at/autoconf.c, com.c, lpr.c: remove forward declarations
                   5199:        * i386/i386/autoconf.c (comintr, lprintr): Remove forward declarations.
                   5200:        Include i386at/com.h.
                   5201:        Include i386at/lprreg.h.
                   5202:        * i386/i386at/com.c (comprobe, commctl, comstart, comstop, comattach, comintr, comgetstat, comsetstat): Remove forward declarations.
                   5203:        * i386/i386at/com.h: Include device/tty.h.
                   5204:        (comprobe, commctl, comstart, comstop, comattach, comintr, comgetstat, comsetstat): Add prototypes.
                   5205:        * i386/i386at/lpr.c (lprprobe, lprstop, lprintr, lprstart, lprattach, lprgetstat, lprsetstat, lprpr_addr): Remove forward declarations.
                   5206:        (lprprobe): Fix argument list.
                   5207:        (lprpr): Define argument type.
                   5208:        lprpr_addr): Likewise.
                   5209:        * i386/i386at/lprreg.h (lprprobe, lprstop, lprintr, lprstart, lprattach, lprgetstat, lprsetstat, lprpr_addr): Add prototypes.
                   5210: 
                   5211:        kern/exception.c: remove forward declarations
                   5212:        * i386/i386/trap.h (thread_kdb_return): Add prototype.
                   5213:        * kern/exception.c (thread_kdb_return, db_printf): Remove forward declarations.
                   5214:        Include machine/trap.h.
                   5215:        Include ddb/db_output.h.
                   5216: 
                   5217:        kern: new header file exception.h
                   5218:        * Makefrag.am: Include kern/exception.h.
                   5219:        * i386/i386/trap.c: Include kern/exception.h.
                   5220:        (exception, thread_exception_return): Remove forward declarations.
                   5221:        * kern/exception.c: Include kern/exception.h.
                   5222:        (exception, exception_try_task, exception_no_server, exception_raise, exception_parse_reply, exception_raise_continue, exception_raise_continue_slow, exception_raise_continue_fast): Remove forward declarations.
                   5223:        * kern/exception.h: New file.
                   5224:        Add copyright.
                   5225:        [_KERN_EXCEPTION_H_]: Add ifndef.
                   5226:        (exception, exception_try_task, exception_no_server, exception_raise, exception_parse_reply, exception_raise_continue, exception_raise_continue_slow, exception_raise_continue_fast): Add prototypes.
                   5227: 
                   5228:        i386/i386/pcb.c: remove forward declarations
                   5229:        * i386/i386/pcb.c (Load_context, Switch_context, Thread_continue, user_ldt_free): Remove forward declarations.
                   5230:        * i386/i386/pcb.h (Load_context, Switch_context, Thread_continue): Add prototypes.
                   5231:        * i386/i386/user_ldt.h (user_ldt_free): Add prototype.
                   5232: 
                   5233:        i386/i386/io_perm.c: remove forward declaration
                   5234:        * i386/i386/io_perm.c: Include pcb.h.
                   5235:        (update_ktss_iopb): Remove forward declaration.
                   5236:        * i386/i386/pcb.h (update_ktss_iopb): Add prototype.
                   5237: 
                   5238:        i386/i386/fpu.c, trap.c: remove forward declarations
                   5239:        * i386/i386/fpu.c: Include i386/trap.h.
                   5240:        (void i386_exception, fp_save, fp_load): Remove forward declaration.
                   5241:        * i386/i386/trap.c (void i386_exception): Remove forward declaration.
                   5242:        * i386/i386/trap.h (void i386_exception): Add prototype.
                   5243: 
                   5244:        i386/i386/db_trace.c: remove forward declaration
                   5245:        * i386/i386/db_interface.h: Include ddb/db_variables.h.
                   5246:        (db_i386_reg_value): Add prototype.
                   5247:        * i386/i386/db_trace.c (db_i386_reg_value): Remove forward declaration.
                   5248: 
                   5249:        device/device_init.c: remove forward declarations
                   5250:        * device/dev_lookup.c: Include device/ds_routines.h.
                   5251:        * device/device_init.c: Include device/ds_routines.h.
                   5252:        Include device/net_io.h.
                   5253:        (mach_device_init, dev_lookup_init, net_io_init, device_pager_init, io_done_thread, net_thread): Remove forward declarations.
                   5254:        * device/ds_routines.h (mach_device_init, dev_lookup_init, device_pager_init, io_done_thread): Add prototypes.
                   5255:        * device/net_io.h (net_io_init, net_thread): Add prototypes.
                   5256: 
                   5257:        ddb/db_variables.c: remove forward declarations
                   5258:        * ddb/db_task_thread.h: Include ddb/db_variables.h.
                   5259:        (db_set_default_thread, db_get_task_thread): Add prototypes.
                   5260:        * ddb/db_variables: Include ddb/db_macro.h.
                   5261:        (db_set_default_thread, db_get_task_thread, db_arg_variable): Remove forward declarations.
                   5262: 
                   5263:        ddb/db_trap.c: remove forward declarations
                   5264:        * ddb/db_run.h (db_restart_at_pc, db_stop_at_pc): Add prototypes.
                   5265:        * ddb/db_trap.c (db_restart_at_pc, db_stop_at_pc): Remove forward declarations.
                   5266:        Include ddb/db_run.h.
                   5267: 
                   5268:        ddb/db_command.c: remove useless forward declaration without definition
                   5269:        * ddb/db_command.c (ddb_display): Remove forward declaration.
                   5270:        Remove ddb_display call.
                   5271: 
                   5272:        ddb/db_command.c: remove forward declaration
                   5273:        * ddb/db_command.c (db_reset_cpu): Remove forward declaration.
                   5274:        * i386/i386/db_interface.h (db_reset_cpu): Add prototype.
                   5275:        * i386/i386at/model_dep.c: Include i386/db_interface.h.
                   5276: 
                   5277:        ddb/db_sym.c: fix argument list
                   5278:        * ddb/db_sym.c (dummy_db_free_symbol): Fix argument list.
                   5279: 
                   5280:        ddb/db_sym.c: remove useless forward declarations without definitions
                   5281:        * ddb/db_sym.c (coff_db_sym_init, coff_db_line_at_pc, db_sym_t coff_db_lookup, coff_db_search_symbol, coff_db_symbol_values): Remove forward declarations.
                   5282:        (x_db): Modify field definition.
                   5283: 
                   5284:        ddb: new header file db_aout.h
                   5285:        * Makefrag.am: Include ddb/db_aout.h.
                   5286:        * ddb/db_aout.c: Include ddb/db_aout.h.
                   5287:        * ddb/db_aout.h: New file.
                   5288:        Add copyright.
                   5289:        [_DDB_DB_AOUT_H_]: Add ifndef.
                   5290:        Include ddb/db_sym.h.
                   5291:        Include machine/db_machdep.h.
                   5292:        (aout_db_line_at_pc, aout_db_lookup, aout_db_search_symbol, aout_db_symbol_values): Add prototypes.
                   5293:        * ddb/db_sym.c: Include ddb/db_aout.h.
                   5294:        (db_search_in_task_symbol, aout_db_line_at_pc, aout_db_lookup, aout_db_search_symbol, aout_db_symbol_values): Remove forward declarations.
                   5295:        * ddb/db_sym.h (db_search_in_task_symbol): Add prototype.
                   5296: 
                   5297:        ddb/db_aout.c: trivial stylistic fix for consistency
                   5298:        * ddb/db_aout.c: Trivial stylistic fix for consistency.
                   5299: 
                   5300:        ddb/db_run.c: add comment after endif
                   5301:        * ddb/db_run.c [FIXUP_PC_AFTER_BREAK]: Add comment after endif.
                   5302: 
                   5303:        ddb/db_mp.c: add comment after else and endif
                   5304:        * ddb/db_mp.c [CONSOLE_ON_MASTER]: Add comment after else and endif.
                   5305: 
                   5306:        ddb/db_input.c: add comment after endif
                   5307:        * ddb/db_input.c [DB_HISTORY_SIZE]: Add comment after endif.
                   5308: 
                   5309:        ddb/db_command.c: remove forward declarations
                   5310:        * ddb/db_command.c: Include machine/db_interface.h.
                   5311:        (db_help_cmd, db_stack_trace_cmd): Remove forward declarations.
                   5312:        * ddb/db_command.h (db_help_cmd): Add prototype.
                   5313:        * i386/i386/db_interface.h (db_stack_trace_cmd): Add prototype.
                   5314: 
                   5315:        device/net_io.c: initialize hash_entp to NULL
                   5316:        * device/net_io.c (hash_entp): Initialize to NET_HASH_ENTRY_NULL.
                   5317: 
                   5318: 2013-11-24  Marin Ramesa  <[email protected]>
                   5319: 
                   5320:        Modify struct db_variable
                   5321:        * ddb/db_macro.c (db_arg_variable): Make function void.
                   5322:        * ddb/db_macro.h (db_arg_variable): Declare void return.
                   5323:        * ddb/db_task_thread.c (db_set_default_thread): Make function void.
                   5324:        (db_get_task_thread): Make function void.
                   5325:        * ddb/db_variables.c (db_set_default_thread, db_get_task_thread, db_arg_variable): Declare void return.
                   5326:        (db_read_write_variable): Use void in initialization.
                   5327:        * ddb/db_variables.h (db_variable): Make third member return void.
                   5328:        [FCN_NULL]: Define void.
                   5329:        * i386/i386/db_trace.c (db_i386_reg_value): Make function void.
                   5330: 
                   5331:        device: new header file chario.h
                   5332:        * Makefrag.am: Include device/chario.h.
                   5333:        * device/chario.c (queue_delayed_reply, tty_output, char_open_done, char_read_done, char_write_done): Remove forward declarations.
                   5334:        * device/chario.h: New file.
                   5335:        Add copyright.
                   5336:        [_DEVICE_CHARIO_H_]: Add ifndef.
                   5337:        Include device/tty.h.
                   5338:        (queue_delayed_reply, tty_output, char_open_done, char_read_done, char_write_done): Add prototypes.
                   5339: 
                   5340:        ddb/db_examine.c: trivial stylistic fix for consistency
                   5341:        * ddb/db_examine.c: Trivial stylistic fix for consistency.
                   5342: 
                   5343:        ddb: move forward declarations into a header file
                   5344:        * ddb/db_examine.c (db_disasm, db_search): Remove forward declarations.
                   5345:        * ddb/db_examine.h (db_disasm, db_search): Add prototypes.
                   5346: 
                   5347:        ddb: move forward declaration into a header file
                   5348:        * ddb/db_sym.c (db_lookup): Remove forward declaration.
                   5349:        * ddb/db_sym.h (db_lookup): Add prototype.
                   5350: 
                   5351:        ddb: create new header file db_mp.h
                   5352:        * Makefrag.am: Include ddb/db_mp.h.
                   5353:        * ddb/db_mp.c (remote_db, lock_db, unlock_db): Remove forward declarations.
                   5354:        * ddb/db_mp.h: New file.
                   5355:        Add copyright.
                   5356:        [_DDB_DB_MP_H_]: Add ifndef.
                   5357:        (remote_db, lock_db, unlock_db): Add prototypes.
                   5358: 
                   5359:        ddb: move forward declarations into a header file
                   5360:        * ddb/db_run.c (db_set_task_single_step, db_clear_task_single_step): Remove forward declarations.
                   5361:        * ddb/db_run.h (db_set_task_single_step, db_clear_task_single_step): Add prototypes.
                   5362: 
                   5363: 2013-11-24  Samuel Thibault  <[email protected]>
                   5364: 
                   5365:        Simplify test
                   5366:        * ddb/db_sym.c (db_name_is_ambiguous): Simplify test for value returned by
                   5367:        X_db_lookup.
                   5368: 
                   5369:        Drop spurious volatile qualifier
                   5370:        * kern/processor.h (processor_doshutdown): Drop spurious volatile qualifier.
                   5371: 
                   5372: 2013-11-24  Marin Ramesa  <[email protected]>
                   5373: 
                   5374:        kern: move forward declarations into a header file
                   5375:        * kern/machine.c (processor_doaction, processor_doshutdown): Remove forward declarations.
                   5376:        * kern/processor.h (processor_doaction, processor_doshutdown): Add prototypes.
                   5377: 
                   5378:        kern: move forward declaration into a header file
                   5379:        * kern/eventcount.c [NCPUS] (simpler_thread_setrun): Remove forward declaration.
                   5380:        * kern/eventcount.h [NCPUS] (simpler_thread_setrun): Add prototype.
                   5381: 
                   5382:        kern: move forward declaration into a header file
                   5383:        * kern/timer.c (timer_init): Remove forward declaration.
                   5384:        * kern/timer.h (timer_init): Add prototype.
                   5385: 
                   5386:        kern: move forward declaration into a header file
                   5387:        * kern/mach_clock.c (softclock): Remove forward declaration.
                   5388:        * kern/timer.h (softclock): Add prototype.
                   5389: 
                   5390:        kern: move forward declarations into a header file
                   5391:        * kern/thread.c [MACH_DEBUG] (stack_init, stack_finalize): Remove forward declarations.
                   5392:        * kern/thread.h [MACH_DEBUG] (stack_init, stack_finalize): Add prototypes.
                   5393: 
                   5394:        vm: move forward declarations into a header file
                   5395:        * vm/vm_map.c (vm_map_delete, vm_map_copyout_page_list, vm_map_copy_page_discard, vm_map_lookup_entry): Remove forward declarations.
                   5396:        * vm/vm_map.h (vm_map_delete, vm_map_copyout_page_list, vm_map_copy_page_discard, vm_map_lookup_entry): Add prototypes.
                   5397: 
                   5398:        vm: move forward declarations into a header file
                   5399:        * vm/vm_object.c (memory_object_release, vm_object_deactivate_pages, vm_object_copy_delayed): Remove forward declarations.
                   5400:        * vm/vm_object.h (memory_object_release, vm_object_deactivate_pages, vm_object_copy_delayed): Add prototypes.
                   5401: 
                   5402: 2013-11-24  Samuel Thibault  <[email protected]>
                   5403: 
                   5404:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   5405: 
                   5406: 2013-11-24  Marin Ramesa  <[email protected]>
                   5407: 
                   5408:        Remove leftover register qualifiers
                   5409:        * ddb/db_break.c: Remove register qualifiers.
                   5410:        * i386/i386/pcb.c: Likewise.
                   5411:        * i386/i386at/com.c: Likewise.
                   5412:        * i386/i386at/lpr.c: Likewise.
                   5413:        * i386/intel/pmap.c: Likewise.
                   5414:        * kern/machine.c: Likewise.
                   5415:        * kern/queue.h: Likewise.
                   5416:        * kern/sched_prim.c: Likewise.
                   5417:        * kern/sched_prim.h: Likewise.
                   5418:        * kern/timer.c: Likewise.
                   5419:        * vm/vm_fault.c: Likewise.
                   5420:        * vm/vm_resident.h: Likewise.
                   5421: 
                   5422: 2013-11-24  Richard Braun  <[email protected]>
                   5423: 
                   5424:        New RPC for thread destruction
                   5425:        A new call, thread_terminate_release, is added to support self
                   5426:        destruction in threading libraries.
                   5427: 
                   5428:        * include/mach/gnumach.defs (thread_terminate_release): New
                   5429:        simpleroutine declaration.
                   5430:        * kern/thread.c: Include vm/vm_user.h and ipc/mach_port.h.
                   5431:        (thread_terminate_release): New function.
                   5432:        * kern/thread.h (thread_terminate_release): New prototype.
                   5433: 
                   5434: 2013-11-24  Richard Braun  <[email protected]>
                   5435: 
                   5436:        Export mach_port_destroy declaration
                   5437:        * ipc/mach_port.h (mach_port_destroy): Add prototype.
                   5438: 
                   5439: 2013-11-22  Marin Ramesa  <[email protected]>
                   5440: 
                   5441:        ddb/db_break.c: remove duplicate include
                   5442:        * ddb/db_break.c: Don't include ddb/db_access.h.
                   5443: 
                   5444: 2013-11-21  Marin Ramesa  <[email protected]>
                   5445: 
                   5446:        i386/i386/db_interface.h: fix implicit declaration of function
                   5447:        * i386/i386/db_interface.h (cnpollc): Add prototype.
                   5448: 
                   5449:        ddb/db_sym.c: move assignment outside if
                   5450:        * ddb/db_sym.c: Move assignment outside of if.
                   5451:        (db_lookup): New variable.
                   5452: 
                   5453:        i386/i386at/kd.h: fix implicit declaration of function
                   5454:        * i386/i386at/kd.h [MACH_KDB] (kdb_kintr): Add prototype.
                   5455: 
                   5456:        ddb/db_break.c: fix implicit declaration of functions
                   5457:        * ddb/db_break.c: Include machine/db_interface.h.
                   5458: 
                   5459: 2013-11-20  Marin Ramesa  <[email protected]>
                   5460: 
                   5461:        i386/i386/trap.c: fix implicit declaration of function
                   5462:        * i386/i386/trap.c: Include machine/db_interface.h.
                   5463: 
                   5464:        i386/i386/db_trace.c: don't cast to db_addr_t
                   5465:        * i386/i386/db_trace.c (db_check_thread_address_valid): Don't cast argument 1 to db_addr_t.
                   5466: 
                   5467: 2013-11-20  Samuel Thibault  <[email protected]>
                   5468: 
                   5469:        Comment out db_search_null
                   5470:        * i386/i386/db_interface.c (db_search_null) [!GNU]: Do not define
                   5471:        db_search_null.
                   5472: 
                   5473: 2013-11-20  Marin Ramesa  <[email protected]>
                   5474: 
                   5475:        i386/i386/db_interface.c: add comments after else and endif
                   5476:        * i386/i386/db_interface.c [GNU]: Add comments after else and endif.
                   5477: 
                   5478: 2013-11-20  Marin Ramesa  <[email protected]>
                   5479: 
                   5480:        i386/i386/db_interface.c: remove return value
                   5481:        Void function returns with FALSE. Remove return value.
                   5482: 
                   5483:        * i386/i386/db_interface.c (db_task_name): Remove return value.
                   5484: 
                   5485: 2013-11-20  Marin Ramesa  <[email protected]>
                   5486: 
                   5487:        i386/i386/db_trace.c: fix implicit declaration of function
                   5488:        * i386/i386/db_trace.c: Include machine/db_interface.h.
                   5489: 
                   5490:        i386/i386/db_interface.c: fix implicit declaration of function
                   5491:        * i386/i386/db_interface.c: Include string.h.
                   5492: 
                   5493:        i386/i386/db_interface.c: fix implicit declaration of function
                   5494:        * i386/i386/db_interface.c: Include vm/vm_fault.h.
                   5495: 
                   5496:        Fix implicit declaration of function
                   5497:        * ddb/db_sym.c (aout_db_sym_init): Remove forward declaration.
                   5498:        * ddb/db_sym.h (aout_db_sym_init): Add prototype.
                   5499:        * i386/i386at/model_dep.c (aout_db_sym_init): Fix call.
                   5500:        [MACH_KDB]: Include ddb/db_sym.h.
                   5501:        [MACH_KDB]: Add comment after else and endif.
                   5502: 
                   5503:        kern/xpr.c: quiet warning about uninitialized variable
                   5504:        * kern/xpr.c (s): Initialize.
                   5505: 
                   5506:        kern/startup.c: fix implicit declaration of function
                   5507:        * kern/startup.c [MACH_KDB]: Include device/cons.h.
                   5508: 
                   5509:        ipc/ipc_print.h: include ipc/ipc_pset.h for ipc_pset_t
                   5510:        * ipc/ipc_print.h: Include ipc/ipc_pset.h for ipc_pset_t.
                   5511: 
                   5512:        ddb/db_variables.c: fix initializations from incompatible pointer type
                   5513:        * ddb/db_variables.c (db_set_default_thread, db_get_task_thread, db_arg_variable, fcn): Declare long return type.
                   5514: 
                   5515:        ddb/db_run.c: move declaration of brpc into SOFTWARE_SSTEP
                   5516:        * ddb/db_run.c (brpc): Move declaration into SOFTWARE_SSTEP code.
                   5517: 
                   5518:        ddb/db_run.c: trivial stylistic fix for consistency
                   5519:        * ddb/db_run.c: Trivial stylistic fix for consistency.
                   5520: 
                   5521:        ddb/db_run.c: remove set but unused variable
                   5522:        * ddb/db_run.c (ins): Remove variable.
                   5523: 
                   5524:        ddb: fix implicit declaration of function
                   5525:        * ddb/db_variables.c (db_read_write_variable): Remove forward declaration.
                   5526:        * ddb/db_variables.h (db_read_write_variable): Add prototype.
                   5527: 
                   5528:        ddb/db_examine.c: add missing cast
                   5529:        ddb/db_examine.c (addr, count): Cast to (db_expr_t *).
                   5530: 
                   5531:        Add comment
                   5532:        * ddb/db_command.c [DB_MACHINE_COMMANDS]: Add comment after endif.
                   5533: 
                   5534: 2013-11-20  Samuel Thibault  <[email protected]>
                   5535: 
                   5536:        Drop volatile function qualifier
                   5537:        * i386/i386/setjmp.h (_longjmp): Drop volatile function qualifier.
                   5538: 
                   5539: 2013-11-20  Marin Ramesa  <[email protected]>
                   5540: 
                   5541:        ddb/db_break.c: quiet GCC warning about uninitialized variable
                   5542:        * ddb/db_break.c (bkpt): Initialize.
                   5543: 
                   5544: 2013-11-19  Marin Ramesa  <[email protected]>
                   5545: 
                   5546:        kern/slab.c: initialize info_size
                   5547:        info_size is initialized to a random value. Quiet the warning by
                   5548:        initializing to zero.
                   5549: 
                   5550:        * kern/slab.c (info_size): Initialize to zero.
                   5551: 
                   5552: 2013-11-19  Marin Ramesa  <[email protected]>
                   5553: 
                   5554:        kern/slab.c: initialize optimal_embed
                   5555:        optimal_embed is initialized to a random value. Quiet the warning by
                   5556:        initializing to zero.
                   5557: 
                   5558:        * kern/slab.c (optimal_embed): Initialize to zero.
                   5559: 
                   5560: 2013-11-19  Marin Ramesa  <[email protected]>
                   5561: 
                   5562:        Add copyright
                   5563:        * ddb/db_write_cmd.h: Add copyright.
                   5564:        * ipc/ipc_print.h: Likewise.
                   5565:        * vm/vm_print.h: Likewise.
                   5566: 
                   5567: 2013-11-18  Marin Ramesa  <[email protected]>
                   5568: 
                   5569:        Add ifndefs
                   5570:        Finish up with the addition of ifndefs.
                   5571: 
                   5572:        * device/buf.h: Add ifndef.
                   5573:        * device/dev_master.h: Likewise.
                   5574:        * include/device/tty_status.h: Likewise.
                   5575:        * include/mach/version.h: Likewise.
                   5576:        * ipc/ipc_machdep.h: Likewise.
                   5577: 
                   5578: 2013-11-17  Marin Ramesa  <[email protected]>
                   5579: 
                   5580:        ddb/stab.h: add ifndef
                   5581:        * ddb/stab.h: Add ifndef.
                   5582: 
                   5583:        ddb/db_write_cmd.c: remove register qualifiers
                   5584:        * ddb/db_write_cmd.c: Remove register qualifiers.
                   5585: 
                   5586:        ddb/db_watch.c: remove register qualifiers
                   5587:        * ddb/db_watch.c: Remove register qualifiers.
                   5588: 
                   5589:        ddb/db_variables.c: remove register qualifiers
                   5590:        * ddb/db_variables.c: Remove register qualifiers.
                   5591: 
                   5592:        ddb/db_task_thread.c: remove register qualifiers
                   5593:        * ddb/db_task_thread.c: Remove register qualifiers.
                   5594: 
                   5595:        ddb/db_sym.h: add comment after endif
                   5596:        * ddb/db_sym.h: Add comment after endif.
                   5597: 
                   5598:        ddb/db_sym.c: remove register qualifiers
                   5599:        * ddb/db_sym.c: Remove register qualifiers.
                   5600: 
                   5601:        ddb/db_run.h: add ifndef
                   5602:        * ddb/db_run.h: Add ifndef.
                   5603: 
                   5604:        ddb/db_run.c: remove register qualifiers
                   5605:        * ddb/db_run.c: Remove register qualifiers.
                   5606: 
                   5607:        ddb/db_print.c: remove register qualifiers
                   5608:        * ddb/db_print.c: Remove register qualifiers.
                   5609: 
                   5610:        ddb/db_output.h: add ifndef
                   5611:        * ddb/db_output.h: Add ifndef.
                   5612: 
                   5613:        ddb/db_output.c: remove register qualifiers
                   5614:        * ddb/db_output.c: Remove register qualifiers.
                   5615: 
                   5616:        ddb/db_mp.c: remove register qualifier
                   5617:        * ddb/db_mp.c: Remove register qualifier.
                   5618: 
                   5619:        ddb/db_macro.c: remove register qualifiers
                   5620:        * ddb/db_macro.c: Remove register qualifiers.
                   5621: 
                   5622:        ddb/db_lex.h: add ifndef
                   5623:        * ddb/db_lex.h: Add ifndef.
                   5624: 
                   5625:        ddb/db_lex.c: remove register qualifiers
                   5626:        * ddb/db_lex.c: Remove register qualifiers.
                   5627: 
                   5628:        ddb/db_input.c: remove register qualifiers
                   5629:        * ddb/db_input.c: Remove register qualifiers.
                   5630: 
                   5631:        ddb/db_expr.c: remove register qualifier
                   5632:        * ddb/db_expr.c: Remove register qualifier.
                   5633: 
                   5634:        ddb/db_examine.c: remove register qualifiers
                   5635:        * ddb/db_examine.c: Remove register qualifiers.
                   5636: 
                   5637:        ddb/db_cond.c: remove register qualifiers
                   5638:        * ddb/db_cond.c: Remove register qualifiers.
                   5639: 
                   5640:        ddb/db_command.h: add ifndef
                   5641:        * ddb/db_command.h: Add ifndef.
                   5642: 
                   5643:        ddb/db_command.c: remove register qualifiers
                   5644:        * ddb/db_command.c: Remove register qualifiers.
                   5645: 
                   5646:        ddb/db_break.c: remove register qualifiers
                   5647:        * ddb/db_break.c: Remove register qualifiers.
                   5648: 
                   5649:        ddb/db_aout.c: remove register qualifiers
                   5650:        * ddb/db_aout.c: Remove register qualifiers.
                   5651: 
                   5652:        ddb/db_access.h: add ifndef
                   5653:        * ddb/db_access.h: Add ifndef.
                   5654: 
                   5655:        ddb/db_access.c: remove register qualifiers
                   5656:        * ddb/db_access.c: Remove register qualifiers.
                   5657: 
                   5658: 2013-11-17  Samuel Thibault  <[email protected]>
                   5659: 
                   5660:        Remove dead code
                   5661:        Thanks Marin Ramesa for the report.
                   5662: 
                   5663:        * i386/i386/user_ldt.c (selector_check): Remove function.
                   5664:        * i386/i386/user_ldt.h (S_CODE, S_STACK, S_DATA): Remove macros.
                   5665:        (selector_check): Remove declaration.
                   5666: 
                   5667: 2013-11-15  Marin Ramesa  <[email protected]>
                   5668: 
                   5669:        i386/intel/read_fault.c: remove register qualifier
                   5670:        * i386/intel/read_fault.c: Remove register qualifier.
                   5671: 
                   5672:        i386/intel/pmap.h: remove register qualifiers
                   5673:        * i386/intel/pmap.h: Remove register qualifiers.
                   5674: 
                   5675:        i386/intel/pmap.c: remove register qualifiers
                   5676:        * i386/intel/pmap.c: Remove register qualifiers.
                   5677: 
                   5678:        i386/i386at/rtc.h: remove register qualifiers
                   5679:        * i386/i386at/rtc.h: Remove register qualifiers.
                   5680: 
                   5681:        i386/i386at/rtc.c: remove register qualifier
                   5682:        * i386/i386at/rtc.c: Remove register qualifier.
                   5683: 
                   5684:        i386/i386at/lpr.c: remove register qualifier
                   5685:        * i386/i386at/lpr.c: Remove register qualifier.
                   5686: 
                   5687:        i386/i386at/kd_mouse.c: remove register qualifiers
                   5688:        * i386/i386at/kd_mouse.c: Remove register qualifiers.
                   5689: 
                   5690:        i386/i386at/kd.c: remove register qualifiers
                   5691:        * i386/i386at/kd.c: Remove register qualifiers.
                   5692: 
                   5693:        i386/i386at/kd_event.c: remove register qualifiers
                   5694:        * i386/i386at/kd_event.c: Remove register qualifiers.
                   5695: 
                   5696:        i386/i386at/int_init.h: add comment after endif
                   5697:        * i386/i386at/int_init.h (__ASSEMBLER__): Add comment after endif.
                   5698: 
                   5699:        i386/i386at/idt.h: add comment after endif
                   5700:        * i386/i386at/idt.h (__ASSEMBLER__): Add comment after endif.
                   5701: 
                   5702:        i386/i386at/com.c: remove register qualifiers
                   5703:        * i386/i386at/com.c: Remove register qualifiers.
                   5704: 
                   5705:        i386/i386at/com.c: trivial stylistic fix for consistency
                   5706:        * i386/i386at/com.c: Trivial stylistic fix for consistency.
                   5707: 
                   5708:        i386/i386at/autoconf.c: remove register qualifiers
                   5709:        * i386/i386at/autoconf.c: Remove register qualifiers.
                   5710: 
                   5711:        i386/i386/trap.c: remove register qualifiers
                   5712:        * i386/i386/trap.c: Remove register qualifiers.
                   5713: 
                   5714:        i386/i386/thread.h: add comment after endif
                   5715:        * i386/i386/thread.h (LINUX_DEV): Add comment after endif.
                   5716: 
                   5717:        i386/i386/pic.h: add comment after endif
                   5718:        * i386/i386/pic.h (__ASSEMBLER__): Add comment after endif.
                   5719: 
                   5720:        i386/i386/pcb.c: remove register qualifiers
                   5721:        * i386/i386/pcb.c: Remove register qualifiers.
                   5722: 
                   5723:        i386/i386/mp_desc.c: remove register qualifiers
                   5724:        * i386/i386/mp_desc.c: Remove register qualifiers.
                   5725: 
                   5726:        i386/i386/machine_routines.h: add comment after endif
                   5727:        * i386/i386/machine_routines.h (_I386_MACHINE_ROUTINES_H_): Add comment after endif.
                   5728: 
                   5729:        i386/i386/loose_ends.c: remove unused variable
                   5730:        * i386/i386/loose_ends.c (boothowto): Remove unused variable.
                   5731: 
                   5732:        i386/i386/loose_ends.c: add comment after endif
                   5733:        * i386/i386/loose_ends.c (NDEBUG): Add comment after endif.
                   5734: 
                   5735:        i386/i386/lock.h: remove register quaalifier
                   5736:        * i386/i386/lock.h: Remove register qualifier.
                   5737: 
                   5738:        i386/i386/kttd_interface.c: trivial stylistic fix for consistency
                   5739:        * i386/i386/kttd_interface.c: Trivial stylistic fix for consistency.
                   5740: 
                   5741:        i386/i386/hardclock.c: add comment after endif
                   5742:        * i386/i386/hardclock.c (LINUX_DEV): Add comment after endif.
                   5743: 
                   5744:        i386/i386/fpu.h: remove register qualifiers
                   5745:        * i386/i386/fpu.h: Remove register qualifiers.
                   5746: 
                   5747:        i386/i386/fpu.c: remove register qualifiers
                   5748:        * i386/i386/fpu.c: Remove register qualifiers.
                   5749: 
                   5750:        i386/i386/db_trace.c: qualify constants with const
                   5751:        * i386/i386/db_trace.c: Qualify constants with const.
                   5752: 
                   5753:        i386/i386/db_trace.c: remove register qualifiers
                   5754:        * i386/i386/db_trace.c: Remove register qualifiers.
                   5755: 
                   5756:        i386/i386/db_interface.c: remove register qualifiers
                   5757:        * i386/i386/db_interface.c: Remove register qualifiers.
                   5758: 
                   5759:        Fix typo
                   5760: 
                   5761:        i386/i386/vm_tuning.h: remove file
                   5762:        * i386/Makefrag.am: Remove i386/i386/vm_tuning.h.
                   5763:        * i386/i386/vm_tuning.h: Remove file.
                   5764:        * vm/vm_pageout.c: Don't include i386/i386/vm_tuning.h.
                   5765: 
                   5766:        i386/i386at: add ifndefs
                   5767:        * i386/i386at/kd_queue.h: Add ifndef.
                   5768:        * i386/i386at/kdsoft.h: Likewise.
                   5769:        * i386/i386at/lprreg.h: Likewise.
                   5770:        * i386/i386at/rtc.h: Likewise.
                   5771: 
                   5772:        chips/busses.c: remove register qualifiers
                   5773:        * chips/busses.c: Remove register qualifiers.
                   5774: 
                   5775:        chips/busses.c: use boolean instead of an int
                   5776:        * chips/busses.c (found): Constrain range of values to a boolean.
                   5777: 
                   5778:        vm/vm_user.c: remove register qualifiers
                   5779:        * vm/vm_user.c: Remove register qualifiers.
                   5780: 
                   5781:        vm/vm_resident.c: remove register qualifiers
                   5782:        * vm/vm_resident.c: Remove register qualifiers.
                   5783: 
                   5784:        vm/vm_pageout.c: remove register qualifiers
                   5785:        * vm/vm_pageout.c: Remove register qualifiers.
                   5786: 
                   5787:        vm/vm_object.c: remove register qualifiers
                   5788:        * vm/vm_object.c: Remove register qualifiers.
                   5789: 
                   5790:        vm/vm_map.c: remove register qualifiers
                   5791:        * vm/vm_map.c: Remove register qualifiers.
                   5792: 
                   5793:        vm/vm_map.c: trivial stylistic fix for consistency
                   5794:        * vm/vm_map.c: Trivial stylistic fix for consistency.
                   5795: 
                   5796:        vm/vm_kern.c: remove register qualifiers
                   5797:        * vm/vm_kern.c: Remove register qualifiers.
                   5798: 
                   5799:        vm/vm_fault.c: remove register qualifiers
                   5800:        * vm/vm_fault.c: Remove register qualifiers.
                   5801: 
                   5802:        vm/vm_fault.c: remove unused variable
                   5803:        * vm/vm_fault.c: Remove unused variable.
                   5804: 
                   5805:        vm/memory_object_proxy.h: fix definition
                   5806:        * vm/memory_object_proxy.h (_VM_MEMORY_OBJECT_PROXY_H_): Fix definition.
                   5807: 
                   5808:        vm/memory_object.c: remove register qualifiers
                   5809:        * vm/memory_object.c: Remove register qualifiers.
                   5810: 
                   5811: 2013-11-13  Marin Ramesa  <[email protected]>
                   5812: 
                   5813:        kern: remove register qualifiers
                   5814:        * kern/xpr.c: Remove register qualifiers.
                   5815: 
                   5816:        kern: remove register qualifiers
                   5817:        * kern/timer.h: Remove register qualifiers.
                   5818: 
                   5819:        kern: remove register qualifiers
                   5820:        * kern/timer.c: Remove register qualifiers.
                   5821: 
                   5822:        kern: remove register qualifiers
                   5823:        * kern/thread_swap.c: Remove register qualifiers.
                   5824: 
                   5825:        kern: remove register qualifiers
                   5826:        * kern/thread.c: Remove register qualifiers.
                   5827: 
                   5828:        kern: remove register qualifiers
                   5829:        * kern/task.c: Remove register qualifiers.
                   5830: 
                   5831:        kern: remove register qualifiers
                   5832:        * kern/syscall_subr.c: Remove register qualifiers.
                   5833: 
                   5834:        kern: remove register qualifiers
                   5835:        * kern/syscall_emulation.c: Remove register qualifiers.
                   5836: 
                   5837:        kern: remove register qualifiers
                   5838:        * kern/strings.c: Remove register qualifiers.
                   5839: 
                   5840:        kern: remove register qualifiers
                   5841:        * kern/startup.c: Remove register qualifiers.
                   5842: 
                   5843:        kern: remove register qualifiers
                   5844:        * kern/sched_prim.c: Remove register qualifiers.
                   5845: 
                   5846:        kern: remove register qualifiers
                   5847:        * kern/sched.h: Remove register qualifiers.
                   5848: 
                   5849:        kern: remove register qualifiers
                   5850:        * kern/queue.h: Remove register qualifiers.
                   5851: 
                   5852:        kern: remove register qualifiers
                   5853:        * kern/queue.c: Remove register qualifiers.
                   5854: 
                   5855:        kern: remove register qualifiers
                   5856:        * kern/processor.c: Remove register qualifiers.
                   5857: 
                   5858:        kern: remove register qualifiers
                   5859:        * kern/priority.c: Remove register qualifiers.
                   5860: 
                   5861:        kern: remove register qualifiers
                   5862:        * kern/printf.c: Remove register qualifiers.
                   5863: 
                   5864:        kern: remove register qualifiers
                   5865:        * kern/pc_sample.c: Remove register qualifiers.
                   5866: 
                   5867:        kern: remove register qualifiers
                   5868:        * kern/machine.c: Remove register qualifiers.
                   5869: 
                   5870:        kern: remove register qualifiers
                   5871:        * kern/mach_factor.c: Remove register qualifiers.
                   5872: 
                   5873:        kern: remove register qualifiers
                   5874:        * kern/mach_clock.c: Remove register qualifiers.
                   5875: 
                   5876:        kern: remove register qualifiers
                   5877:        * kern/lock_mon.c: Remove register qualifiers.
                   5878: 
                   5879:        kern: remove register qualifiers
                   5880:        * kern/lock.c: Remove register qualifiers.
                   5881: 
                   5882:        kern: remove register qualifiers
                   5883:        * kern/ipc_tt.c: Remove register qualifiers.
                   5884: 
                   5885:        kern: remove register qualifiers
                   5886:        * kern/ipc_sched.c: Remove register qualifiers.
                   5887: 
                   5888:        kern: remove register qualifiers
                   5889:        * kern/ipc_mig.c: Remove register qualifiers.
                   5890: 
                   5891:        kern: remove register qualifiers
                   5892:        * kern/host.c: Remove register qualifiers.
                   5893: 
                   5894:        kern: remove register qualifiers
                   5895:        * kern/exception.c: Remove register qualifiers.
                   5896: 
                   5897:        kern: remove register qualifiers
                   5898:        * kern/eventcount.c: Remove register qualifiers.
                   5899: 
                   5900:        kern: remove register qualifiers
                   5901:        * kern/bootstrap.c: Remove register qualifiers.
                   5902: 
                   5903:        kern: remove register qualifiers
                   5904:        * kern/ast.c: Remove register qualifiers.
                   5905: 
                   5906:        kern: remove register qualifiers
                   5907:        * kern/act.c: Remove register qualifiers.
                   5908: 
                   5909: 2013-11-11  Marin Ramesa  <[email protected]>
                   5910: 
                   5911:        ipc: remove register qualifiers
                   5912:        * ipc/ipc_thread.h: Remove register qualifiers.
                   5913: 
                   5914:        ipc: remove register qualifiers
                   5915:        * ipc/mach_msg.c: Remove register qualifiers.
                   5916: 
                   5917:        ipc: qualify constants with const
                   5918:        * ipc/ipc_table.c: Qualify constants with const.
                   5919: 
                   5920:        ipc: trivial stylistic fix for consistency
                   5921:        * ipc/ipc_pset.c: Trivial stylistic fix for consistency.
                   5922: 
                   5923: 2013-11-11  Samuel Thibault  <[email protected]>
                   5924: 
                   5925:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   5926: 
                   5927: 2013-11-11  Marin Ramesa  <[email protected]>
                   5928: 
                   5929:        ipc: remove register qualifiers
                   5930:        * ipc/ipc_kmsg.c: Remove register qualifiers.
                   5931: 
                   5932: 2013-11-11  Justus Winter  <[email protected]>
                   5933: 
                   5934:        kern: fix the error handling in exec_load
                   5935:        Found using the Clang Static Analyzer.
                   5936: 
                   5937:        * kern/elf-load.c (exec_load): Properly propagate errors.
                   5938: 
                   5939: 2013-11-10  Marin Ramesa  <[email protected]>
                   5940: 
                   5941:        kern: comment unused variable
                   5942:        Variable reply_port is never used. There is indication in the comments
                   5943:        that it might be used in future function call, so comment it.
                   5944: 
                   5945:        * kern/ipc_mig.c (syscall_device_writev_request): Comment variable.
                   5946: 
                   5947: 2013-11-10  Marin Ramesa  <[email protected]>
                   5948: 
                   5949:        device: initialize to zero offset
                   5950:        Initialize addr to zero offset to quiet warnings about uninitialized
                   5951:        deallocation.
                   5952: 
                   5953:        * device/chario.c (addr): Initialize to zero.
                   5954: 
                   5955: 2013-11-10  Marin Ramesa  <[email protected]>
                   5956: 
                   5957:        remove register qualifiers
                   5958:        * device/subrs.c: Remove register qualifiers.
                   5959: 
                   5960:        remove register qualifiers
                   5961:        * device/net_io.c: Remove register qualifiers.
                   5962: 
                   5963:        remove definitions of ETHERMTU and ETHERMIN
                   5964:        * device/if_ether.h (ETHERMTU, ETHERMIN): Remove unused definitions.
                   5965: 
                   5966:        remove register qualifiers
                   5967:        * device/blkio.c: Remove register qualifiers.
                   5968: 
                   5969: 2013-11-09  Vladimir 'φ-coder/phcoder' Serbinenko  <[email protected]>
                   5970: 
                   5971:        Fix overflow in Xen clock computation
                   5972:        * xen/time.c (hyp_get_stime): Split `delta` into `delta_high` and
                   5973:        `delta_low`, as it may overflow 4 second timing nowadays.
                   5974: 
                   5975: 2013-11-09  Marin Ramesa  <[email protected]>
                   5976: 
                   5977:        Remove lint code
                   5978: 
                   5979: 2013-10-10  Richard Braun  <[email protected]>
                   5980: 
                   5981:        Increase kernel map entry pool size
                   5982:        * vm/vm_map.h (KENTRY_DATA_SIZE): Set to 256 pages.
                   5983: 
1.1.1.9   root     5984: 2013-10-09  Richard Braun  <[email protected]>
                   5985: 
                   5986:        VM cache policy change
                   5987:        This patch lets the kernel unconditionnally cache non empty unreferenced
                   5988:        objects instead of using a fixed arbitrary limit. As the pageout daemon
                   5989:        evicts pages, it collects cached objects that have become empty. The
                   5990:        effective result is a graceful adjustment of the number of objects
                   5991:        related to memory management (virtual memory objects, their associated
                   5992:        ports, and potentially objects maintained in the external memory
                   5993:        managers). Physical memory can now be almost entirely filled up with
                   5994:        cached pages. In addition, these cached pages are not automatically
                   5995:        deactivated as objects can quickly be referenced again.
                   5996: 
                   5997:        There are problems with this patch however. The first is that, on
                   5998:        machines with a large amount of physical memory (above 1 GiB but it also
                   5999:        depends on usage patterns), scalability issues are exposed. For example,
                   6000:        file systems which don't throttle their writeback requests can create
                   6001:        thread storms, strongly reducing system responsiveness. Other issues
                   6002:        such as linear scans of memory objects also add visible CPU overhead.
                   6003: 
                   6004:        The second is that, as most memory is used, it increases the chances of
                   6005:        swapping deadlocks. Applications that map large objects and quickly
                   6006:        cause lots of page faults can still easily bring the system to its
                   6007:        knees.
                   6008: 
1.1.1.7   root     6009: 2013-09-28  Samuel Thibault  <[email protected]>
                   6010: 
                   6011:        Add files missing in distrib tarball
                   6012:        * Makefrag.am (libkernel_a_SOURCES): Add ddb/db_write_cmd.h,
                   6013:        ipc/ipc_print.h, vm/vm_print.h
                   6014:        * linux/Makefrag.am (EXTRA_DIST): Add linux/src/drivers/scsi/FlashPoint.c,
                   6015:        linux/src/drivers/scsi/eata_pio_proc.c, linux/src/drivers/scsi/scsiiom.c.
                   6016: 
1.1.1.6   root     6017: 2013-09-27  Thomas Schwinge  <[email protected]>
                   6018: 
1.1.1.7   root     6019:        Merge remote-tracking branch 'savannah/master' into master
                   6020: 
1.1.1.6   root     6021:        GNU Mach 1.4.
                   6022:        * version.m4 (AC_PACKAGE_VERSION): Set to 1.4.
                   6023:        * NEWS: Finalize changes for 1.4.
                   6024:        * README: Update.
                   6025: 
                   6026:        * configure.ac (AM_INIT_AUTOMAKE): Add dist-bzip2.
                   6027: 
                   6028:        Generate ChangeLog files for distributions.
                   6029:        * gitlog-to-changelog: New file; import from gnulib's
                   6030:        9fc81090f6c5590bd1b0e0fa5087577a2ee43a3e:build-aux/gitlog-to-changelog.
                   6031:        * Makefile.am (gen-ChangeLog): New target.
                   6032:        (dist-hook): Depend on it.
                   6033: 
                   6034:        dist-hook extensibility.
                   6035:        * Makefile.am (dist-hook): Rename to...
                   6036:        (dist-rm-CVS): ... this new target.
                   6037:        (dist-hook): Depend on it.
                   6038: 
                   6039:        * README: Simplify build instructions.
                   6040:        Follow-up to commit 471e5b080f7790c2cf95e3069d9fed1173c9ec17.
                   6041: 
1.1.1.7   root     6042: 2013-09-27  Svante Signell  <[email protected]>
                   6043: 
                   6044:        Fix typo
                   6045:        * README: Fix typo.
                   6046: 
1.1.1.6   root     6047: 2013-09-26  Samuel Thibault  <[email protected]>
                   6048: 
                   6049:        Fix gpl.texi build
                   6050:        texinfo does not support @heading/@center in the middle of an enumerate.
                   6051: 
                   6052:        * doc/gpl.texi: Move "NO WARRANTY" to item heading.
                   6053: 
                   6054: 2013-09-26  Samuel Thibault  <[email protected]>
                   6055: 
                   6056:        Really update README
                   6057:        * README: Network drivers are actually enabled by default.
                   6058: 
                   6059:        Update README
                   6060:        * README: Update default drivers notice.  Mention cross-compilation flags
                   6061:        for 64bit systems.
                   6062: 
                   6063: 2013-09-24  Samuel Thibault  <[email protected]>
                   6064: 
                   6065:        Drop Invariant, Front-Cover and Back-Cover references
                   6066:        The referenced Invariant sections does not exist, and the front and back
                   6067:        covers do not hold much information.
                   6068: 
                   6069: 2013-09-22  Marin Ramesa  <[email protected]>
                   6070: 
                   6071:        device: remove unused file dk_label.c
                   6072:        * device/dk_label.c: Remove file.
                   6073: 
                   6074: 2013-09-21  Marin Ramesa  <[email protected]>
                   6075: 
                   6076:        add comments after endifs
                   6077:        * device/ds_routines.c [CONFIG_PCMCIA, CONFIG_INET, LINUX_DEV, MACH_HYP]: Add comments after endifs.
                   6078: 
                   6079:        remove lint code
                   6080:        * device/ds_routines.c [lint]: Remove ifdefs and associated code.
                   6081: 
                   6082:        remove register qualifiers
                   6083:        * device/ds_routines.c: Remove register qualifiers.
                   6084: 
                   6085:        remove lint code
                   6086:        * device/dev_pager.c [lint]: Remove ifdefs and associated code.
                   6087: 
                   6088:        Coding style trivial fixes
                   6089: 
                   6090:        remove register qualifiers
                   6091:        * device/dev_pager.c: Remove register qualifiers.
                   6092: 
                   6093: 2013-09-16  Marin Ramesa  <[email protected]>
                   6094: 
                   6095:        another small change in style for consistency
                   6096:        * device/dev_name.c: Change in coding style.
                   6097: 
                   6098: 2013-09-16  Marin Ramesa  <[email protected]>
                   6099: 
                   6100:        use boolean_t instead of an int
                   6101:        Variable 'found' already receives values TRUE and FALSE, so why not make
                   6102:        it a boolean.
                   6103: 
                   6104:        * device/dev_name.c: Use boolean_t instead of an int.
                   6105: 
                   6106: 2013-09-16  Marin Ramesa  <[email protected]>
                   6107: 
                   6108:        remove preprocessor comments
                   6109:        The first one is a message that name lookup has been called, which
                   6110:        I think is safe to remove, or maybe add #if DEBUG. Second one is a
                   6111:        alternate calculation that I doubt it will ever be used, so I think
                   6112:        it's safe to remove it.
                   6113: 
                   6114:        * device/dev_name.c: Remove preprocessor comments.
                   6115: 
                   6116: 2013-09-16  Marin Ramesa  <[email protected]>
                   6117: 
                   6118:        another small change in style for consistency
                   6119:        * device/dev_name.c: Change in coding style.
                   6120: 
                   6121:        small style changes for consistency
                   6122:        * device/dev_name: Changes in coding style.
                   6123: 
                   6124:        remove register qualifiers
                   6125:        * device/dev_name.c: Remove register qualifiers.
                   6126: 
                   6127: 2013-09-15  Marin Ramesa  <[email protected]>
                   6128: 
                   6129:        remove definition of NDEVICES
                   6130:        NDEVICES is never used. Judging by the position and the comments
                   6131:        it was once used in initialization, but it's not anymore. I think
                   6132:        it's safe to remove it.
                   6133: 
                   6134:        * device/dev_lookup.c (NDEVICES): Remove definition.
                   6135: 
                   6136: 2013-09-15  Marin Ramesa  <[email protected]>
                   6137: 
                   6138:        remove register qualifiers
                   6139:        * device/dev_lookup.c: Remove register qualifiers.
                   6140: 
                   6141: 2013-09-11  Marin Ramesa  <[email protected]>
                   6142: 
                   6143:        remove register qualifiers.
                   6144:        * device/cirbuf.c: Remove register qualifiers.
                   6145: 
                   6146: 2013-09-11  Marin Ramesa  <[email protected]>
                   6147: 
                   6148:        track the console init with a boolean instead of an int
                   6149:        A variable that keeps track if the console init has been called. It should
                   6150:        never receive values other than 0 and 1, so constrain it's possible range of
                   6151:        values to a boolean.
                   6152: 
                   6153:        * device/cons.c (cn_inited): Use boolean_t instead of an int.
                   6154: 
                   6155: 2013-09-11  Marin Ramesa  <[email protected]>
                   6156: 
                   6157:        track the console buffer usage with a boolean instead of an int
                   6158:        A variable that keeps track of the console buffer usage should never receive
                   6159:        values other than 0 and 1, so constrain it's value range to boolean. Plus, it's
                   6160:        more readable this way.
                   6161: 
                   6162:        * device/cons.c (consbufused): Use boolean_t instead of an int.
                   6163: 
                   6164: 2013-09-11  Marin Ramesa  <[email protected]>
                   6165: 
                   6166:        drop unused CONSMAJOR
                   6167:        CONSMAJOR is never used. I'm guessing that in the past it was
                   6168:        a part of some problematic code. I don't see a reason to keep
                   6169:        it's definition.
                   6170: 
                   6171:        * device/cons.h (CONSMAJOR): Remove definition.
                   6172: 
                   6173: 2013-09-09  Marin Ramesa  <[email protected]>
                   6174: 
                   6175:        Remove register qualifiers
                   6176:        * device/chario.c: Remove register qualifiers.
                   6177: 
                   6178:        Add const qualifiers.
                   6179:        * device/chario.c (tty_inq_size, tty_outq_size): Qualify constants as const.
                   6180: 
                   6181:        Drop useless forward declaration
                   6182:        * device/chario.c (tty_flush): Remove forward declaration (prototype is in tty.h).
                   6183: 
                   6184:        Drop luna88k bits
                   6185:        * device/tty.h [luna88k]: Remove ifdef and include for nonexistent header files.
                   6186:        * kern/debug.c: Remove check for luna88k.
                   6187: 
                   6188: 2013-08-28  Samuel Thibault  <[email protected]>
                   6189: 
                   6190:        Drop FXSR initialization message
                   6191:        * i386/i386/fpu.c (init_fpu): Drop FXSR initialization message
                   6192: 
                   6193: 2013-07-18  Marin Ramesa  <[email protected]>
                   6194: 
                   6195:        kern: add missing prototype
                   6196:        * kern/lock.h (db_show_all_slocks): Add prototype.
                   6197: 
                   6198:        ipc: organize ipc print function prototypes
                   6199:        * ipc/ipc_print.h: New file.
                   6200:        [MACH_KDB] Include <mach/mach_types.h>.
                   6201:        [MACH_KDB] Include <mach/message.h>.
                   6202:        [MACH_KDB] Include <ipc/ipc_types.h>.
                   6203:        (ipc_port_print): Add prototype.
                   6204:        (ipc_pset_print): Likewise.
                   6205:        (ipc_kmsg_print): Likewise.
                   6206:        (ipc_msg_print): Likewise.
                   6207:        * ipc/ipc_port.h (ipc_port_print): Remove prototype.
                   6208:        * ipc/ipc_port.c [MACH_KDB]: Include <ipc/ipc_print.h>.
                   6209:        * ipc/ipc_pset.h (ipc_pset_print): Remove prototype.
                   6210:        * ipc/ipc_pset.c [MACH_KDB]: Include <ipc/ipc_print.h>.
                   6211:        * ipc/ipc_kmsg.c [MACH_KDB]: Include <ipc/ipc_print.h>.
                   6212: 
                   6213:        vm: organize vm print function prototypes
                   6214:        * vm/vm_print.h: New file.
                   6215:        Include <vm/vm_map.h>.
                   6216:        Include <machine/db_machdep.h>.
                   6217:        (vm_map_print): Add prototype.
                   6218:        (vm_map_copy_print): Likewise.
                   6219:        (vm_object_print): Likewise.
                   6220:        (vm_page_print): Likewise.
                   6221:        Include <vm/vm_object.h>.
                   6222:        Include <vm/vm_page.h>
                   6223:        * vm/vm_map.h (vm_map_print): Remove prototype.
                   6224:        * vm/vm_map.c [MACH_KDB]: Include <vm/vm_print.h>.
                   6225:        * vm/vm_object.h (vm_object_print): Remove prototype.
                   6226:        * vm/vm_object.c [MACH_KDB]: Include <vm/vm_print.h>.
                   6227:        * vm/vm_resident.c [MACH_KDB]: Include <vm/vm_print.h>.
                   6228: 
                   6229:        ddb: cleanup db_command.c
                   6230:        * ddb/db_command.c (_longjmp): Remove prototype.
                   6231:        (vm_map_print): Likewise.
                   6232:        (vm_object_print): Likewise.
                   6233:        (vm_page_print): Likewise.
                   6234:        (vm_map_copy_print): Likewise.
                   6235:        (ipc_port_print): Likewise.
                   6236:        (ipc_pset_print): Likewise.
                   6237:        (db_show_all_slocks): Likewise.
                   6238:        (ipc_kmsg_print): Likewise.
                   6239:        (ipc_msg_print): Likewise.
                   6240:        Include <vm/vm_print.h>.
                   6241:        Include <ipc/ipc_print.h>.
                   6242:        Include <kern/lock.h>.
                   6243:        * i386/i386/setjmp.h [__GNUC__] (_longjmp): Add prototype.
                   6244: 
                   6245: 2013-07-07  Marin Ramesa  <[email protected]>
                   6246: 
                   6247:        fix implicit declarations
                   6248:        * ddb/db_trap.c: Include <machine/setjmp.h>.
                   6249:        * i386/i386/setjmp.h (_setjmp): Add prototype.
                   6250: 
                   6251: 2013-07-07  Samuel Thibault  <[email protected]>
                   6252: 
                   6253:        Restore db_help_cmd
                   6254:        * ddb/db_command.c (db_help_cmd): Restore function.
                   6255: 
                   6256: 2013-07-06  Marin Ramesa  <[email protected]>
                   6257: 
                   6258:        ddb: cleanup db_command.c
                   6259:        * ddb/db_write_cmd.h: New file.
                   6260:        (db_write_cmd): Add prototype.
                   6261:        Include <mach/boolean.h>.
                   6262:        Include <machine/db_machdep.h>.
                   6263:        * ddb/db_break.h (db_listbreak_cmd): Add prototype.
                   6264:        (db_delete_cmd): Likewise.
                   6265:        (db_breakpoint_cmd): Likewise.
                   6266:        * ddb/db_watch.h (db_listwatch_cmd): Likewise.
                   6267:        (db_deletewatch_cmd): Likewise.
                   6268:        (db_watchpoint_cmd): Likewise.
                   6269:        * ddb/db_print.h (db_show_one_thread): Likewise.
                   6270:        (db_show_all_threads): Likewise.
                   6271:        * ddb/db_examine.h (db_print_cmd): Likewise.
                   6272:        (db_examine_forward): Likewise.
                   6273:        (db_examine_backward): Likewise.
                   6274:        (db_search_cmd): Likewise.
                   6275:        * ddb/db_variables.h (db_set_cmd): Likewise.
                   6276:        * ddb/db_run.h (db_trace_until_call_cmd): Likewise.
                   6277:        (db_trace_until_matching_cmd): Likewise.
                   6278:        (db_continue_cmd): Likewise.
                   6279:        * ddb/db_command.h (db_fncall): Likewise.
                   6280:        * ddb/db_command.c: Include <ddb/db_break.h>.
                   6281:        Include <ddb/db_watch.h>.
                   6282:        Include <ddb/db_variables.h>.
                   6283:        Include <ddb/db_write_cmd.h>.
                   6284:        Include <ddb/db_run.h>.
                   6285:        Include <ddb/db_cond.h>.
                   6286:        (db_listbreak_cmd): Remove prototype.
                   6287:        (db_listwatch_cmd): Likewise.
                   6288:        (db_show_one_thread): Likewise.
                   6289:        (db_show_all_threads): Likewise.
                   6290:        (db_show_macro): Likewise.
                   6291:        (db_show_help): Likewise.
                   6292:        (db_print_cmd): Likewise.
                   6293:        (db_examine_cmd): Likewise.
                   6294:        (db_set_cmd): Likewise.
                   6295:        (db_examine_forward): Likewise.
                   6296:        (db_examine_backward): Likewise.
                   6297:        (db_search_cmd): Likewise.
                   6298:        (db_write_cmd): Likewise.
                   6299:        (db_delete_cmd): Likewise.
                   6300:        (db_breakpoint_cmd): Likewise.
                   6301:        (db_deletewatch_cmd): Likewise.
                   6302:        (db_watchpoint_cmd): Likewise.
                   6303:        (db_single_step_cmd): Likewise.
                   6304:        (db_trace_until_call_cmd): Likewise.
                   6305:        (db_trace_until_matching_cmd): Likewise.
                   6306:        (db_continue_cmd): Likewise.
                   6307:        (db_cond_cmd): Likewise.
                   6308:        (db_help_cmd): Likewise.
                   6309:        (db_def_macro_cmd): Likewise.
                   6310:        (db_del_macro_cmd): Likewise.
                   6311:        (db_fncall): Likewise.
                   6312: 
                   6313: 2013-07-05  Marin Ramesa  <[email protected]>
                   6314: 
                   6315:        ddb: use and cleanup db_print.h
                   6316:        * ddb/db_command.c: Include db_print.h.
                   6317:        Remove extern db_show_regs().
                   6318:        Remove extern db_show_one_task().
                   6319:        Remove extern db_show_port_id().
                   6320:        * ddb/db_print.c: Include db_print.h
                   6321:        * ddb/db_print.h (db_show_all_acts): Remove prototype.
                   6322:        (db_show_one_act): Likewise.
                   6323:        (db_show_shuttle): Likewise.
                   6324:        (db_show_one_task_vm): Likewise.
                   6325:        (db_show_all_task_vm): Likewise.
                   6326:        (db_show_one_space): Likewise.
                   6327:        (db_show_all_spaces): Likewise.
                   6328:        (db_sys): Likewise.
                   6329:        (db_port_kmsg_count): Likewise.
                   6330:        (db_show_one_simple_lock): Likewise.
                   6331:        (db_show_one_mutex): Likewise.
                   6332:        (db_show_subsystem): Likewise.
                   6333:        (db_show_runq): Likewise.
                   6334: 
                   6335: 2013-07-04  Marin Ramesa  <[email protected]>
                   6336: 
                   6337:        ddb: fix implicit declarations
                   6338:        * ddb/db_break.c: Include ddb/db_access.h.
                   6339:        * ddb/db_examine.h (db_xcdump): Add prototype.
                   6340:        * ddb/db_ext_symtab.c: Include vm/vm_user.h.
                   6341:        * ddb/db_input.c: Include device/cons.h.
                   6342:        * ddb/db_output.c: Likewise.
                   6343: 
                   6344: 2013-06-29  Marin Ramesa  <[email protected]>
                   6345: 
                   6346:        (slab_info): fix format warnings
                   6347:        * kern/slab.c (slab_info): Fix format for vm_size_t.
                   6348: 
                   6349:        Add device_pager_setup prototype
                   6350:        * device/ds_routines.h (device_pager_setup): Add prototype.
                   6351: 
                   6352:        Add [nh]to[hn][ls] prototypes
                   6353:        * device/net_io.h (ntohl, htonl, ntohs, htons): Add prototypes.
                   6354: 
                   6355: 2013-06-29  Samuel Thibault  <[email protected]>
                   6356: 
                   6357:        Fix int/long discrepancy
                   6358:        * device/net_io.c (bpf_match): Make the `keys' parameter a pointer to
                   6359:        unsigned int instead of unsigned long.
                   6360:        (bpf_do_filter): Make `A', `B' and `mem' unsigned ints instead of unsigned
                   6361:        longs. Also turn long casts into int casts.
                   6362: 
                   6363: 2013-06-24  Samuel Thibault  <[email protected]>
                   6364: 
                   6365:        Add partitioning reload support to ahci
                   6366:        * linux/dev/drivers/block/ahci.c (port): Add `gd' field.
                   6367:        (ahci_ioctl): New function.
                   6368:        (ahci_fops): Fill `ioctl' field with `ahci_ioctl'.
                   6369:        (ahci_probe_pci): Fill `gd' field with `gd'.
                   6370: 
                   6371:        Fix printing ahci PCI dev and fun
                   6372:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Compute `dev' and `fun'
                   6373:        earlier so they can be printed.
                   6374: 
                   6375: 2013-06-10  Samuel Thibault  <[email protected]>
                   6376: 
                   6377:        Add missing 4KiB memory
                   6378:        * i386/i386at/model_dep.c (init_alloc_aligned): Let allocated area last
                   6379:        until end of memory map.
                   6380: 
                   6381:        Add non-contiguous mmap support
                   6382:        * i386/include/mach/i386/multiboot.h (multiboot_mmap): New structure
                   6383:        * i386/i386at/model_dep.c (mem_size_init): Parse boot_info.mmap_addr if
                   6384:        available.
                   6385:        (init_alloc_aligned): Likewise.
                   6386: 
                   6387: 2013-06-09  Samuel Thibault  <[email protected]>
                   6388: 
                   6389:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   6390: 
                   6391: 2013-06-09  Samuel Thibault  <[email protected]>
                   6392: 
                   6393:        Do not skip AHCI controller without HOST_CAP_ONLY
                   6394:        We rather rely on the announced PCI type to determine whether to use IDE or
                   6395:        AHCI.
                   6396: 
                   6397:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Do not skip AHCI
                   6398:        controller without HOST_CAP_ONLY.
                   6399: 
                   6400: 2013-06-09  Samuel Thibault  <[email protected]>
                   6401: 
                   6402:        Add timeout to ahci IDENTIFY
                   6403:        * linux/dev/drivers/block/ahci.c (identify_timeout): New function.
                   6404:        (identify_timer): New variable.
                   6405:        (ahci_probe_port): Add timer to abandon identify command.
                   6406: 
                   6407:        Fix printf format
                   6408:        * linux/dev/drivers/block/ahci.c (ahci_do_request): Cast capacity into unsigned
                   6409:        long and use %lu format.
                   6410:        (ahci_probe_port): Cast size into unsigned and use %u format.
                   6411: 
                   6412:        Fix format
                   6413: 
                   6414: 2013-06-09  Richard Braun  <[email protected]>
                   6415: 
                   6416:        Fix object construction in the slab allocator
                   6417:        There is currently no actual use of constructors, which is why this bug has
                   6418:        been long overlooked.
                   6419: 
                   6420:        * kern/slab.c (kmem_cpu_pool_fill): Call constructor on buffers unless
                   6421:        verification is enabled for the cache, or the constructor is NULL.
                   6422: 
                   6423: 2013-06-04  Marin Ramesa  <[email protected]>
                   6424: 
                   6425:        Comment unused variable
                   6426:        * kern/ipc_mig.c (syscall_device_write_request): Comment unused variable.
                   6427: 
                   6428: 2013-06-04  Samuel Thibault  <[email protected]>
                   6429: 
                   6430:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   6431: 
                   6432: 2013-06-04  Miguel Figueiredo  <[email protected]>
                   6433: 
                   6434:        Fix format warnings
                   6435:        * vm/vm_resident.c (pmap_startup): Fix printf format.
                   6436:        * xen/block.c (hyp_block_init, device_write): Likewise.
                   6437:        * xen/net.c (hyp_net_init): Likewise.
                   6438: 
                   6439: 2013-06-02  Miguel Figueiredo  <[email protected]>
                   6440: 
                   6441:        Remove unused variable
                   6442:        * kern/act.c (act_create): Remove unused variable.
                   6443: 
                   6444: 2013-06-02  Richard Braun  <[email protected]>
                   6445: 
                   6446:        Fix yet another locking error in the slab allocator
                   6447:        * kern/slab.c (kmem_cache_free): Relock cache before retrying releasing
                   6448:        an object to the CPU pool layer.
                   6449: 
                   6450: 2013-06-02  Miguel Figueiredo  <[email protected]>
                   6451: 
                   6452:        Remove unused variable
                   6453:        * ipc/mach_port.c (mach_port_set_syscall_right): Remove unused variable.
                   6454: 
                   6455: 2013-05-30  Samuel Thibault  <[email protected]>
                   6456: 
                   6457:        Add LBA48 support to AHCI driver
                   6458:        * linux/dev/drivers/block/ahci.c (port): Extend `capacity' field type to
                   6459:        unsigned long long. Add `lba48' field. Make `identify' field unsigned.
                   6460:        (ahci_do_port_request): When `lba48' is true, use WIN_READDMA_EXT and
                   6461:        WIN_WRITEDMA_EXT commands.
                   6462:        (ahci_probe_port): Test lba48 flag, read capacity and set `lba48'
                   6463:        accordingly. Display size in GiB above 10GiB.
                   6464:        * linux/src/include/linux/hdreg.h (WIN_READDMA_EXT, WIN_WRITEDMA_EXT): New
                   6465:        macros
                   6466:        (hd_driveid): Add `command_set_2' and lba_capacity_2' fields.
                   6467: 
                   6468: 2013-05-27  Miguel Figueiredo  <[email protected]>
                   6469: 
                   6470:        Remove old elevator algorithm function
                   6471:        * device/blkio.c (disksort): remove unused function
                   6472: 
                   6473: 2013-05-19  Miguel Figueiredo  <[email protected]>
                   6474: 
                   6475:        Remove unneeded variable initialization
                   6476:        * kern/thread.c (thread_force_terminate): Remove unneeded variable
                   6477:        initialization.
                   6478: 
                   6479: 2013-05-19  Samuel Thibault  <[email protected]>
                   6480: 
                   6481:        Remove duplicate line
                   6482:        Reported by Miguel Figueiredo
                   6483: 
                   6484:        * kern/thread.c (thread_create): Remove duplicate reset of
                   6485:        new_thread->pc_sample.buffer to 0.
                   6486: 
                   6487: 2013-05-16  Richard Braun  <[email protected]>
                   6488: 
                   6489:        Reduce fragmentation in the slab allocator
                   6490:        This reverts a change brought when reworking slab lists handling that made
                   6491:        the allocator store slabs in LIFO order, whatever their reference count.
                   6492:        While it's fine for free slabs, it actually increased fragmentation for
                   6493:        partial slabs.
                   6494: 
                   6495:        * kern/slab.c (kmem_cache_alloc_from_slab): Insert slabs that become partial
                   6496:        at the end of the partial slabs list.
                   6497: 
                   6498: 2013-05-16  Richard Braun  <[email protected]>
                   6499: 
                   6500:        Rename list_insert to list_insert_head
                   6501:        This change increases clarity.
                   6502: 
                   6503:        * kern/list.h (list_insert): Rename to ...
                   6504:        (list_insert_head): ... this.
                   6505:        * kern/slab.c: Update calls to list_insert.
                   6506: 
                   6507: 2013-05-15  Richard Braun  <[email protected]>
                   6508: 
                   6509:        Fix itemization errors in the texinfo documentation
                   6510:        * doc/mach.texi: Replace @itemx with @item for --enable-tulip and
                   6511:        --enable-epic100.
                   6512: 
                   6513: 2013-05-13  Miguel Figueiredo  <[email protected]>
                   6514: 
                   6515:        Drop unused variables
                   6516:        * kern/slab.c (kalloc_init): Remove unused variables.
                   6517: 
                   6518: 2013-05-11  Samuel Thibault  <[email protected]>
                   6519: 
                   6520:        Add missing parameters to printf
                   6521:        * linux/dev/drivers/block/ahci.c (ahci_probe_dev): Add missing parameters to
                   6522:        printf.
                   6523: 
                   6524: 2013-05-10  Samuel Thibault  <[email protected]>
                   6525: 
                   6526:        Fix ahci.h path
                   6527:        * linux/Makefrag.am (liblinux_a_SOURCES): Fix path to ahci.h
                   6528: 
                   6529:        Add AHCI driver
                   6530:        * linux/dev/glue/kmem.c (vmtophys): New function.
                   6531:        * linux/dev/include/linux/mm.h (vmtophys): New prototype.
                   6532:        * linux/src/include/linux/pci.h (PCI_CLASS_STORAGE_SATA,
                   6533:        PCI_CLASS_STORAGE_SATA_AHCI): New macros.
                   6534:        * linux/dev/drivers/block/ahci.c: New file.
                   6535:        * linux/dev/include/ahci.h: New file.
                   6536:        * linux/Makefrag.am (liblinux_a_SOURCES): Add linux/dev/drivers/block/ahci.c
                   6537:        and linux/dev/drivers/block/ahci.h.
                   6538:        * linux/src/drivers/block/ide.c: Include <ahci.h>.
                   6539:        (probe_for_hwifs): Call ahci_probe_pci.
                   6540: 
                   6541: 2013-05-02  Samuel Thibault  <[email protected]>
                   6542: 
                   6543:        Fix non-block-aligned-offset reads
                   6544:        This fixes grave issues when device_read is called with non-block-aligned
                   6545:        offset, e.g. when using grub-probe with a non-block-aligned partition table.
                   6546: 
                   6547:        * linux/dev/glue/block.c (rdwr_full): Use current position instead of base
                   6548:        buffer position to check for alignment.
                   6549: 
                   6550: 2013-05-01  Samuel Thibault  <[email protected]>
                   6551: 
                   6552:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   6553: 
                   6554:        Fix macro name
                   6555:        * linux/dev/glue/block.c (device_get_status): Use
                   6556:        DEV_GET_RECORDS_RECORD_SIZE for DEV_GET_RECORDS instead of
                   6557:        DEV_GET_SIZE_RECORD_SIZE.
                   6558: 
                   6559: 2013-04-21  Richard Braun  <[email protected]>
                   6560: 
                   6561:        Optimize slab reaping
                   6562:        Instead of walking the list of free slabs while holding the cache lock,
                   6563:        detach the list from the cache and directly compute the final count values,
                   6564:        and destroy slabs after releasing the cache lock.
                   6565: 
                   6566:        * kern/slab.c (kmem_cache_reap): Optimize.
                   6567: 
                   6568: 2013-04-21  Richard Braun  <[email protected]>
                   6569: 
                   6570:        Rework slab lists handling
                   6571:        Don't enforce strong ordering of partial slabs. Separating partial slabs
                   6572:        from free slabs is already effective against fragmentation, and sorting
                   6573:        would sometimes cause pathological scalability issues. In addition, store
                   6574:        new slabs (whether free or partial) in LIFO order for better cache usage.
                   6575: 
                   6576:        * kern/slab.c (kmem_cache_grow): Insert new slab at the head of the slabs list.
                   6577:        (kmem_cache_alloc_from_slab): Likewise. In addition, don't sort partial slabs.
                   6578:        (kmem_cache_free_to_slab): Likewise.
                   6579:        * kern/slab.h: Remove comment about partial slabs sorting.
                   6580: 
                   6581: 2013-04-21  Richard Braun  <[email protected]>
                   6582: 
                   6583:        Fix locking error in the slab allocator
                   6584:        * kern/slab.c (kmem_cache_free): Lock cache before releasing an object to
                   6585:        the slab layer.
                   6586: 
                   6587: 2013-04-08  Samuel Thibault  <[email protected]>
                   6588: 
                   6589:        Add -fno-optimize-sibling-calls option for better kdb traces
                   6590:        * Makefrag.am (AM_CFLAGS) [enable_kdb]: Add -fno-optimize-sibling-calls
                   6591:        option.
                   6592: 
                   6593: 2013-03-11  Samuel Thibault  <[email protected]>
                   6594: 
                   6595:        Update BASEPRI_USER
                   6596:        * kern/sched.h (BASEPRI_USER): Increase to 25.
                   6597: 
                   6598:        Fix build without kdb
                   6599:        * i386/i386/db_interface.h [! MACH_KBD] (db_set_hw_watchpoint,
                   6600:        db_clear_hw_watchpoint, db_dr): Do not declare functions.
                   6601: 
                   6602: 2013-03-06  Samuel Thibault  <[email protected]>
                   6603: 
                   6604:        Increase number of priorities
                   6605:        * kern/sched.h (NRQS): Increase to 50.
                   6606: 
                   6607: 2013-03-05  Samuel Thibault  <[email protected]>
                   6608: 
                   6609:        Do not hardcode maximum priority value
                   6610:        * kern/sched_prim.c (do_priority_computation): Replace 31 with NRQS - 1.
                   6611:        idle_thread: Likewise.
                   6612: 
                   6613: 2013-02-04  Samuel Thibault  <[email protected]>
                   6614: 
                   6615:        Include machine/db_interface instead of hardcoding function prototypes
                   6616:        * ddb/db_access.c: Include <machine/db_interface.h>.
                   6617:        (db_read_bytes, db_write_bytes): Remove functions prototypes.
                   6618:        (db_get_task_value): Fix calling db_read_bytes.
                   6619:        (db_put_task_value): Fix calling db_write_bytes.
                   6620:        * ddb/db_watch.c: Include <machine/db_interface.h>.
                   6621:        (db_set_hw_watchpoint, db_clear_hw_watchpoint): Remove functions prototypes.
                   6622: 
                   6623: 2013-02-04  Samuel Thibault  <[email protected]>
                   6624: 
                   6625:        Plug hw debug register support into kdb
                   6626:        Make the `watch' command use hw debug registers whenever possible.
                   6627: 
                   6628:        * ddb/db_watch.c (db_set_hw_watchpoint, db_clear_hw_watchpoint): Add
                   6629:        functions prototypes.
                   6630:        (db_set_watchpoints): Try to call db_set_hw_watchpoint.
                   6631:        (db_clear_watchpoints): Call db_clear_hw_watchpoint.
                   6632:        * i386/i386/db_interface.c: Include <ddb/db_watch.h>
                   6633:        (db_set_hw_watchpoint): Take a db_watchpoint_t WATCH parameter instead of
                   6634:        its content. Remove support for clearing a debug register.
                   6635:        (db_clear_hw_watchpoint): Add function.
                   6636:        * i386/i386/db_interface.h: Include <ddb/db_watch.h>.
                   6637:        (db_set_hw_watchpoint): Fix function prototype.
                   6638:        (db_clear_hw_watchpoint): Add function prototype.
                   6639:        * i386/i386/db_machdep.h: Do not include <machine/db_interface.h>
                   6640: 
                   6641: 2013-02-04  Samuel Thibault  <[email protected]>
                   6642: 
                   6643:        Document dwatch
                   6644:        * doc/mach.texi: Add dwatch documentation.
                   6645: 
                   6646: 2013-02-04  Samuel Thibault  <[email protected]>
                   6647: 
                   6648:        Add x86 hardware debugging register support
                   6649:        This adds using the x86 hardware debugging registers, either from the kernel
                   6650:        through db_set_hw_watchpoint, or from userland through i386_DEBUG_STATE.
                   6651:        While the kernel is using the registers, the userland values are ignored.
                   6652: 
                   6653:        * i386/i386/db_interface.c (kernel_dr, ids): New variables.
                   6654:        (db_load_context, db_get_debug_state, db_set_debug_state, db_dr,
                   6655:        db_set_hw_watchpoint): New functions.
                   6656:        (kdb_trap): Use get_dr* instead of dr_addr[].
                   6657:        * i386/i386/db_interface.h (db_user_to_kernel_address, db_set_hw_watchpoint)
                   6658:        (db_dr, db_get_debug_state, db_set_debug_state, db_load_context): Add functions
                   6659:        prototypes.
                   6660:        (dr0, dr1, dr2, dr3): Remove functions prototypes.
                   6661:        * i386/i386/locore.S (dr6, dr0, dr1, dr2, dr3): Remove functions.
                   6662:        (dr_msk, dr_addr): Remove variables.
                   6663:        * i386/include/mach/i386/thread_status.h (i386_DEBUG_STATE): Add macro.
                   6664:        (i386_debug_state): Add structure.
                   6665:        (i386_DEBUG_STATE_COUNT): Add macro.
                   6666:        * i386/i386/thread.h: Include <mach/machine/thread_status.h>.
                   6667:        (i386_machine_state): Add `struct i386_debug_state ids' field.
                   6668:        * i386/i386/pcb.c: Include <i386/db_interface.h>.
                   6669:        (switch_ktss): Call db_load_context.
                   6670:        (thread_setstatus, thread_getstatus): Add I386_DEBUG_STATE case.
                   6671:        * i386/i386/proc_reg.h (get_dr0, set_dr0, get_dr1, set_dr1, get_dr2,
                   6672:        set_dr2, get_dr3, set_dr3, get_dr6, set_dr6, get_dr7, set_dr7): Add macros.
                   6673: 
                   6674: 2013-02-03  Samuel Thibault  <[email protected]>
                   6675: 
                   6676:        Prevent the kernel from making any FPU use
                   6677:        * i386/Makefrag.am (AM_CFLAGS): Add -mno-3dnow -mno-mmx -mno-sse -mno-sse2.
                   6678: 
                   6679: 2013-01-31  Samuel Thibault  <[email protected]>
                   6680: 
                   6681:        Implement pmap_map_mfn for the PVH case
                   6682:        * i386/intel/pmap.c (pmap_map_mfn) [MACH_XEN && !MACH_PV_PAGETABLES]:
                   6683:        Implement.
                   6684: 
                   6685:        Make the PVH variant get sure that the support is available in the hypervisor
                   6686:        * i386/xen/xen_boothdr.S (FEATURES): Mark PVH features as required.
                   6687: 
                   6688: 2013-01-30  Samuel Thibault  <[email protected]>
                   6689: 
                   6690:        Add comment for TODO
                   6691: 
                   6692:        Do not use 4gb segment assistance in PVH
                   6693:        * i386/i386/gdt.c (gdt_init) [MACH_PV_DESCRIPTORS && !MACH_PV_PAGETABLES]:
                   6694:        Do not enable VMASST_TYPE_4gb_segments.
                   6695:        * i386/i386/trap.c (user_trap): Do not handle trap 15, 4gb segment
                   6696:        assist notification.
                   6697: 
                   6698:        Drop spurious inclusion
                   6699:        * i386/i386/vm_param.h [MACH_XEN && !MACH_PV_PAGETABLES]: Do not include
                   6700:        <xen/public/xen.h>.
                   6701: 
                   6702:        Increase VM_MAX_KERNEL_ADDRESS for PVH case
                   6703:        * i386/i386/vm_param.h (VM_MAX_KERNEL_ADDRESS) [MACH_XEN &&
                   6704:        !MACH_PV_PAGETABLES]: Remove hypervisor area from VM_MAX_KERNEL_ADDRESS
                   6705:        restriction.
                   6706: 
                   6707: 2013-01-28  Samuel Thibault  <[email protected]>
                   6708: 
                   6709:        More ifdef fixes for ring1 support and pv descriptors support
                   6710:        * i386/i386/idt_inittab.S: Turn MACH_XEN test into MACH_PV_DESCRIPTORS test.
                   6711:        * i386/i386/fpu.c: Turn appropriate MACH_HYP/XEN tests into MACH_RING1 tests.
                   6712:        * i386/i386/ktss.c: Likewise.
                   6713:        * i386/i386/locore.S: Likewise.
                   6714:        * i386/i386/mp_desc.c: Likewise.
                   6715:        * i386/i386/pcb.c: Likewise.
                   6716:        * i386/i386/proc_reg.h: Likewise.
                   6717:        * i386/i386/trap.c: Likewise.
                   6718: 
                   6719:        Add initial code for disabling PV pagetables
                   6720:        * xen/configfrag.ac (--disable-pv-pagetables): Add option.
                   6721:        * i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_PV_PAGETABLES]: Add
                   6722:        writable_page_tables.
                   6723:        * i386/i386/gdt.c: Turn appropriate MACH_XEN/MACH_HYP tests into
                   6724:        MACH_PV_PAGETABLES tests.
                   6725:        * i386/i386/i386asm.sym: Likewise
                   6726:        * i386/i386/ldt.c: Likewise
                   6727:        * i386/i386/locore.S: Likewise
                   6728:        * i386/i386/proc_reg.h: Likewise
                   6729:        * i386/i386/user_ldt.c: Likewise
                   6730:        * i386/i386/vm_param.h: Likewise
                   6731:        * i386/i386/xen.h: Likewise
                   6732:        * i386/i386at/model_dep.c: Likewise
                   6733:        * i386/intel/pmap.h: Likewise
                   6734:        * include/mach/xen.h: Likewise
                   6735:        * xen/console.c: Likewise
                   6736:        * xen/store.c: Likewise
                   6737:        * i386/intel/pmap.c: Likewise. Define pmap_map_mfn as TODO stub.
                   6738: 
                   6739:        Fix comments
                   6740: 
                   6741:        Fix build with --disable-pseudo-phys
                   6742:        * i386/i386/i386asm.sym (PFN_LIST) [!MACH_PSEUDO_PHYS]: Do not define.
                   6743: 
                   6744:        Add initial code for disabling ring1 xen execution
                   6745:        * xen/configfrag.ac (--disable-ring1): Add option.
                   6746:        * i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_RING1]: Add
                   6747:        supervisor_mode_kernel.
                   6748:        * i386/i386/seg.h (KERNEL_RING) [!MACH_RING1]: Set macro to 0.
                   6749: 
                   6750:        Add initial code for disabling PV descriptors
                   6751:        * xen/configfrag.ac (--disable-pv-descriptors): Add option
                   6752:        * i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_PV_DESCRIPTORS]: Add
                   6753:        writable_descriptor_tables.
                   6754:        * i386/i386/gdt.c: Turn appropriate MACH_XEN/MACH_HYP tests into
                   6755:        MACH_PV_DESCRIPTORS tests.
                   6756:        * i386/i386/gdt.h: Likewise.
                   6757:        * i386/i386/i386asm.sym: Likewise.
                   6758:        * i386/i386/idt.c: Likewise.
                   6759:        * i386/i386/idt_inittab.S: Likewise.
                   6760:        * i386/i386/ldt.c: Likewise.
                   6761:        * i386/i386/pcb.c: Likewise.
                   6762:        * i386/i386/seg.h: Likewise.
                   6763:        * i386/i386/user_ldt.c: Likewise.
                   6764:        * i386/i386/user_ldt.h: Likewise.
                   6765: 
                   6766: 2013-01-22  Richard Braun  <[email protected]>
                   6767: 
                   6768:        Add the mach_print debugging system call
                   6769:        The purpose of this system call is to help debugging in situations where
                   6770:        it's desirable to bypass the mach_msg call entirely.
                   6771: 
                   6772:        * include/mach/syscall_sw.h (mach_print): Generate system call code.
                   6773:        * kern/syscall_subr.c: Include <kern/printf.h>.
                   6774:        [MACH_KDB] (mach_print): New function.
                   6775:        * kern/syscall_subr.h (mach_print): New prototype.
                   6776:        * kern/syscall_sw.c [MACH_KDB] (mach_trap_table): Declare mach_print
                   6777:        system call.
                   6778: 
                   6779: 2013-01-13  Samuel Thibault  <[email protected]>
                   6780: 
                   6781:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   6782: 
                   6783:        Fix task stats incrementations
                   6784:        * vm/vm_fault.c (vm_fault_page): Properly increment
                   6785:        current_task()->zero_fills and cow_faults.
                   6786: 
                   6787: 2013-01-13  David Höppner  <[email protected]>
                   6788: 
                   6789:        Add statistics for task_events_info
                   6790:        * ipc/ipc_mqueue.c (ipc_mqueue_send, ipc_mqueue_receive): Increment
                   6791:        counters for message sent and received.
                   6792:        * kern/ipc_kobject.c (ipc_kobject_server): Increment sent and received
                   6793:        counters for the kernel task.
                   6794:        * kern/task.c (task_create): Zero statistics.
                   6795:        * kern/task.c (task_info): Add task_events_info call.
                   6796:        * kern/task.h: Add statistics.
                   6797:        * vm/vm_fault.c (vm_fault_page): Increment zero_fills, pageins,
                   6798:        reactivations and cow_faults counters.
                   6799:        * vm/vm_fault.c (vm_fault_wire_fast): Increment faults counters.
                   6800:        * vm/vm_pageout.c (vm_pageout_scan): Increment reactivations counter.
                   6801: 
                   6802: 2013-01-08  Richard Braun  <[email protected]>
                   6803: 
                   6804:        Fix slab cache list locking
                   6805:        This problem was overlooked because of simple locks being no-ops.
                   6806: 
                   6807:        * kern/slab.c (slab_collect): Fix lock name to kmem_cache_list_lock.
                   6808:        (host_slab_info): Likewise.
                   6809: 
                   6810: 2013-01-08  Richard Braun  <[email protected]>
                   6811: 
                   6812:        Add function to dump a raw summary of the slab allocator state
                   6813:        The purpose of this function is to allow kernel code to display the state
                   6814:        of the slab caches in situations where the host_slab_info RPC wouldn't be
                   6815:        available, e.g. before a panic.
                   6816: 
                   6817:        * kern/slab.c (slab_info): New function.
                   6818:        * kern/slab.h: Add declaration for slab_info.
                   6819: 
                   6820: 2013-01-06  Samuel Thibault  <[email protected]>
                   6821: 
                   6822:        Double KENTRY_DATA_SIZE
                   6823:        * vm/vm_map.h (KENTRY_DATA_SIZE): Bump from 32 pages to 64 pages.
                   6824: 
                   6825: 2013-01-04  David Höppner  <[email protected]>
                   6826: 
                   6827:        Fix compilation warning implicit function declaration kdbprintf
                   6828:        When kernel debugger support is requested ipc and vm need
                   6829:        the prototype for the debugger function kdbprintf.
                   6830: 
                   6831:        * ddb/db_output.h: Add prototype for kdbprintf.
                   6832:        * ipc/ipc_object.c: Add include file ddb/db_output.h
                   6833:        * ipc/ipc_port.c: Likewise.
                   6834:        * ipc/ipc_pset.c: Likewise.
                   6835:        * vm/vm_map.c: Likewise.
                   6836:        * vm/vm_object.c: Likewise.
                   6837:        * vm/vm_resident.c: Likewise.
                   6838: 
                   6839: 2012-12-27  Samuel Thibault  <[email protected]>
                   6840: 
                   6841:        Fix slow boot in virtualbox
                   6842:        By disabling some of the most slow drivers by default, and giving progress
                   6843:        feedback to the user.
                   6844: 
                   6845:        * linux/configfrag.ac (CONFIG_SCSI_NCR53C7xx, CONFIG_SCSI_AIC7XXX,
                   6846:        CONFIG_SCSI_GDTH): Disable by default
                   6847:        * linux/src/drivers/scsi/eata.c (__initfunc): Don't feed line in probe
                   6848:        message.
                   6849:        * linux/src/drivers/scsi/hosts.c (scsi_init): Print SCSI probe progress.
                   6850: 
                   6851: 2012-12-27  Samuel Thibault  <[email protected]>
                   6852: 
                   6853:        Fix spurious error on accessing fd1
                   6854:        Cherry picked from Linux kernel commit 76c25284e0d845bff4ee1031721556148af4db1c
                   6855: 
                   6856:        * linux/dev/drivers/block/floppy.c (config_types): Clear from
                   6857:        `allowed_drive_mask' floppy drives whose cmos type is 0.
                   6858: 
                   6859: 2012-12-23  Samuel Thibault  <[email protected]>
                   6860: 
                   6861:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   6862: 
                   6863: 2012-12-23  Samuel Thibault  <[email protected]>
                   6864: 
                   6865:        Make thread_suspend wait for !TH_UNINT
                   6866:        0a55db5 made thread_suspend return KERN_FAILURE when the target thread is in
                   6867:        TH_UNINT state. That however is not currently handled by libc, and it's more
                   6868:        useful to just wait for the thread to get interruptible.
                   6869: 
                   6870:        * kern/sched_prim.c (thread_invoke): Wake NEW_THREAD->STATE for thread_suspend.
                   6871:        * kern/thread.c (thread_suspend): Wait on NEW_THREAD->STATE as long as THREAD
                   6872:        has TH_UNINT.
                   6873: 
                   6874: 2012-12-21  David S. Miller  <[email protected]>
                   6875: 
                   6876:        ide: Increase WAIT_DRQ to accomodate some CF cards and SSD drives.
                   6877:        Based upon a patch by Philippe De Muyter, and feedback from Mark
                   6878:        Lord and Robert Hancock.
                   6879: 
                   6880:        As noted by Mark Lord, the outdated ATA1 spec specifies a 20msec
                   6881:        timeout for setting DRQ but lots of common devices overshoot this.
                   6882: 
                   6883:        (cherry picked from Linux kernel commit 602da297e293eb2cbd28dcdbbe247593a46a853a)
                   6884: 
                   6885:        * linux/src/drivers/block/ide.h (WAIT_DRQ): Increase to 1 s.
                   6886: 
                   6887: 2012-12-21  Thomas Schwinge  <[email protected]>
                   6888: 
                   6889:        IDE disk drives with unusual C/H/S.
                   6890:        * linux/src/drivers/block/ide.c: Partially update to Linux 2.0.40 code.
                   6891: 
                   6892: 2012-12-05  Richard Braun  <[email protected]>
                   6893: 
                   6894:        Fix kernel task creation time
                   6895:        The mapable_time_init function is called before machine_init, but the
                   6896:        latter sets the system boot time. Fix their calling order.
                   6897: 
                   6898:        * kern/startup.c (setup_main): Call machine_init before mapable_time_init.
                   6899: 
                   6900: 2012-12-04  Richard Braun  <[email protected]>
                   6901: 
                   6902:        Strongly reduce risks of name capture in rbtree macros
                   6903:        * kern/rbtree.h (rbtree_lookup): Prefix local variable names with three
                   6904:        underscores.
                   6905:        (rbtree_lookup_nearest): Likewise.
                   6906:        (rbtree_insert): Likewise.
                   6907:        (rbtree_lookup_slot): Likewise.
                   6908:        (rbtree_insert_slot): Rewrite as an inline function.
                   6909: 
                   6910: 2012-11-21  Richard Braun  <[email protected]>
                   6911: 
                   6912:        Fix calls to vm_map when size is 0
                   6913:        * vm/vm_map.c (vm_map_enter): return KERN_INVALID_ARGUMENT if size is 0.
                   6914:        * vm/vm_user.c (vm_map): Likewise.
                   6915: 
                   6916: 2012-11-19  Matthew Leach  <[email protected]>
                   6917: 
                   6918:        Fix compilation error with older versions of GCC
                   6919:        Some versions of GCC will error if you define a type twice (even if
                   6920:        the definition is the same). The NCR53C8XX SCSI driver defines
                   6921:        'vm_offset_t', this is also defined in vm_types.h and will therefore
                   6922:        cause a compilation error depending on the GCC version.
                   6923: 
                   6924:        * linux/src/drivers/scsi/ncr53c8xx.c [!MACH] (vm_offset_t, vm_size_t): Don't
                   6925:        define types.
                   6926: 
                   6927: 2012-09-23  Samuel Thibault  <[email protected]>
                   6928: 
                   6929:        Fix gnumach_server_routine prototype
                   6930:        * kern/ipc_kobject.c (ipc_kobject_server): Set gnumach_server_routine
                   6931:        prototype to mig_routine_t.
                   6932: 
                   6933: 2012-09-23  Richard Braun  <[email protected]>
                   6934: 
                   6935:        Add missing file for page statistics
                   6936:        * kern/gnumach.srv: New file.
                   6937: 
                   6938:        Add missing file for page statistics
                   6939:        * include/mach/vm_cache_statistics.h: New file
                   6940: 
                   6941: 2012-09-23  Gianluca Guida  <[email protected]>
                   6942: 
                   6943:        Fix panic on irq >= 16
                   6944:        * linux/src/drivers/net/pci-scan.c (pci_drv_register): Skip device
                   6945:        if we are getting an invalid IRQ >= 16 and different from 255 (it
                   6946:        happens in some motherboard).
                   6947: 
                   6948: 2012-09-23  Sergio Lopez  <[email protected]>
                   6949: 
                   6950:        Update DMA auto-enabling, make forcing DMA an option
                   6951:        * linux/configfrag.ac (--enable-ide-forcedma): Add option.
                   6952:        * linux/src/drivers/block/ide.c (ide_probe_promise_20246): Do not call
                   6953:        ide_init_promise.
                   6954:        (probe_for_hwifs): Add SI, VIA, AL PCI probing.
                   6955:        * linux/src/drivers/block/ide.h (hwif_chipset_t): Add hpt343, udma and
                   6956:        ultra66 chipsets.
                   6957:        * linux/src/drivers/block/triton.c: Update to upstream 1.14 version.
                   6958:        * linux/src/include/linux/hdreg.h (HDIO_GET_IDENTITY): Rename to ...
                   6959:        (HDIO_OBSOLETE_IDENTITY): ... new macro.
                   6960:        (HDIO_GET_IDENTITY): New macro.
                   6961:        (hd_driveid): Add fields for extended identification.
                   6962: 
                   6963: 2012-09-23  Alexey Dejneka  <[email protected]>
                   6964: 
                   6965:        Fix CDROM door unlock on closure without device_close
                   6966:        * linux/dev/glue/block.c
                   6967:        (device_open): Properly return devp on multiple opens.
                   6968:        (device_close_forced): Renamed from device_close, when force parameter is 1, do
                   6969:        not wait for open_count to become 0 before closing.
                   6970:        (device_close): New function.
                   6971:        (device_no_senders): New function.
                   6972:        linux_block_emulation_ops: Use (device_no_senders).
                   6973: 
                   6974: 2012-09-23  Richard Braun  <[email protected]>
                   6975: 
                   6976:        Provide basic page cache statistics
                   6977:        * Makefrag.am (EXTRA_DIST): Add kern/gnumach.srv.
                   6978:        (include_mach_HEADERS): Add include/mach/gnumach.defs and
                   6979:        include/mach/vm_cache_statistics.h
                   6980:        (nodist_libkernel_a_SOURCES): Add kern/gnumach.server.defs.c,
                   6981:        kern/gnumach.server.h, kern/gnumach.server.c, kern/gnumach.server.msgids,
                   6982:        kern/gnumach.server.defs.
                   6983:        * include/mach/mach_types.h: Add #include <mach/vm_cache_statistics.h>.
                   6984:        * kern/ipc_kobject.c (ipc_kobject_server): Declare and call
                   6985:        gnumach_server_routine.
                   6986:        * vm/vm_object.c (vm_object_cached_pages): New variable.
                   6987:        (vm_object_cached_pages_lock_data): Likewise.
                   6988:        (vm_object_deallocate): Update number of cached pages.
                   6989:        (vm_object_lookup): Likewise.
                   6990:        (vm_object_lookup_name): Likewise.
                   6991:        (vm_object_destroy): Likewise.
                   6992:        (vm_object_enter): Likewise.
                   6993:        * vm/vm_object.h (ref_count): Declare as int.
                   6994:        (resident_page_count): Likewise.
                   6995:        (vm_object_cached_count): Add extern declaration.
                   6996:        (vm_object_cached_pages): Likewise.
                   6997:        (vm_object_cached_pages_lock_data): Likewise.
                   6998:        (vm_object_cached_pages_update): New macro.
                   6999:        * vm/vm_resident.c (vm_page_insert): Assert resident page count doesn't
                   7000:        overflow, update number of cached pages as appropriate.
                   7001:        (vm_page_replace): Likewise.
                   7002:        (vm_page_remove): Update number of cached pages as appropriate.
                   7003:        * vm/vm_user.c: Add #include <mach/vm_cache_statistics.h>.
                   7004:        (vm_cache_statistics): New function.
                   7005:        * vm/vm_user.h: Add #include <mach/mach_types.h>.
                   7006:        (vm_cache_statistics): New declaration.
                   7007:        * include/mach/gnumach.defs: New file.
                   7008: 
                   7009: 2012-08-24  Richard Braun  <[email protected]>
                   7010: 
                   7011:        Store threads waiting on a message queue in LIFO order
                   7012:        * ipc/ipc_thread.h (ipc_thread_enqueue_macro): Insert thread at the
                   7013:        head of the list instead of the tail.
                   7014: 
                   7015: 2012-07-14  Samuel Thibault  <[email protected]>
                   7016: 
                   7017:        Fix Xen boot at linear address 0xC0000000
                   7018:        * i386/intel/pmap.c (pmap_bootstrap): Interate over linear addresses and compute
                   7019:        l3 and l2 offsets from it instead of assuming nul l3 offset.
                   7020: 
                   7021: 2012-07-08  Richard Braun  <[email protected]>
                   7022: 
                   7023:        Fix slab collection timing
                   7024:        The slab garbage collector uses sched_tick as its time reference, which
                   7025:        is increased every seconds, while the interval is expressed in clock
                   7026:        ticks. Use the proper time reference instead.
                   7027: 
                   7028:        * kern/slab.c (kmem_gc_last_tick): Declare as unsigned long.
                   7029:        (slab_collect): Use elapsed_ticks instead of sched_tick.
                   7030: 
                   7031: 2012-07-08  Richard Braun  <[email protected]>
                   7032: 
                   7033:        Increase the slab collection interval
                   7034:        * kern/slab.c (KMEM_GC_INTERVAL): Increase to 5 seconds.
                   7035: 
                   7036: 2012-07-07  Richard Braun  <[email protected]>
                   7037: 
                   7038:        Allocate kernel thread stacks out of kmem_map
                   7039:        The kernel submaps eat most of the available kernel space. Using the
                   7040:        main kernel map for thread stacks sometimes lead to exhaustion when many
                   7041:        threads are created. Use kmem_map instead to increase this limit.
                   7042: 
                   7043:        * kern/thread.c (stack_alloc): Use kmem_map instead of kernel_map for
                   7044:        stack allocation.
                   7045:        (stack_collect): Likewise for release.
                   7046: 
                   7047: 2012-07-07  Richard Braun  <[email protected]>
                   7048: 
                   7049:        Merge kalloc_map into kmem_map
                   7050:        * ipc/ipc_table.c: Add #include <kern/slab.h>.
                   7051:        (ipc_table_alloc): Use kmem_map instead of kalloc_map when allocating
                   7052:        a table.
                   7053:        (ipc_table_realloc): Likewise for reallocation.
                   7054:        (ipc_table_free): Likewise for release.
                   7055:        * kern/kalloc.h (kalloc_map): Remove declaration.
                   7056:        * kern/slab.c (KMEM_MAP_SIZE): Increase to 128 MiB.
                   7057:        (KALLOC_MAP_SIZE): Remove macro.
                   7058:        (kalloc_map_store): Remove variable.
                   7059:        (kalloc_map): Likewise.
                   7060:        (kalloc_pagealloc): Use kmem_map instead of kalloc_map for general
                   7061:        purpose allocations.
                   7062:        (kalloc_pagefree): Likewise.
                   7063:        (kalloc_init): Remove the creation of kalloc_map.
                   7064: 
                   7065: 2012-06-10  Samuel Thibault  <[email protected]>
                   7066: 
                   7067:        Permit to select/deselect whole driver groups
                   7068:        * linux/configfrag.ac (AC_OPTION_Linux_group): New function
                   7069:        (AC_OPTION_Linux_ix86_at): Do not enable driver by default if the group was
                   7070:        explicitly disabled.
                   7071:        (scsi, net, pcmcia, wireless): Define groups.
                   7072: 
                   7073: 2012-05-17  Samuel Thibault  <[email protected]>
                   7074: 
                   7075:        Offset bios32 entry
                   7076:        * linux/src/arch/i386/kernel/bios32.c (check_pcibios, pcibios_init): Convert
                   7077:        physical bios32 entry address to kernel virtual address.
                   7078: 
                   7079: 2012-05-17  Samuel Thibault  <[email protected]>
                   7080: 
                   7081:        Clear direction flag after bios32 call
                   7082:        Linux does this, there are probably wild BIOSes out there.
                   7083: 
                   7084:        * linux/src/arch/i386/kernel/bios32.c (bios32_service, check_pcibios,
                   7085:        pci_bios_find_class, pci_bios_find_device, pci_bios_read_config_byte,
                   7086:        pci_bios_read_config_word, pci_bios_read_config_dword,
                   7087:        pci_bios_write_config_byte, pci_bios_write_config_word,
                   7088:        pci_bios_write_config_dword): Clear direction flag after lcall to bios32.
                   7089: 
                   7090: 2012-05-05  Samuel Thibault  <[email protected]>
                   7091: 
                   7092:        Offset kernel addresses by 3GiB
                   7093:        This permits better trace support in kdb.
                   7094: 
                   7095:        * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS): Set to 0xC0000000
                   7096:        * i386/Makefrag.am (_START): Set to 0xC0100000.
                   7097: 
                   7098: 2012-05-05  Samuel Thibault  <[email protected]>
                   7099: 
                   7100:        Document how to offset the kernel to get better debugging
                   7101:        * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS): Document that it can be
                   7102:        changed, but _START has to be offset too.
                   7103:        (INIT_VM_MIN_KERNEL_ADDRESS): Document that it should remain 0.
                   7104: 
                   7105: 2012-04-27  Richard Braun  <[email protected]>
                   7106: 
                   7107:        Augment VM maps with a red-black tree
                   7108:        * vm/vm_map.c: Add #include <kern/rbtree.h>.
                   7109:        (vm_map_setup): Initialize the map red-black tree.
                   7110:        (vm_map_entry_cmp_lookup): New function.
                   7111:        (vm_map_entry_cmp_insert): Likewise.
                   7112:        (_vm_map_entry_link): Insert map entry in the red-black tree.
                   7113:        (_vm_map_entry_unlink): Remove map entry from the red-black tree.
                   7114:        (vm_map_lookup_entry): Rework the way the VM map hint is used, and
                   7115:        replace the linear search with a binary search tree lookup.
                   7116:        (vm_map_copy_insert): Move map entries from the map copy tree to the
                   7117:        destination map tree.
                   7118:        (vm_map_copyin): Initialize the map copy red-black tree.
                   7119:        * vm/vm_map.h: Add #include <kern/rbtree.h>.
                   7120:        (vm_map_entry): Add `tree_node' member.
                   7121:        (vm_map_header): Add `tree' member.
                   7122: 
                   7123: 2012-04-22  Richard Braun  <[email protected]>
                   7124: 
                   7125:        Update comments.
                   7126:        Literature about red-black trees vary concerning the cases numbering,
                   7127:        and the implementation doesn't make all of them clearly appear. Remove
                   7128:        cases numbering references to avoid confusion.
                   7129: 
                   7130: 2012-04-22  Richard Braun  <[email protected]>
                   7131: 
                   7132:        Fix copyright assignment
                   7133:        Maksym and I have assigned copyright to the Free Software Foundation.
                   7134:        In addition, restore the original upstream copyrights for correctness.
                   7135: 
                   7136:        * kern/list.h: Fix copyright assignment.
                   7137:        * kern/rbtree.c: Likewise.
                   7138:        * kern/rbtree.h: Likewise.
                   7139:        * kern/rbtree_i.h: Likewise.
                   7140:        * kern/slab.c: Likewise.
                   7141:        * kern/slab.h: Likewise.
                   7142: 
                   7143: 2012-04-06  Samuel Thibault  <[email protected]>
                   7144: 
                   7145:        Check hyp_stack_switch return
                   7146:        * i386/i386/pcb.c (switch_ktss): Check value returned by hyp_stack_switch.
                   7147: 
                   7148:        Fix integer type
                   7149:        * kern/thread.c (host_stack_usage): Set `total' type to natural_t.
                   7150: 
                   7151: 2012-04-06  Samuel Thibault  <[email protected]>
                   7152: 
                   7153:        Do not take address of va_list variable
                   7154:        This breaks on x86_64, where it is an array and thus gets bogus results.
                   7155: 
                   7156:        * ddb/db_output.c (db_printf, kdbprintf): Pass copy of va_list variable instead
                   7157:        of its address.
                   7158:        * kern/debug.c (panic, log): Likewise.
                   7159:        * kern/printf.c (vprintf, iprintf, sprintf, vsnprintf): Likewise.
                   7160:        (_doprnt): Take va_list instead of va_list *, fix usage and comment accordingly.
                   7161:        * kern/printf.h (_doprnt): Take va_list instead of va_list *.
                   7162: 
                   7163: 2012-03-24  Samuel Thibault  <[email protected]>
                   7164: 
                   7165:        Fix Xen boot after c74adfe
                   7166:        * i386/Makefrag.am (_START_MAP): Define symbol to 0x100000.
                   7167:        * i386/xen/Makefrag.am (_START_MAP): Define symbol to 0xC0000000.
                   7168:        * i386/ldscript: Use _START_MAP instead of hardcoding 0x100000.
                   7169: 
                   7170: 2012-03-24  Samuel Thibault  <[email protected]>
                   7171: 
                   7172:        Relocate kernel at bootup
                   7173:        Grub is not able to map us at high addresses. We can however make it load us at
                   7174:        low addresses (through the linker script mapping), then use segmentation to move
                   7175:        ourselves to high addresses, and switch to C which uses high addresses
                   7176:        (through _START definition).
                   7177: 
                   7178:        * i386/ldscript: Force mapping kernel at 0x100000, regardless of the value
                   7179:        of _START.
                   7180:        * i386/i386at/boothdr.S (boot_entry): Set up initial segments to project the
                   7181:        bootstrap linear space to high addresses.
                   7182: 
                   7183: 2012-03-24  Samuel Thibault  <[email protected]>
                   7184: 
                   7185:        Make sure BIOS area is mapped in kernel threads
                   7186:        * i386/i386at/model_dep.c (i386at_init): Map BIOS memory at 0.
                   7187:        * i386/intel/pmap.c (pmap_create): Do not map BIOS memory in user tasks.
                   7188: 
                   7189: 2012-03-24  Samuel Thibault  <[email protected]>
                   7190: 
                   7191:        Separate INIT_VM_MIN_KERNEL_ADDRESS from VM_MIN_KERNEL_ADDRESS
                   7192:        The former is the initial value set by the bootloader. It may not be the
                   7193:        same as what Mach will set up.
                   7194: 
                   7195:        * i386/i386/vm_param.h (INIT_VM_MIN_KERNEL_ADDRESS): New macro.
                   7196:        * i386/i386at/model_dep.c (i386at_init): Use INIT_VM_MIN_KERNEL_ADDRESS
                   7197:        instead of VM_MIN_KERNEL_ADDRESS.
                   7198: 
                   7199: 2012-03-24  Samuel Thibault  <[email protected]>
                   7200: 
                   7201:        Add missing phystokv/kvtophys calls
                   7202:        * i386/i386/vm_param.h [!MACH_XEN]: Do not include <xen/public/xen.h>.
                   7203:        * i386/i386at/model_dep.c (init_alloc_aligned): Use phystokv to compare physical
                   7204:        memory addresses with kernel start, end, and symbol table.
                   7205:        * i386/intel/pmap.c (pmap_enter): Use kvtophys to convert ptp pointer to pte
                   7206:        entry.
                   7207:        * linux/dev/init/main.c (alloc_contig_mem, linux_init): Use phystokv to convert
                   7208:        allocated pages to virtual pointer.
                   7209:        * linux/src/include/asm-i386/io.h: Include <machine/vm_param.h>.
                   7210:        (virt_to_phys): Call _kvtophys.
                   7211:        (phys_to_virt): Call phystokv.
                   7212:        * linux/src/include/linux/compatmac.h: Include <asm/io.h>.
                   7213:        (ioremap): Use phys_to_virt to convert physical address to virtual pointer.
                   7214:        (my_iounmap): Likewise.
                   7215:        * linux/dev/include/asm-i386/page.h: Include <mach/vm_param.h>.
                   7216:        (PAGE_SHIFT, PAGE_SIZE, PAGE_MASK): Remove macros.
                   7217:        * linux/src/drivers/scsi/ncr53c8xx.c (vm_size_t): Remove type.
                   7218:        * linux/dev/glue/net.c: Include <machine/vm_param.h>
                   7219:        (device_write): Call phystokv to convert from physical page address to
                   7220:        virtual pointer.
                   7221:        * linux/dev/glue/block.c (alloc_buffer, free_buffer, rdwr_full): Likewise.
                   7222: 
                   7223:        Fix issig crash at boot
                   7224:        * linux/dev/glue/misc.c (issig): Return 0 if current_thread() is NULL.
                   7225: 
                   7226:        Fix wrap-around in pmap bootstrap
                   7227:        * i386/intel/pmap.c (pmap_bootstrap): Check against `va' wrap around
                   7228:        0xffffffff.
                   7229: 
                   7230: 2012-03-23  Samuel Thibault  <[email protected]>
                   7231: 
                   7232:        Fix boot with big values of _start
                   7233:        When _start is not close to 0, just using init_alloc_aligned() is not enough
                   7234:        to know how much should be duplicated between linear and virtual mappings.
                   7235:        Just mapping everything that can be is not very costly and should just work
                   7236:        when it can work.
                   7237: 
                   7238:        * i386/i386at/model_dep.c (i386at_init) [VM_MIN_KERNEL_ADDRESS !=
                   7239:        LINEAR_MIN_KERNEL_ADDRESS]: Extend `nb_direct' to VM_MIN_KERNEL_ADDRESS -
                   7240:        LINEAR_MIN_KERNEL_ADDRESS.
                   7241: 
                   7242: 2012-03-22  Ludovic Courtès  <[email protected]>
                   7243: 
                   7244:        Refer to `PFN_LIST' on Xen only.
                   7245:        * i386/i386/i386asm.sym (PFN_LIST): Enclose in #ifdef MACH_XEN.  Thanks
                   7246:          to Samuel Thibault for the suggestion.
                   7247: 
                   7248: 2012-03-20  Samuel Thibault  <[email protected]>
                   7249: 
                   7250:        Use long types
                   7251:        * ddb/db_examine.c (db_xcdump): Do not cast addr before passing to
                   7252:        db_read_bytes.
                   7253:        * ddb/db_macro.c (db_arg_variable): Return long.
                   7254:        * ddb/db_macro.h (db_arg_variable): Likewise.
                   7255:        * ddb/db_sym.c (db_maxoff): Set type to unsigned long.
                   7256:        * ddb/db_task_thread.c (db_set_default_thread, db_get_task_thread): Return
                   7257:        long.
                   7258:        * ddb/db_variables.h (db_variable): Make fcn function field to return long.
                   7259:        (FCN_NULL): Make function type return long.
                   7260:        * i386/i386/db_interface.c (int_regs): Set field sizes to long.
                   7261:        * i386/i386/db_machdep.h (db_expr_t): Set type to long.
                   7262:        * i386/i386/db_trace.c (db_i386_reg_value): Return long. Use long types.
                   7263:        (i386_frame, i386_kregs, interrupt_frame, db_nextframe): Set field sizes to
                   7264:        long.
                   7265:        (db_regs, i386_kregs): Use long * pointers.
                   7266:        (db_lookup_i386_kreg): Return long *.
                   7267:        (db_numargs, db_nextframe, db_stack_trace_cmd, db_i386_stack_trace): Use long
                   7268:        types.
                   7269:        * i386/i386/debug_i386.c (dump_ss): Fix format.
                   7270:        * i386/i386/ktss.c (ktss_init): Use long type.
                   7271:        * i386/i386/pcb.c (set_user_regs): Likewise.
                   7272:        * i386/i386/thread.h (i386_saved_state, v86_segs, i386_kernel_state,
                   7273:        i386_interrupt_state): Set field sizes to long.
                   7274:        * i386/i386/trap.c (kernel_trap, user_trap): Fix formats.
                   7275:        * kern/ast.h (ast_t): Set type to long.
                   7276:        * kern/boot_script.c (create_task, resume_task, prompt_resume_task,
                   7277:        boot_script_set_variable): Use long types.
                   7278:        * kern/boot_script.h (boot_script_set_variable): Use long type.
                   7279:        * kern/bootstrap.c (bootstrap_create): Pass long type.
                   7280:        * kern/lock.c (simple_lock, simple_lock_try): Use long type.
                   7281:        * linux/dev/kernel/softirq.c (linux_soft_intr): Fix format.
                   7282: 
                   7283:        Complain about Xen console smash only once at a time
                   7284:        * xen/console.c (hypputc): Warning only once per console write about console
                   7285:        ring smash.
                   7286: 
                   7287:        Make xchgl arch-neutral
                   7288:        * i386/i386/xen.h (xchgl): Use xchg instruction instead of xchgl, so the
                   7289:        assembler can detect unsigned long size.
                   7290: 
                   7291: 2012-03-20  Guillem Jover  <[email protected]>
                   7292: 
                   7293:        Use compiler defined __i386__ symbol instead of use defined i386
                   7294:        * i386/configfrag.ac (i386): Remove definition.
                   7295:        * i386/intel/pmap.c (pmap_update_interrupt): Rename i386 to __i386__.
                   7296:        * i386/intel/pmap.h: Likewise.
                   7297:        * kern/debug.c (Debugger): Likewise.
                   7298:        * kern/lock.c (simple_lock, simple_lock_try, db_show_all_slocks): Likewise.
                   7299: 
                   7300: 2012-03-20  Guillem Jover  <[email protected]>
                   7301: 
                   7302:        Change types holding cpu flags from int to long
                   7303:        On amd64 the cpu flags is a 64-bit word, and long on 32-bit systems is
                   7304:        32-bit wide anyway.
                   7305: 
                   7306:        * linux/dev/glue/kmem.c (linux_kmalloc, linux_kfree, __get_free_pages,
                   7307:        free_pages): Use unsigned long instead of unsigned.
                   7308:        * linux/dev/include/asm-i386/system.h (__save_flags, __restore_flags):
                   7309:        Likewise.
                   7310:        * linux/dev/kernel/printk.c (printk): Likewise.
                   7311:        * linux/src/drivers/scsi/advansys.c (DvcEnterCritical, DvcLeaveCritical,
                   7312:        advansys_queuecommand, advansys_abort, advansys_reset, advansys_interrupt,
                   7313:        interrupts_enabled, AdvISR): Likewise.
                   7314:        * linux/src/drivers/scsi/aha152x.c (aha152x_intr): Likewise.
                   7315:        * linux/src/drivers/scsi/aha1542.c (aha1542_intr_handle): Likewise.
                   7316:        * linux/src/drivers/scsi/aic7xxx.c (aic7xxx_done_cmds_complete): Likewise.
                   7317:        * linux/src/drivers/scsi/ultrastor.c (log_ultrastor_abort,
                   7318:        ultrastor_queuecommand, ultrastor_abort): Likewise.
                   7319: 
                   7320: 2012-03-20  Guillem Jover  <[email protected]>
                   7321: 
                   7322:        Match type for count with tty_get_status and tty_set_status
                   7323:        * i386/i386at/com.c (comgetstat): Use natural_t instead of `unsigned int'.
                   7324:        (comsetstat): Likewise.
                   7325:        * i386/i386at/kd.c (kdgetstat, kdsetstat): Likewise.
                   7326:        * i386/i386at/lpr.c (lprgetstat, lprsetstat): Likewise.
                   7327: 
                   7328: 2012-03-19  Samuel Thibault  <[email protected]>
                   7329: 
                   7330:        Use unsigned int for ELF 32bit values
                   7331:        * i386/include/mach/i386/exec/elf.h (Elf32_Addr, Elf32_Off, Elf32_Sword,
                   7332:        Elf32_Word): Use int type instead of long.
                   7333: 
                   7334: 2012-03-18  Samuel Thibault  <[email protected]>
                   7335: 
                   7336:        Fix assembly snippet portability
                   7337:        * xen/evt.c (hyp_c_callback): Do not set assembly instruction suffixes,
                   7338:        using 1UL constant instead.
                   7339: 
                   7340:        Use unsigned long types for addresses
                   7341:        * i386/include/mach/i386/vm_param.h (i386_btop, i386_ptob, i386_round_page,
                   7342:        i386_trunc_page): Cast to unsigned long.
                   7343: 
                   7344:        Use unsigned long for registers
                   7345:        * i386/i386/proc_reg.h (get_eflags, get_esp, get_eflags, get_cr0, get_cr2,
                   7346:        get_cr3, get_cr4): Return unsigned long type.
                   7347:        (set_eflags, set_cr0, set_cr3, set_cr4): Take unsigned long type.
                   7348: 
                   7349:        Do not hardcode structure offset
                   7350:        * i386/i386/i386asm.sym (R_EDI): Define macro.
                   7351:        * i386/i386/locore.S (t_page_fault): Use R_CR2-R_EDI instead of hardcoded
                   7352:        12.
                   7353: 
                   7354: 2012-03-18  Samuel Thibault  <[email protected]>
                   7355: 
                   7356:        Set Xen kernel virtual address to 0xC0000000
                   7357:        That makes the virtual addressing equal to linear addressing, thus optimizing
                   7358:        some computations away.
                   7359: 
                   7360:        * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS) [MACH_XEN]: Set to
                   7361:        0xC0000000UL.
                   7362:        * i386/xen/Makefrag.am (gnumach_LINKFLAGS): Set _START to 0xC0000000.
                   7363:        * i386/xen/xen_boothdr.S (VIRT_BASE, ELF_PADDR_OFFSET): Set to 0xC0000000.
                   7364: 
                   7365: 2012-03-18  Samuel Thibault  <[email protected]>
                   7366: 
                   7367:        Fix access above 4GiB in bootstrap page table
                   7368:        * i386/intel/pmap.c (pmap_set_page_readonly_init) [PAE]: Access the bootstrap
                   7369:        dirbase with PTEMASK (1 page) instead of PDEMASK (4 pages) through pmap_pde.
                   7370: 
                   7371: 2012-03-15  Thomas Schwinge  <[email protected]>
                   7372: 
                   7373:        Fix build error introduced in 5f701793f63f16d111db3e3d2e91134fcc179c5b.
                   7374:        * linux/src/include/linux/interrupt.h (intr_count): Declare as unsigned int.
                   7375: 
                   7376: 2012-03-14  Samuel Thibault  <[email protected]>
                   7377: 
                   7378:        Simplify splx
                   7379:        * i386/i386/spl.S (splx): Use S_ARG0 instead of reimplementing it.
                   7380: 
                   7381:        Fix variable types according to assembly use
                   7382:        * linux/dev/arch/i386/kernel/irq.c (intr_count): Set to int type.
                   7383:        * linux/dev/kernel/softirq.c (bh_active, bh_mask): Likewise.
                   7384:        (linux_soft_intr: active, mask, left): Likewise
                   7385:        * linux/src/include/linux/interrupt.h (bh_active, bh_mask): Likewise.
                   7386:        * linux/src/kernel/softirq.c (intr_count, bh_active, bh_mask): Likewise.
                   7387:        (do_bottom_half: active, mask, left): Likewise
                   7388: 
                   7389:        Stick to binutils ELF scripts
                   7390:        * i386/ldscript: Reformat to follow binutils version
                   7391: 
                   7392:        Fix PAE page frame number mask.
                   7393:        * i386/intel/pmap.h (INTEL_PTE_PFN): Keep only 47bits, others are not usable.
                   7394: 
                   7395:        Fix Xen bootstrap at virtual address above 1GiB
                   7396:        * i386/intel/pmap.h (lin2pdpnum): New macro.
                   7397:        * i386/intel/pmap.c (pmap_set_page_readonly_init): Use lin2pdpnum macro
                   7398:        instead of hardcoding 0.
                   7399: 
                   7400:        Simplify i386at_init
                   7401:        * i386/i386at/model_dep.c (i386at_init): Do not copy linear into virtual kernel
                   7402:        mapping when they are equal, and do not drop the former either. Use the
                   7403:        function `i' variable.
                   7404: 
                   7405:        Simplify kvtophys
                   7406:        * i386/i386/phys.c (kvtophys): Use pte_to_pa macro instead of reimplementing
                   7407:        it.
                   7408: 
                   7409: 2012-03-09  Samuel Thibault  <[email protected]>
                   7410: 
                   7411:        Use unsigned long for addresses and sizes
                   7412:        TODO: remonter formats
                   7413: 
                   7414:        * i386/include/mach/i386/vm_types.h (vm_offset_t): Define to unsigned long.
                   7415:        (signed32_t): Define to signed int.
                   7416:        (unsigned32_t): Define to unsigned int.
                   7417:        * i386/include/mach/sa/stdarg.h (__va_size): Use sizeof(unsigned long)-1
                   7418:        instead of 3.
                   7419:        * include/mach/port.h (mach_port_t): Define to vm_offset_t instead of
                   7420:        natural_t.
                   7421:        * include/sys/types.h (size_t): Define to unsigned long instead of
                   7422:        natural_t.
                   7423:        * linux/src/include/asm-i386/posix_types.h (__kernel_size_t): Define to
                   7424:        unsigned long.
                   7425:        (__kernel_ssize_t): Define to long.
                   7426:        * linux/src/include/linux/stddef.h (size_t): Define to unsigned long.
                   7427: 
                   7428:        * device/dev_pager.c (dev_pager_hash): Cast port to vm_offset_t insted of
                   7429:        natural_t.
                   7430:        (device_pager_data_request): Fix format.
                   7431: 
                   7432:        * device/ds_routines.c (ds_no_senders): Fix format.
                   7433:        * i386/i386/io_map.c (io_map): Likewise.
                   7434:        * i386/i386at/autoconf.c (take_dev_irq): Likewise.
                   7435:        * i386/i386at/com.c (comattach): Likewise.
                   7436:        * i386/i386at/lpr.c (lprattach): Likewise.
                   7437:        * i386/i386at/model_dep.c (mem_size_init, mem_size_init, c_boot_entry):
                   7438:        Likewise.
                   7439:        * i386/intel/pmap.c (pmap_enter): Likewise.
                   7440:        * ipc/ipc_notify.c (ipc_notify_port_deleted, ipc_notify_msg_accepted,
                   7441:        ipc_notify_dead_name): Likewise.
                   7442:        * ipc/mach_port.c (mach_port_destroy, mach_port_deallocate): Likewise.
                   7443:        * kern/ipc_kobject.c (ipc_kobject_destroy): Likewise.
                   7444:        * kern/slab.c (kalloc_init): Likewise.
                   7445:        * vm/vm_fault.c (vm_fault_page): Likewise.
                   7446:        * vm/vm_map.c (vm_map_pmap_enter): Likewise.
                   7447:        * xen/block.c (device_read): Likewise.
                   7448: 
                   7449:        * device/net_io.c (bpf_match): Take unsigned long * instead of unsigned int
                   7450:        *.
                   7451:        (bpf_do_filter): Make mem unsigned long instead of long.
                   7452:        * i386/i386/ktss.c (ktss_init): Cast pointer to unsigned long instead of
                   7453:        unsigned.
                   7454:        * i386/i386/pcb.c (stack_attach, switch_ktss): Cast pointers to long instead of
                   7455:        int.
                   7456:        * i386/i386/trap.c (dump_ss): Likewise.
                   7457:        * ipc/ipc_hash.c (IH_LOCAL_HASH): Cast object to vm_offset_t.
                   7458:        * ipc/mach_msg.c (mach_msg_receive, mach_msg_receive_continue): Cast kmsg to
                   7459:        vm_offset_t instead of natural_t.
                   7460:        * kern/pc_sample.c (take_pc_sample): Cast to vm_offset_t instead of
                   7461:        natural_t.
                   7462:        * kern/boot_script.c (sym, arg): Set type of `val' field to long instead of int.
                   7463:        (create_task, builtin_symbols, boot_script_parse_line,
                   7464:        boot_script_define_function): Cast to long instead of int.
                   7465:        * kern/bootstrap.c (bootstrap_create): Likewise.
                   7466:        * kern/sched_prim.c (decl_simple_lock_data): Likewise.
                   7467:        * kern/printf.c (vsnprintf): Set size type to size_t.
                   7468:        * kern/printf.h (vsnprintf): Likewise.
                   7469:        * vm/vm_map.h (kentry_data_size): Fix type to vm_size_t.
                   7470:        * vm/vm_object.c (vm_object_pmap_protect_by_page): Fix size parameter type
                   7471:        to vm_size_t.
                   7472: 
                   7473: 2012-03-08  Samuel Thibault  <[email protected]>
                   7474: 
                   7475:        Move kentry_data_size initial value to header
                   7476:        * vm/vm_map.h (KENTRY_DATA_SIZE): Define macro.
                   7477:        * vm/vm_map.c (kentry_data_size): Initialize to KENTRY_DATA_SIZE.
                   7478: 
                   7479: 2012-03-03  Gabriele Giacone  <[email protected]>
                   7480: 
                   7481:        Set default serial parameters to 8N1 instead of 7E1
                   7482:        * i386/i386at/com.c (comcninit): Set LINE_CTL register to i8BITS instead of
                   7483:        i7BITS|iPEN.
                   7484: 
                   7485: 2012-02-19  Samuel Thibault  <[email protected]>
                   7486: 
                   7487:        Fix format for string print
                   7488:        * linux/src/drivers/net/3c505.c (elp_sense): Use %s format for printing a mere
                   7489:        string, not the string.
                   7490: 
                   7491:        Fix format for string print
                   7492:        * linux/src/drivers/net/8390.c: Use %s format for printing a mere string, not
                   7493:        the string.
                   7494: 
                   7495:        Fix format for string print
                   7496:        * linux/src/drivers/net/3c503.c (el2_probe1): Use %s format for printing a mere
                   7497:        string, not the string.
                   7498: 
                   7499:        Fix format for string print
                   7500:        * linux/src/drivers/scsi/aha1542.c (aha1542_setup): Use %s format for printing a
                   7501:        mere string, not the string.
                   7502: 
                   7503:        Fix format for string print
                   7504:        * linux/src/drivers/scsi/advansys.c (asc_prt_line): Use %s format for
                   7505:        printing a mere string, not the string.
                   7506: 
                   7507:        Fix format for string print
                   7508:        * i386/i386at/model_dep.c (c_boot_entry): Use %s format for printing a mere
                   7509:        string, not the string.
                   7510: 
                   7511: 2012-01-28  Samuel Thibault  <[email protected]>
                   7512: 
                   7513:        Merge branch 'master' into master-slab
                   7514: 
                   7515: 2012-01-22  Samuel Thibault  <[email protected]>
                   7516: 
                   7517:        Fix build on 64bit host
                   7518:        When stealing the memset function from the 32bit host libc on a 64bit host
                   7519:        system, glibc tends to bring unwanted references to _Unwind_Resume,
                   7520:        __gcc_personality_v0, etc. So let's stop stealing memset.
                   7521: 
                   7522:        * kern/strings.c (memset): New function.
                   7523:        * Makefile.am (clib_routines): Remove memset.
                   7524: 
                   7525: 2012-01-09  Richard Braun  <[email protected]>
                   7526: 
                   7527:        Improve ipc hash/marequest init readability
                   7528:        Use macros instead of raw numeric values.
                   7529: 
                   7530:        * ipc/ipc_hash.h (IPC_HASH_GLOBAL_SIZE): New macro.
                   7531:        * ipc/ipc_hash.c (ipc_hash_init): Directly set the global hash table
                   7532:        size to IPC_HASH_GLOBAL_SIZE.
                   7533:        * ipc/ipc_marequest.h (IPC_MAREQUEST_SIZE): New macro.
                   7534:        * ipc/ipc_marequest.c (ipc_marequest_init): Directly set the marequest
                   7535:        hash table size to IPC_MAREQUEST_SIZE.
                   7536: 
                   7537: 2011-12-30  Samuel Thibault  <[email protected]>
                   7538: 
                   7539:        Cope with dom0s which do not respect feature-no-csum-offload
                   7540:        Event with feature-no-csum-offload=1, some dom0s (such as Debian Squeeze's
                   7541:        2.6.32) send packets with a blank checksum. Recompute them before givin the
                   7542:        packet to pfinet.
                   7543: 
                   7544:        * xen/net.c (recompute_checksum): New function.
                   7545:        (hyp_net_intr): Call recompute_checksum when the checksum is blank but the
                   7546:        data is validated.
                   7547: 
                   7548: 2011-12-29  Samuel Thibault  <[email protected]>
                   7549: 
                   7550:        Fix typo
                   7551: 
                   7552:        Upgrade number of event queues
                   7553:        * kern/sched_prim.c (NUMQUEUES): Increase to 1031
                   7554: 
                   7555: 2011-12-17  Richard Braun  <[email protected]>
                   7556: 
                   7557:        Remove arbitrary limits used by the zone system
                   7558:        The zone allocator could limit the size of its zones to an arbitrary
                   7559:        value set at zinit() time. There is no such parameter with the slab
                   7560:        module. As a result of removing those limits, the kern/mach_param.h
                   7561:        header becomes empty, and is simply removed altogether.
                   7562: 
                   7563:        * Makefrag.am (libkernel_a_SOURCES): Remove kern/mach_param.h.
                   7564:        * i386/i386/fpu.c: Remove #include <kern/mach_param.h>.
                   7565:        * i386/i386/machine_task.c: Likewise.
                   7566:        * i386/i386/pcb.c: Likewise.
                   7567:        * ipc/ipc_init.c: Likewise.
                   7568:        (ipc_space_max): Remove variable.
                   7569:        (ipc_tree_entry_max): Likewise.
                   7570:        (ipc_port_max): Likewise.
                   7571:        (ipc_pset_max): Likewise.
                   7572:        * ipc/ipc_init.h (IPC_ZONE_TYPE): Remove macro.
                   7573:        (ipc_space_max): Remove extern declaration.
                   7574:        (ipc_tree_entry_max): Likewise.
                   7575:        (ipc_port_max): Likewise.
                   7576:        (ipc_pset_max): Likewise.
                   7577:        * ipc/ipc_hash.c (ipc_hash_init): Don't use ipc_tree_entry_max to
                   7578:        compute ipc_hash_global_size.
                   7579:        * ipc/ipc_marequest.c: Remove #include <kern/mach_param.h>.
                   7580:        (ipc_marequest_max): Remove variable.
                   7581:        (ipc_marequest_init): Don't use ipc_marequest_max to compute
                   7582:        ipc_marequest_size.
                   7583:        (ipc_marequest_info): Return (unsigned int)-1 in maxp.
                   7584:        * kern/act.c: Remove #include <kern/mach_param.h>.
                   7585:        * kern/mach_clock.c: Likewise.
                   7586:        * kern/priority.c: Likewise.
                   7587:        * kern/task.c: Likewise.
                   7588:        * kern/thread.c: Likewise.
                   7589:        * vm/memory_object_proxy.c: Likewise.
                   7590:        * vm/vm_fault.c: Likewise.
                   7591: 
                   7592: 2011-12-17  Richard Braun  <[email protected]>
                   7593: 
                   7594:        Remove the defunct kernel_task_create() function
                   7595:        The kmem_suballoc() function, which has been replaced with
                   7596:        kmem_submap(), is called by kernel_task_create(). Rather than update it,
                   7597:        remove this now unused function.
                   7598: 
                   7599:        * kern/task.c (kernel_task_create): Remove function.
                   7600:        * kern/task.h (kernel_task_create): Remove prototype.
                   7601: 
                   7602: 2011-12-17  Richard Braun  <[email protected]>
                   7603: 
                   7604:        Fix kern/kalloc.h includes
                   7605:        * device/dev_pager.c: Remove #include <kern/kalloc.h>.
                   7606:        * i386/i386/io_perm.c: Add #include <kern/kalloc.h>.
                   7607:        * kern/bootstrap.c: Likewise.
                   7608:        * kern/ipc_tt.c: Likewise.
                   7609:        * kern/pc_sample.c: Likewise.
                   7610:        * kern/processor.c: Likewise.
                   7611:        * kern/server_loop.ch: Likewise.
                   7612:        * kern/thread.c: Likewise.
                   7613:        * linux/dev/glue/block.c: Likewise.
                   7614:        * linux/dev/glue/net.c: Likewise.
                   7615:        * vm/vm_map.c: Likewise.
                   7616:        * xen/block.c: Likewise.
                   7617:        * xen/net.c: Likewise.
                   7618:        * xen/store.c: Likewise.
                   7619: 
                   7620: 2011-12-17  Richard Braun  <[email protected]>
                   7621: 
                   7622:        Adjust VM initialization
                   7623:        Unlike the zone allocator, the slab code can't be fed with an initial
                   7624:        chunk of memory. Some VM objects used early during startup now have to
                   7625:        be statically allocated, and kernel map entries need a special path
                   7626:        to avoid recursion when being allocated.
                   7627: 
                   7628:        * vm/vm_map.c (vm_submap_object_store): New variable.
                   7629:        (vm_submap_object): Point to vm_submap_object_store.
                   7630:        (kentry_data_size): Initialize to arbitrary value.
                   7631:        (kentry_count): Remove variable.
                   7632:        (kentry_pagealloc): New function.
                   7633:        (vm_map_setup): Likewise.
                   7634:        (vm_map_create): Replace initialization with a call to vm_map_setup().
                   7635:        * vm/vm_map.h (vm_map_setup): New prototype.
                   7636:        * vm/vm_kern.c (kernel_map_store): New variable.
                   7637:        (kernel_map): Point to kernel_map_store.
                   7638:        (kmem_suballoc): Remove function. Replaced with...
                   7639:        (kmem_submap): New function.
                   7640:        (kmem_init): Call vm_map_setup() instead of vm_map_create().
                   7641:        * vm/vm_kern.h (kmem_suballoc): Remove prototype.
                   7642:        (kmem_submap): New prototype.
                   7643:        * vm/vm_object.c (kernel_object_store): New variable.
                   7644:        (kernel_object): Point to kernel_object_store.
                   7645:        (vm_object_template): Change type from vm_object_t to struct vm_object.
                   7646:        (_vm_object_setup): New function.
                   7647:        (_vm_object_allocate): Replace initialization with a call to
                   7648:        _vm_object_setup().
                   7649:        (vm_object_bootstrap): Don't allocate vm_object_template, and use it as
                   7650:        a structure instead of a pointer. Initialize kernel_object and
                   7651:        vm_submap_object with _vm_object_setup() instead of
                   7652:        _vm_object_allocate().
                   7653:        * vm/vm_resident.c (vm_page_bootstrap): Don't initialize
                   7654:        kentry_data_size.
                   7655:        * device/ds_routines.c (device_io_map_store): New variable.
                   7656:        (device_io_map): Point to device_io_map_store.
                   7657:        (mach_device_init): Call kmem_submap() instead of kmem_suballoc().
                   7658:        * ipc/ipc_init.c (ipc_kernel_map_store): New variable.
                   7659:        (ipc_kernel_map): Point to ipc_kernel_map_store.
                   7660: 
                   7661: 2011-12-17  Richard Braun  <[email protected]>
                   7662: 
                   7663:        Adjust the kernel to use the slab allocator
                   7664:        * device/dev_lookup.c: Replace zalloc header, types and function calls
                   7665:        with their slab counterparts.
                   7666:        * device/dev_pager.c: Likewise.
                   7667:        * device/ds_routines.c: Likewise.
                   7668:        * device/io_req.h: Likewise.
                   7669:        * device/net_io.c: Likewise.
                   7670:        * i386/i386/fpu.c: Likewise.
                   7671:        * i386/i386/io_perm.c: Likewise.
                   7672:        * i386/i386/machine_task.c: Likewise.
                   7673:        * i386/i386/pcb.c: Likewise.
                   7674:        * i386/i386/task.h: Likewise.
                   7675:        * i386/intel/pmap.c: Likewise.
                   7676:        * i386/intel/pmap.h: Remove #include <kernel/zalloc.h>.
                   7677:        * include/mach_debug/mach_debug.defs (host_zone_info): Replace
                   7678:        routine declaration with skip directive.
                   7679:        (host_slab_info): New routine declaration.
                   7680:        * include/mach_debug/mach_debug_types.defs (zone_name_t)
                   7681:        (zone_name_array_t, zone_info_t, zone_info_array_t): Remove types.
                   7682:        (cache_info_t, cache_info_array_t): New types.
                   7683:        * include/mach_debug/mach_debug_types.h: Replace #include
                   7684:        <mach_debug/zone_info.h> with <mach_debug/slab_info.h>.
                   7685:        * ipc/ipc_entry.c: Replace zalloc header, types and function calls with
                   7686:        their slab counterparts.
                   7687:        * ipc/ipc_entry.h: Likewise.
                   7688:        * ipc/ipc_init.c: Likewise.
                   7689:        * ipc/ipc_marequest.c: Likewise.
                   7690:        * ipc/ipc_object.c: Likewise.
                   7691:        * ipc/ipc_object.h: Likewise.
                   7692:        * ipc/ipc_space.c: Likewise.
                   7693:        * ipc/ipc_space.h: Likewise.
                   7694:        * ipc/ipc_table.c (kalloc_map): Remove extern declaration.
                   7695:        * kern/act.c: Replace zalloc header, types and function calls with their
                   7696:        slab counterparts.
                   7697:        * kern/kalloc.h: Add #include <vm/vm_types.h>.
                   7698:        (MINSIZE): Remove definition.
                   7699:        (kalloc_map): Add extern declaration.
                   7700:        (kget): Remove prototype.
                   7701:        * kern/mach_clock.c: Adjust comment.
                   7702:        * kern/processor.c: Replace zalloc header, types and function calls with
                   7703:        their slab counterparts.
                   7704:        * kern/startup.c: Remove #include <kernel/zalloc.h>.
                   7705:        * kern/task.c: Replace zalloc header, types and function calls with
                   7706:        their slab counterparts.
                   7707:        * kern/thread.c: Likewise.
                   7708:        * vm/memory_object_proxy.c: Likewise.
                   7709:        * vm/vm_external.c: Likewise.
                   7710:        * vm/vm_fault.c: Likewise.
                   7711:        * vm/vm_init.c: Likewise.
                   7712:        * vm/vm_map.c: Likewise.
                   7713:        * vm/vm_object.c: Likewise.
                   7714:        * vm/vm_page.h: Remove #include <kernel/zalloc.h>.
                   7715:        * vm/vm_pageout.c: Replace zalloc header, types and function calls with
                   7716:        their slab counterparts.
                   7717:        * vm/vm_resident.c: Likewise.
                   7718:        (zdata, zdata_size): Remove declarations.
                   7719:        (vm_page_bootstrap): Don't steal memory for the zone system.
                   7720: 
                   7721: 2011-12-17  Richard Braun  <[email protected]>
                   7722: 
                   7723:        Import the slab allocator
                   7724:        As it is intended to completely replace the zone allocator, remove it on
                   7725:        the way. So long to the venerable code !
                   7726: 
                   7727:        * Makefrag.am (libkernel_a_SOURCES): Add kern/slab.{c,h}, remove kern/kalloc.c
                   7728:        and kern/zalloc.{c,h}.
                   7729:        * configfrag.ac (SLAB_VERIFY, SLAB_USE_CPU_POOLS): Add defines.
                   7730:        * i386/Makefrag.am (libkernel_a_SOURCES): Remove i386/i386/zalloc.h.
                   7731:        * i386/configfrag.ac (CPU_L1_SHIFT): Remove define.
                   7732:        * include/mach_debug/slab_info.h: New file.
                   7733:        * kern/slab.c: Likewise.
                   7734:        * kern/slab.h: Likewise.
                   7735:        * i386/i386/zalloc.h: Remove file.
                   7736:        * include/mach_debug/zone_info.h: Likewise.
                   7737:        * kern/kalloc.c: Likewise.
                   7738:        * kern/zalloc.c: Likewise.
                   7739:        * kern/zalloc.h: Likewise.
                   7740: 
                   7741: 2011-12-17  Richard Braun  <[email protected]>
                   7742: 
                   7743:        Import utility files
                   7744:        * Makefrag.am (libkernel_a_SOURCES): Add kern/list.h, kern/rbtree.c,
                   7745:        kern/rbtree.h and kern/rbtree_i.h.
                   7746:        * kern/list.h: New file.
                   7747:        * kern/rbtree.c: Likewise.
                   7748:        * kern/rbtree.h: Likewise.
                   7749:        * kern/rbtree_i.h: Likewise.
                   7750:        * kern/macro_help.h (MACRO_BEGIN): Use GNU C compound statement
                   7751:        enclosed in parentheses.
                   7752:        (MACRO_END): Likewise.
                   7753: 
                   7754: 2011-11-27  Samuel Thibault  <[email protected]>
                   7755: 
                   7756:        Keep frame pointer when debugger is enabled
                   7757:        * Makefrag.am (AM_CFLAGS) [enable_kdb]: Add -fno-omit-frame-pointer.
                   7758: 
                   7759: 2011-10-16  Samuel Thibault  <[email protected]>
                   7760: 
                   7761:        Merge branch 'master' of callisto:gnumach
                   7762: 
                   7763: 2011-10-16  Samuel Thibault  <[email protected]>
                   7764: 
                   7765:        Do not map xen driver pages
                   7766:        * xen/block.c (hyp_block_init): Use vm_page_grab_phys_addr instead of
                   7767:        kmem_alloc_wired to allocate driver pages.
                   7768:        * xen/net.c (hyp_net_init): Likewise.
                   7769: 
                   7770: 2011-10-16  Samuel Thibault  <[email protected]>
                   7771: 
                   7772:        Increase kmem area for the Xen case.
                   7773:        Kernel tacks are 4 pages in the Xen case, so we need more kmem space.
                   7774: 
                   7775:        * i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE) [MACH_XEN]: Increase to 224MiB.
                   7776: 
                   7777: 2011-10-10  Samuel Thibault  <[email protected]>
                   7778: 
                   7779:        Raise block device interrupt level to SPL6
                   7780:        * linux/dev/drivers/block/genhd.c (device_setup): Set linux_intr_pri to
                   7781:        SPL6.
                   7782:        * linux/dev/glue/block.c (init_partition, device_open): Likewise.
                   7783: 
                   7784:        Raise Linux kmem memory size
                   7785:        * linux/dev/glue/kmem.c (MEM_CHUNKS): Increase to 32.
                   7786: 
                   7787: 2011-10-10  Samuel Thibault  <[email protected]>
                   7788: 
                   7789:        Leave interrupts enabled in sym53c8xx driver
                   7790:        The driver can work with them, and request_irq works fine with them.
                   7791: 
                   7792:        * linux/src/drivers/scsi/sym53c8xx.c (ncr_attach): Do not pass SA_INTERRUPT to
                   7793:        request_irq().
                   7794: 
                   7795: 2011-10-09  Samuel Thibault  <[email protected]>
                   7796: 
                   7797:        Define BITS_PER_LONG for Linux code
                   7798:        * linux/src/include/asm-i386/types.h (BITS_PER_LONG): Define to 32.
                   7799: 
                   7800: 2011-10-08  Samuel Thibault  <[email protected]>
                   7801: 
                   7802:        Add sym53c8xx driver from linux 2.2
                   7803:        This driver supports qemu's SCSI host device.
                   7804:        Unfortunately it seems to be breaking the network device, so test with care.
                   7805: 
                   7806:        * linux/Makefrag.am (liblinux_a_SOURCES): Add
                   7807:        linux/src/drivers/scsi/sym53c8xx{.c,_comm.h,.h,_defs.h}
                   7808:        * linux/configfrag.ac: Add AC_Linux_DRIVER([sym53c8xx] to enable
                   7809:        CONFIG_SCSI_SYM53C8XX.
                   7810:        * linux/dev/glue/kmem.c (MEM_CHUNKS): Increase to 16.
                   7811:        * linux/src/drivers/scsi/hosts.c [CONFIG_SCSI_SYM53C8XX]: Include "sym53c8xx.h".
                   7812:        (builtin_scsi_hosts): include SYM53C8XX.
                   7813: 
                   7814: 2011-09-28  Sergio Lopez  <[email protected]>
                   7815: 
                   7816:        fix copy out-of-line data when length >= 512MB
                   7817:        * ipc/ipc_kmsg.c (ipc_kmsg_copyin_body): Change length type to
                   7818:        unsigned64_t. Cast number to unsigned64_t.
                   7819:        (ipc_kmsg_copyout_body): Likewise.
                   7820: 
                   7821: 2011-09-28  Sergio López  <[email protected]>
                   7822: 
                   7823:        Make thread_suspend honor the TH_UNINT flag
                   7824:        Interrupting a thread without a continuation, puts it in a
                   7825:        inconsistent state. This is the cause for the bug described in
                   7826:        https://lists.gnu.org/archive/html/bug-hurd/2011-09/msg00148.html
                   7827: 
                   7828:        * kern/thread.c (thread_suspend): Fail with KERN_FAILURE if thread is
                   7829:        uninterruptible.
                   7830: 
                   7831: 2011-09-12  Guillem Jover  <[email protected]>
                   7832: 
                   7833:        Remove unused [!MACH_KERNEL] driver code
                   7834:        Use «unifdef -DMACK_KERNEL=1» as a starting point, but only remove
                   7835:        the code not exposed on public headers, the rest is needed to build
                   7836:        properly from userland.
                   7837: 
                   7838:        * device/cons.c [!MACH_KERNEL]: Remove includes.
                   7839:        [!MACH_KERNEL] (constty): Remove variable.
                   7840:        (cninit, cnmaygetc) [MACH_KERNEL]: Remove preprocessor conditionals.
                   7841:        [!MACH_KERNEL] (cnopen, cnclose, cnread, cnwrite, cnioctl, cnselect)
                   7842:        (cncontrol): Remove functions.
                   7843:        * device/cons.h (struct consdev) [MACH_KERNEL]: Remove preprocessor
                   7844:        conditional.
                   7845:        * device/kmsg.h [MACH_KERNEL]: Likewise.
                   7846:        * i386/i386at/autoconf.c [!MACH_KERNEL]: Remove includes.
                   7847:        * i386/i386at/kd_event.c [!MACH_KERNEL]: Likewise.
                   7848:        [!MACH_KERNEL] (kbd_sel, kbdpgrp, kbdflag): Remove variables.
                   7849:        [!MACH_KERNEL] (KBD_COLL, KBD_ASYNC, KBD_NBIO): Remove macros.
                   7850:        (kbdopen, kbdclose, kbd_enqueue) [!MACH_KERNEL]: Remove code.
                   7851:        [!MACH_KERNEL] (kbdioctl, kbdselect, kbdread): Remove functions.
                   7852:        [!MACH_KERNEL] (X_kdb_enter_init, X_kdb_exit_init: Likewise.
                   7853:        * i386/i386at/kd_mouse.c [!MACH_KERNEL]: Remove includes.
                   7854:        [!MACH_KERNEL] (mouse_sel, mousepgrp, mouseflag): Remove variables.
                   7855:        [!MACH_KERNEL] (MOUSE_COLL, MOUSE_ASYNC, MOUSE_NBIO): Remove macros.
                   7856:        (mouseopen, mouseclose, kd_mouse_read, mouse_enqueue) [!MACH_KERNEL]: Remove
                   7857:        code.
                   7858:        [!MACH_KERNEL] (mouseioctl, mouseselect, mouseread): Remove functions.
                   7859:        * i386/i386at/lpr.c [!MACH_KERNEL]: Remove includes.
                   7860:        (lpropen) [MACH_KERNEL]: Remove preprocessor conditionals.
                   7861:        (lpropen, lprclose, lprstart) [!MACH_KERNEL]: Remove code.
                   7862:        [!MACH_KERNEL] (lprwrite, lprioctl, lprstop): Remove functions.
                   7863:        * i386/i386at/rtc.c (readtodc, writetodc) [!MACH_KERNEL]: Remove code.
                   7864:        * kern/mach_factor.c [MACH_KERNEL]: Remove preprocessor conditional.
                   7865:        * xen/time.c (readtodc) [!MACH_KERNEL]: Remove code.
                   7866: 
                   7867: 2011-09-09  Samuel Thibault  <[email protected]>
                   7868: 
                   7869:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   7870: 
                   7871: 2011-09-09  Guillem Jover  <[email protected]>
                   7872: 
                   7873:        Do not take unused strpbrk() from libc
                   7874:        * Makefile.am (clib_routines): Remove strpbrk.
                   7875: 
                   7876: 2011-09-06  Thomas Schwinge  <[email protected]>
                   7877: 
                   7878:        * .gitignore: Tighten some rules, and distribute others to... * doc/.gitignore: ... here; * i386/i386/.gitignore: ... here; * tests/.gitignore: ..., and here.
                   7879: 
                   7880:        * i386/i386/pcb.h (stack_attach): Parameterize the continuation parameter's parameter list. * i386/i386/pcb.c (stack_attach): Likewise.
                   7881: 
                   7882:        Move i386/i386/locore.S declarations.
                   7883:        * i386/i386/trap.c (recover_table, recover_table_end, retry_table)
                   7884:        (retry_table_end): Move declarations to...
                   7885:        * i386/i386/locore.h: ... here.
                   7886: 
                   7887: 2011-09-06  Thomas Schwinge  <[email protected]>
                   7888: 
                   7889:        Further prototyping work for memory_object_proxy.c functions.
                   7890:        * vm/memory_object_proxy.h: Add #includes.
                   7891:        (memory_object_proxy_lookup): New declaration.
                   7892:        * vm/memory_object_proxy.c: #include <vm/memory_object_proxy.h>.
                   7893:        * vm/vm_user.c: Likewise.
                   7894:        (memory_object_proxy_lookup): Drop declaration.
                   7895: 
                   7896:        Parts based on a patch by Fridolín Pokorný <[email protected]>.
                   7897: 
                   7898: 2011-09-05  Samuel Thibault  <[email protected]>
                   7899: 
                   7900:        Drop module memory free verbosity
                   7901:        * kern/bootstrap.c (bootstrap_create): Do not show freed module memory.
                   7902: 
                   7903:        Free memory used by boot modules
                   7904:        * vm/vm_resident.c (pmap_startup): Warn when some pages could not be included
                   7905:        in the allocator due to bad estimation.
                   7906:        * kern/bootstrap.c: Include <vm/pmap.h>.
                   7907:        (bootstrap_create): Call vm_page_create on bootstrap modules content.
                   7908: 
                   7909: 2011-09-03  Fridolín Pokorný  <[email protected]>
                   7910: 
                   7911:        Add prototypes for memory_object_proxy.c functions
                   7912:        * vm/memory_object_proxy.h: Add file.
                   7913:        * vm/vm_init.c: Include <vm/memory_object_proxy.h>.
                   7914:        * kern/ipc_kobject.c: Likewise.
                   7915:        * Makefile.am (libkernel_a_SOURCES): Add vm/memory_object_proxy.h.
                   7916: 
                   7917: 2011-09-03  Samuel Thibault  <[email protected]>
                   7918: 
                   7919:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   7920: 
                   7921: 2011-09-02  Guillem Jover  <[email protected]>
                   7922: 
                   7923:        Remove long obsolete RPC routines
                   7924:        * kern/compat_xxx_defs.h: Remove file.
                   7925:        * Makefrag.am (libkernel_a_SOURCES): Remove `kern/compat_xxx_defs.h'.
                   7926: 
                   7927:        * include/mach/mach_types.defs (xxx_emulation_vector_t): Remove type.
                   7928: 
                   7929:        * device/device.srv: Do not simport <kern/compat_xxx_defs.h>.
                   7930:        * kern/mach.srv: Likewise.
                   7931:        * kern/mach_host.srv: Likewise.
                   7932: 
                   7933:        * include/device/device.defs [MACH_KERNEL]: Do not simport
                   7934:        <kern/compat_xxx_defs.h>.
                   7935:        (xxx_device_set_status, xxx_device_get_status)
                   7936:        (xxx_device_set_filter): Replace routine declarations with skip
                   7937:        directives.
                   7938:        * include/mach/mach.defs [MACH_KERNEL]: Do not simport
                   7939:        <kern/compat_xxx_defs.h>.
                   7940:        (xxx_memory_object_lock_request, xxx_task_get_emulation_vector)
                   7941:        (xxx_task_set_emulation_vector, xxx_host_info, xxx_slot_info)
                   7942:        (xxx_cpu_control, xxx_task_info, xxx_thread_get_state)
                   7943:        (xxx_thread_set_state, xxx_thread_info): Replace routine declarations
                   7944:        with skip directive.
                   7945:        * include/mach/mach_host.defs [MACH_KERNEL]: Do not simport
                   7946:        <kern/compat_xxx_defs.h>.
                   7947:        (yyy_host_info, yyy_processor_info, yyy_processor_control)
                   7948:        (xxx_processor_set_default_priv, yyy_processor_set_info): Replace
                   7949:        routine declarations with skip directive.
                   7950: 
                   7951:        * kern/ipc_host.c (xxx_processor_set_default_priv): Remove function.
                   7952:        * kern/machine.c (xxx_host_info, xxx_slot_info)
                   7953:        (xxx_cpu_control): Likewise.
                   7954:        * kern/syscall_emulation.c (xxx_task_set_emulation_vector)
                   7955:        (xxx_task_get_emulation_vector): Likewise.
                   7956:        * vm/memory_object.c (xxx_memory_object_lock_request): Likewise.
                   7957: 
                   7958: 2011-09-02  Guillem Jover  <[email protected]>
                   7959: 
                   7960:        Do not remap errno codes from E* to LINUX_E*
                   7961:        Mach no longer uses any of the old and clashing errno E* codes, so
                   7962:        it's safe to use them now w/o namespacing. This also means one less
                   7963:        modification needed to the Linux code.
                   7964: 
                   7965:        * linux/dev/include/asm-i386/errno.h: Remove file.
                   7966:        * linux/dev/kernel/dma.c (notifier_chain_unregister) [MACH_INCLUDE]: Remove
                   7967:        code.
                   7968:        * linux/dev/include/linux/notifier.h: Likewise.
                   7969:        * linux/dev/arch/i386/kernel/irq.c (setup_x86_irq): Rename LINUX_EBUSY
                   7970:        to EBUSY.
                   7971:        (request_irq): Rename LINUX_EINVAL to EINVAL.
                   7972:        * linux/dev/glue/block.c (register_blkdev): Rename LINUX_EBUSY to EBUSY
                   7973:        and LINUX_EINVAL to EINVAL.
                   7974:        (unregister_blkdev): Rename LINUX_EINVAL to EINVAL.
                   7975:        (rdwr_partial) Rename LINUX_ENOMEM to ENOMEM and LINUX_EIO to EIO.
                   7976:        * linux/dev/glue/misc.c (linux_to_mach_error): Rename LINUX_EPERM to
                   7977:        EPERM, LINUX_EIO to EIO, LINUX_ENXIO to ENXIO, LINUX_EACCES to EACCES,
                   7978:        LINUX_EFAULT to EFAULT, LINUX_EBUSY to EBUSY, LINUX_EINVAL to EINVAL,
                   7979:        LINUX_EROFS to EROFS, LINUX_EWOULDBLOCK to EWOULDBLOCK and LINUX_ENOMEM
                   7980:        to ENOMEM.
                   7981:        (verify_area): Rename LINUX_EFAULT to EFAULT.
                   7982:        * linux/dev/kernel/resource.c (check_region): Rename LINUX_EBUSY to
                   7983:        EBUSY.
                   7984:        * linux/dev/kernel/sched.c (__do_down): Rename LINUX_EINTR to EINTR.
                   7985: 
                   7986: 2011-09-02  Guillem Jover  <[email protected]>
                   7987: 
                   7988:        Use Mach native error codes instead of POSIX errno E* ones
                   7989:        * device/errno.h: Remove file.
                   7990:        * Makefrag.am (libkernel_a_SOURCES): Remove `device/errno.h'.
                   7991:        * i386/i386at/com.c: Include <device/device_types.h> instead of
                   7992:        <device/errno.h>.
                   7993:        (comopen): Replace ENXIO with D_NO_SUCH_DEVICE.
                   7994:        * i386/i386at/kd_event.c: Include <device/device_types.h> instead of
                   7995:        <device/errno.h>.
                   7996:        * i386/i386at/kd_mouse.c: Likewise.
                   7997:        (mouseopen): Replace ENODEV with D_NO_SUCH_DEVICE and EBUSY with
                   7998:        D_ALREADY_OPEN.
                   7999:        * i386/i386at/lpr.c: Include <device/device_types.h> instead of
                   8000:        <device/errno.h>.
                   8001:        (lpropen): Replace ENXIO with D_NO_SUCH_DEVICE and EBUSY with
                   8002:        D_ALREADY_OPEN.
                   8003: 
                   8004: 2011-09-02  Guillem Jover  <[email protected]>
                   8005: 
                   8006:        Change argument name to match function body usage
                   8007:        Otherwise the function wrongly uses the global symbol.
                   8008: 
                   8009:        * linux/src/drivers/scsi/ppa.c (ppa_nibble_in): Rename `str_p' argument
                   8010:        to `base'.
                   8011: 
                   8012: 2011-09-02  Guillem Jover  <[email protected]>
                   8013: 
                   8014:        Disable set but unused variable
                   8015:        * linux/src/drivers/scsi/gdth.c (gdth_detect): Conditionalize `b' on
                   8016:        [LINUX_VERSION_CODE < 0x020000]. Do not preset it to 0, it's initialized
                   8017:        later on when needed.
                   8018: 
                   8019:        Remove set but unused variables
                   8020:        * linux/dev/drivers/block/floppy.c (setup_rw_floppy): Remove `dflags'.
                   8021:        (floppy_eject): Remove `dummy'.
                   8022:        * linux/src/drivers/net/8390.c (ethdev_init): Remove `ei_local'.
                   8023:        * linux/src/drivers/scsi/ppa.c (ppa_detect): Remove `ppb'.
                   8024: 
                   8025:        Cast addr argument to vm_offset_t
                   8026:        * linux/dev/glue/kmem.c (vfree): Cast `addr' argument on kfree_mem
                   8027:        function to vm_offset_t.
                   8028: 
                   8029:        Add vsnprintf prototype
                   8030:        * kern/printf.h (vsnprintf): New prototype.
                   8031: 
                   8032:        Add missing headers
                   8033:        * linux/dev/init/main.c: Include <linux/pci.h>.
                   8034:        * linux/dev/kernel/printk.c: Include <kern/printf.h>.
                   8035: 
                   8036: 2011-09-01  Ludovic Courtès  <[email protected]>
                   8037: 
                   8038:        Add missing header file to the distribution.
                   8039:        * linux/Makefrag.am (liblinux_a_SOURCES): Add `linux/dev/glue/glue.h',
                   8040:          which appeared in commit 2b4bff9914d57bff600ac70194b8b1aab3485bee
                   8041:          ("Fix declarations").
                   8042: 
                   8043: 2011-09-01  Samuel Thibault  <[email protected]>
                   8044: 
                   8045:        Fix documentation
                   8046: 
                   8047:        Close kernel stacks.
                   8048:        * i386/i386/pcb.c (stack_attach): Initialize ebp to 0.
                   8049: 
                   8050: 2011-09-01  Samuel Thibault  <[email protected]>
                   8051: 
                   8052:        Fix PC sampling
                   8053:        interrupt.S now saves the IRQ on the stack to acknowledge it later.
                   8054: 
                   8055:        * i386/i386/hardclock.c (hardclock): Add irq parameter.
                   8056:        * i386/i386at/kd.c (kdintr, kdcheckmagic): Remove regs parameter.
                   8057:        * i386/i386at/kd.h (kdintr): Likewise.
                   8058: 
                   8059: 2011-08-31  Guillem Jover  <[email protected]>
                   8060: 
                   8061:        Add silent rules support if available and disable it by default
                   8062:        * configure.ac (AM_SILENT_RULES): Add silent rules support if available,
                   8063:        and disable it by default.
                   8064:        * Makefile.am (AWK_V, AWK_V_, AWK_V_0): New variables.
                   8065:        (NM_V, NM_V_, NM_V_0): Likewise.
                   8066:        (GZIP_V, GZIP_V_, GZIP_V_0): Likewise.
                   8067:        (MIGCOM_V, MIGCOM_V_, MIGCOM_V_0): Likewise.
                   8068:        (gnumach-undef): Use NM_V in front of NM.
                   8069:        (gnumach-undef-bad): Use AM_V_GEN in front of sed.
                   8070:        (clib-routines.o): Use AM_V_at in fron of undefined symbols check.
                   8071:        Use AM_V_CCLD in front of CCLD.
                   8072:        * Makefrag.am (gnumach.msgids): Use AM_V_GEN in front of cat.
                   8073:        * Makerules.am (%.symc): Use AWK_V in front of AWK.
                   8074:        (%.symc.o): Use AM_V_CC in front of COMPILE.
                   8075:        (%.h): Use AM_V_GEN in front of sed.
                   8076:        (%.gz): Use GZIP_V in front of GZIP.
                   8077:        * Makerules.mig.am (%.user.defs.c): Use AM_V_GEN in front of command.
                   8078:        (%.server.defs.c): Likewise.
                   8079:        (%.user.h %.user.c %.user.msgids): Use MIGCOM_V in front of MIGCOM.
                   8080:        (%.server.h %.server.c %.server.msgids): Likewise.
                   8081: 
                   8082: 2011-08-31  Samuel Thibault  <[email protected]>
                   8083: 
                   8084:        Optimize copyout path
                   8085:        * i386/i386/locore.S (copyout): Remove RETRY() use from >=i486 variant. Move
                   8086:        copyout_ret and copyout_fail.
                   8087: 
                   8088:        Fix copyout retry on lazy allocation on >= i486
                   8089:        * i386/i386/locore.S (copyout): Add a >=i486 variant of copyout which uses
                   8090:        no loop, but simply retries rep mov.
                   8091: 
                   8092:        Disable global page while writing in kernel space
                   8093:        * i386/i386/db_interface.c (db_write_bytes): If CPU has PGE feature, disable
                   8094:        CR4_PGE before enabling kernel page write access, and re-enable the former after
                   8095:        disabling the latter.
                   8096: 
                   8097: 2011-08-31  Samuel Thibault  <[email protected]>
                   8098: 
                   8099:        Protect set_cr3 against compiler assignment optimizations
                   8100:        This fixes the kdb `break' command.
                   8101: 
                   8102:        i386/i386/proc_reg.h (set_cr3): Add "memory" clobber.
                   8103: 
                   8104: 2011-08-31  Guillem Jover  <[email protected]>
                   8105: 
                   8106:        Fix undefined operation on assigning self pre-incremented variable
                   8107:        * linux/src/drivers/scsi/wd7000.c (mail_out): Add `1' instead of
                   8108:        pre-incrementing self assigned variable.
                   8109:        * linux/src/drivers/net/de4x5.c (de4x5_sw_reset, de4x5_queue_pkt, de4x5_rx)
                   8110:        (de4x5_tx, de4x5_rx_ovfc, set_multicast_list, ping_media, mii_get_phy)
                   8111:        (de4x5_ioctl): Likewise.
                   8112:        * linux/src/drivers/net/depca.c (depca_rx, depca_tx, load_packet): Likewise.
                   8113: 
                   8114:        Honour type promotion on variable argument handling
                   8115:        * linux/dev/lib/vsprintf.c (linux_vsprintf): Use `int' when retrieving
                   8116:        a `short' through `va_arg'.
                   8117: 
                   8118:        Correct MiG Mach types to fix compilation warnings
                   8119:        * include/mach/mach_types.defs (thread_info_t): Change from array of
                   8120:        natural_t to integer_t.
                   8121:        (task_info_t): Likewise.
                   8122:        (host_info_t): Likewise.
                   8123:        (processor_info_t): Likewise.
                   8124:        (processor_set_info_t): Likewise.
                   8125: 
                   8126:        Denote __exit symbols as used
                   8127:        * linux/src/include/linux/init.h: Include <linux/compiler.h>.
                   8128:        (__exitused): New macro.
                   8129:        (__exit): Define to ` __exitused __cold notrace'.
                   8130:        * linux/src/include/linux/kcomp.h (__exit): Remove.
                   8131: 
                   8132:        Move <linux/init.h> from linux/pcmcia-cs to linux/src
                   8133:        * linux/pcmcia-cs/include/linux/init.h: Move to ...
                   8134:        * linux/src/include/linux/init.h: ... here.
                   8135: 
                   8136:        Import Linux 3.1 compiler definitions
                   8137:        * linux/src/include/linux/compiler.h: New file.
                   8138:        * linux/src/include/linux/compiler-gcc.h: Likewise.
                   8139:        * linux/src/include/linux/compiler-gcc3.h: Likewise.
                   8140:        * linux/src/include/linux/compiler-gcc4.h: Likewise.
                   8141:        * linux/dev/include/linux/kernel.h (barrier): Remove definition and
                   8142:        include <linux/compiler.h> instead.
                   8143: 
                   8144:        Import Linux 3.1 ctype code
                   8145:        * linux/src/include/linux/ctype.h: Update file.
                   8146:        * linux/src/lib/ctype.c: Likewise.
                   8147: 
                   8148:        Remove unused and non-functional string specialization header
                   8149:        * linux/src/include/asm-i386/string-486.h: Remove.
                   8150: 
                   8151:        Fix memcmp prototype
                   8152:        * include/string.h (memcmp): Remove bogus `*' from return type.
                   8153: 
                   8154: 2011-08-31  Samuel Thibault  <[email protected]>
                   8155: 
                   8156:        Fix declarations
                   8157:        * device/ds_routines.h (io_done_list): Add variable declaration.
                   8158:        (device_io_map): Keep variable declaration and move definition to...
                   8159:        * device/ds_routines.c: ... here.
                   8160:        * i386/i386/fpu.c: Include <i386/pic.h>
                   8161:        (curr_ipl): Remove declaration.
                   8162:        (fpintr): Add int unit parameter.
                   8163:        * linux/dev/glue/glue.h: New header.
                   8164:        * i386/i386/fpu.h (fpintr): Add function prototype.
                   8165:        * i386/i386/hardclock.c (clock_interrupt, linux_timer_intr): Remove prototypes.
                   8166:        [LINUX_DEV]: Include <linux/dev/glue/glue.h>
                   8167:        * i386/i386/ipl.h (curr_ipl): Add declaration.
                   8168:        * i386/i386/pic.h (curr_pic_mask, pic_mask, prtnull, intnull): Add
                   8169:        declarations.
                   8170:        * i386/i386at/kd.h (kdintr): Add declaration.
                   8171:        * i386/i386at/pic_isa.c: Include <i386/fpu.h> and <i386at/kd.h>
                   8172:        (intnull, fpintr, hardclock, kdintr, prtnull): Remove prototypes.
                   8173:        * i386/xen/xen.c: Include <kern/mach_clock.h>
                   8174:        (clock_interrupt): Remove prototype.
                   8175:        * linux/dev/arch/i386/kernel/irq.c: Include <linux/dev/glue/glue.h> and
                   8176:        <machine/machspl.h>
                   8177:        (linux_timer_intr, splhigh, spl0, curr_ipl, curr_pic_mask, pic_mask,
                   8178:        get_options): Remove declarations.
                   8179:        * linux/dev/drivers/block/floppy.c: Include <linux/dev/glue/glue.h>
                   8180:        (issig, get_options): Remove declarations.
                   8181:        * linux/dev/drivers/block/genhd.c: Include <linux/dev/glue/glue.h>
                   8182:        (linux_intr_pri): Remove declaration.
                   8183:        * linux/dev/glue/block.c: Include <devices/ds_routines.h> and
                   8184:        <linux/dev/glue/glue.h>.
                   8185:        (device_io_map, blksize_size): Remove declarations.
                   8186:        * linux/dev/glue/kmem.c: Include <kern/printf.h> and <linux/dev/glue/glue.h>
                   8187:        (alloc_contig_mem, printf): Remove declarations.
                   8188:        * linux/dev/glue/misc.c: Include <printf.h> and <linux/dev/glue/glue.h>
                   8189:        (vm_map_lookup_entry, printf): Remove prototypes.
                   8190:        * linux/dev/glue/net.c: Include <kern/printf.h>, <device/ds_routines.h> and
                   8191:        <linux/dev/glue/glue.h>.
                   8192:        (linux_intr_pri, io_done_list): Remove declarations.
                   8193:        * linux/dev/init/main.c: Include <machine/model_dep.h> and
                   8194:        <linux/dev/glue/glue.h>.
                   8195:        (phys_last_addr, alloc_contig_mem, free_contig_mem, init_IRQ,
                   8196:        restore_IRQ, startrtclock, linux_version_init, linux_kmem_init, pci_init,
                   8197:        linux_net_emulation_init, device_setup, linux_printk, linux_timer_intr, spl0,
                   8198:        splhigh, form_pic_mask, linux_bad_intr, prtnull, intnull, linux_sched_init,
                   8199:        pcmcia_init): Remove declarations.
                   8200:        * linux/dev/kernel/sched.c: Include <kern/printf.h>, <machine/machspl.h> and
                   8201:        <linux/dev/glue/glue.h>.
                   8202:        (alloc_contig_mem, free_contig_mem, splhigh, splx, linux_soft_intr, issig,
                   8203:        printf, linux_auto_config): Remove prototypes.
                   8204:        * linux/dev/kernel/softirq.c: Include <linux/dev/glue/glue.h>.
                   8205:        * linux/src/drivers/block/floppy.c: Include <linux/dev/glue/glue.h>.
                   8206:        (get_options): Remove prototype.
                   8207:        * linux/src/init/main.c: Include <linux/dev/glue/glue.h>
                   8208:        (init_IRQ): Remove prototype.
                   8209: 
                   8210: 2011-08-30  Guillem Jover  <[email protected]>
                   8211: 
                   8212:        Add linux_timer_intr function declaration
                   8213:        * i386/i386/hardclock.c [LINUX_DEV] (linux_timer_intr): New prototype.
                   8214: 
                   8215:        Add missing headers
                   8216:        * device/dev_pager.c: Include <device/memory_object_reply.user.h>.
                   8217:        * linux/pcmcia-cs/glue/wireless_glue.h: Include <kern/debug.h>.
                   8218: 
                   8219:        Remove unused variable
                   8220:        * i386/i386at/rtc.c (rtc): Remove variable.
                   8221: 
                   8222:        Cast host_get_time() arguments to fix warnings
                   8223:        * linux/dev/glue/misc.c (do_gettimeofday): Cast arguments to
                   8224:        `host_get_time'.
                   8225: 
                   8226:        Cast function timeout() argument to fix a warning
                   8227:        * kern/mach_clock.h (timer_func_t): New function type.
                   8228:        (struct timer_elt): Change fcn type to timer_func_t.
                   8229:        * i386/i386at/com.c (comstart): Cast `ttrstrt' to `timer_funct_t *' in
                   8230:        `timeout' call.
                   8231:        * i386/i386at/lpr.c (lprstart): Likewise,
                   8232: 
                   8233:        Return a value on non-void function
                   8234:        * i386/i386at/com.c (comcnprobe, comcninit, comcnputc): Return 0.
                   8235: 
                   8236: 2011-08-30  Samuel Thibault  <[email protected]>
                   8237: 
                   8238:        Fix copyright assignment
                   8239:        I have assigned copyright to the Free Software Foundation.
                   8240: 
                   8241:        * i386/i386/xen.h: Fix copyright assignment
                   8242:        * i386/xen/xen.c: Likewise.
                   8243:        * i386/xen/xen_boothdr.S: Likewise.
                   8244:        * i386/xen/xen_locore.S: Likewise.
                   8245:        * include/mach/xen.h: Likewise.
                   8246:        * xen/block.c: Likewise.
                   8247:        * xen/block.h: Likewise.
                   8248:        * xen/console.c: Likewise.
                   8249:        * xen/console.h: Likewise.
                   8250:        * xen/evt.c: Likewise.
                   8251:        * xen/evt.h: Likewise.
                   8252:        * xen/grant.c: Likewise.
                   8253:        * xen/grant.h: Likewise.
                   8254:        * xen/net.c: Likewise.
                   8255:        * xen/net.h: Likewise.
                   8256:        * xen/ring.c: Likewise.
                   8257:        * xen/ring.h: Likewise.
                   8258:        * xen/store.c: Likewise.
                   8259:        * xen/store.h: Likewise.
                   8260:        * xen/time.c: Likewise.
                   8261:        * xen/time.h: Likewise.
                   8262:        * xen/xen.c: Likewise.
                   8263:        * xen/xen.h: Likewise.
                   8264: 
                   8265: 2011-08-30  Samuel Thibault  <[email protected]>
                   8266: 
                   8267:        Console declaration cleanup
                   8268:        * device/cons.h: Add multiple inclusion _DEVICE_CONS_H macro protector.
                   8269:        (struct consdev): Add function members prototypes.
                   8270:        * i386/i386/xen.h: Include <mach/xen.h>.
                   8271:        * i386/i386at/com.c (comcnprobe, comcninit, comcngetc, comcnputc): Move
                   8272:        prototypes...
                   8273:        * i386/i386at/com.h: ... here.  Include <device/cons.h>.
                   8274:        * i386/i386at/cons_conf.c [MACH_HYP]: Include <xen/console.h>.
                   8275:        [!MACH_HYP]: Include "kd.h".
                   8276:        [!MACH_HYP && NCOM > 0]: Include "com.h".
                   8277:        (hypcnprobe, hypcninit, hypcngetc, hypcnputc, kdcnprobe, kdcninit, kdcngetc,
                   8278:        kdcnputc comcnprobe, comcninit, comcngetc, comcnputc): Remove prototypes.
                   8279:        * i386/i386at/kd.c (kdcnputc): Make it return int, -1 on error, 0 on
                   8280:        success.
                   8281:        (kdcnprobe, kdcninit, kdcngetc, kdcnputc): Move prototypes...
                   8282:        * i386/i386at/kd.h: ... here.  Include <device/cons.h>.
                   8283:        * xen/console.c (hypcnprobe): Remove unused `my_console' local variable.
                   8284:        * xen/console.h: Include <device/cons.h>
                   8285:        (hypcnputc, hypcngetc, hypcnprobe, hypcninit): Add prototypes.
                   8286: 
                   8287: 2011-08-30  Guillem Jover  <[email protected]>
                   8288: 
                   8289:        Move Linux module macros to their original header
                   8290:        * linux/pcmcia-cs/glue/wireless_glue.h (EXPORT_SYMBOL)
                   8291:        (SET_MODULE_OWNER): Move to ...
                   8292:        * linux/src/include/linux/module.h [!MODULE]: ... here.
                   8293: 
                   8294:        Move cdrom_sleep() definition to its original source file
                   8295:        * linux/dev/kernel/sched.c (cdrom_sleep): Move to ...
                   8296:        * linux/src/drivers/block/ide-cd.c [MACH]: ... here, make it static.
                   8297:        Include <kern/sched_prim.h>.
                   8298: 
                   8299: 2011-08-29  Samuel Thibault  <[email protected]>
                   8300: 
                   8301:        Make copyout run in 1 loop on >= i486
                   8302:        * i386/i386/locore.S (copyout): On >= i486, skip WP-check loop split and just
                   8303:        use byte count.
                   8304: 
                   8305: 2011-08-28  Samuel Thibault  <[email protected]>
                   8306: 
                   8307:        Skip kernel WP check on i486 and above
                   8308:        * i386/i386/i386asm.sym (machine_slot.sub_type): Define.
                   8309:        * i386/i386/locore.S (copyout_retry): Skip if machine_slot[0].cpu_type > 3.
                   8310: 
                   8311:        Enable >4GiB cr3
                   8312:        * i386/xen/xen_boothdr.S (__xen_guest): Add [extended-cr3] to PAE
                   8313:        (XEN_ELFNOTE_PAE_MODE): Likewise.
                   8314: 
                   8315: 2011-08-28  Samuel Thibault  <[email protected]>
                   8316: 
                   8317:        Disable (<i486)-only WP workaround on Xen & PAE
                   8318:        i386 didn't support PAE anyway.
                   8319: 
                   8320:        * i386/i386/locore.S (copyout_retry) [MACH_HYP || PAE]: Remove.
                   8321:        * xen/xen.c (hyp_invalidate_pte): Remove function.
                   8322:        * xen/xen.h (hyp_invalidate_pte): Remove prototype.
                   8323: 
                   8324: 2011-08-28  Samuel Thibault  <[email protected]>
                   8325: 
                   8326:        Fix pmap_clear_bootstrap_pagetable with >4G mfns
                   8327:        * i386/intel/pmap.c (pmap_clear_bootstrap_pagetable): Use pte_to_pa instead
                   8328:        of atop.
                   8329: 
                   8330:        Rework memory mapping reservation
                   8331:        * i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE): Define to 192MiB.
                   8332:        * i386/i386at/model_dep.c (mem_size_init): Use VM_KERNEL_MAP_SIZE instead of
                   8333:        1/6 factor.
                   8334:        * i386/intel/pmap.c (morevm): Remove.
                   8335:        (pmap_bootstrap): Use VM_KERNEL_MAP_SIZE instead of morevm.
                   8336: 
                   8337:        Move free_skbuffs declaration to the top
                   8338:        * device/ds_routines.c (free_skbuffs): Move declaration to the top.
                   8339: 
                   8340: 2011-08-27  Guillem Jover  <[email protected]>
                   8341: 
                   8342:        Initialize the new map entry when it's a projected buffer
                   8343:        * vm/vm_map.c (vm_map_fork): Call vm_map_entry_create for projected_on
                   8344:        buffers too.
                   8345: 
                   8346:        Fix initialization from incompatible pointer type
                   8347:        * linux/dev/glue/block.c (device_get_status): Cast `hg' to `unsigned long'
                   8348:        in ioctl call.
                   8349: 
                   8350:        Match signedness of char pointer comparisons and assignments
                   8351:        * linux/dev/drivers/block/genhd.c (msdos_partition): Cast `data' assignment
                   8352:        to `unsigned char *'.
                   8353:        * linux/src/drivers/block/ide-cd.c (cdrom_queue_request_sense): Cast
                   8354:        `buffer' assignment to `unsigned char *'.
                   8355:        (cdrom_transfer_packet_command): Change `cmd_buf' argument type to
                   8356:        `unsigned char *'.
                   8357:        (cdrom_read_capacity): Cast `pc.buffer' assignments to `unsigned char *'.
                   8358:        Use temporary `model' and `fw_rev' `const char *' variables to compare
                   8359:        against literal strings and characters.
                   8360:        * linux/src/drivers/block/ide.c (execute_drive_cmd): Cast `args'
                   8361:        assignment to `byte *'.
                   8362:        (ide_open): Cast `rq.buffer' assignment to `char *'.
                   8363:        (ide_release): Likewise.
                   8364:        (ide_ioctl): Likewise.
                   8365:        (do_identify): Cast variables being compared against literal string to
                   8366:        `char *'.
                   8367:        (probe_for_drive): Likewise.
                   8368:        * linux/src/drivers/block/ide.h (struct packet_command): Change `buffer'
                   8369:        type to `unsigned char *'.
                   8370: 
                   8371:        Always initialize A and X variables in BPF code
                   8372:        * device/net_io.c (bpf_do_filter): Remove lint conditional.
                   8373: 
                   8374:        Disable unused variables
                   8375:        * i386/i386at/com.c (comstart): Disable `i' variable.
                   8376:        * linux/src/drivers/net/at1700.c (net_close): Disable `lp' variable.
                   8377:        * linux/dev/include/linux/blk.h (end_request): Disable `nsect' variable
                   8378:        on MACH.
                   8379: 
                   8380:        Remove unused variables
                   8381:        * vm/memory_object_proxy.c (memory_object_create_proxy): Remove unused
                   8382:        `kr' variable.
                   8383:        * linux/dev/glue/block.c (free_buffer): Remove unused `i' variable.
                   8384:        (register_blkdev): Remove unused `err' variable.
                   8385:        (unregister_blkdev): Likewise.
                   8386:        (bread): Likewise.
                   8387:        (init_partition): Likewise.
                   8388:        * linux/dev/glue/net.c (device_write): Likewise.
                   8389: 
                   8390:        Remove ident tags producing preprocessor warnings
                   8391:        * linux/src/drivers/scsi/FlashPoint.c: Remove #ident tags.
                   8392: 
                   8393:        Add header for printf prototype
                   8394:        * vm/memory_object_proxy.c: Include <kern/printf.h>.
                   8395: 
                   8396:        Add prototype for free_skbuffs function
                   8397:        * device/ds_routines.c [LINUX_DEV && CONFIG_INET] (free_skbuffs): Add
                   8398:        prototype.
                   8399: 
                   8400:        Add prototype for log function
                   8401:        * kern/debug.h (log): New prototype.
                   8402: 
                   8403: 2011-08-27  Samuel Thibault  <[email protected]>
                   8404: 
                   8405:        * Makefile.am (AM_CFLAGS): Add -fno-builtin-log.
                   8406: 
                   8407: 2011-08-27  Guillem Jover  <[email protected]>
                   8408: 
                   8409:        Add prototypes for locore functions
                   8410:        * i386/i386at/model_dep.c (discover_x86_cpu_type): Move ...
                   8411:        * i386/i386/locore.h: ... here.
                   8412:        (inst_fetch, cpu_shutdown): New prototypes.
                   8413:        * i386/i386at/kd.c: Include <i386/locore.h>.
                   8414: 
                   8415:        Do not take obsolete and unused bcopy and bzero from libc
                   8416:        * Makefile.am (clib_routines): Remove bcopy and bzero.
                   8417: 
                   8418:        Use AC_LANG_SOURCE inside AC_LANG_CONFTEST to fix autoconf warning
                   8419:        * configure.ac (AC_LANG_CONFTEST): Wrap the source into a AC_LANG_SOURCE
                   8420:        call.
                   8421: 
                   8422:        Add a .gitignore file
                   8423:        * .gitignore: New file.
                   8424: 
                   8425: 2011-08-22  Samuel Thibault  <[email protected]>
                   8426: 
                   8427:        Make ipc_space_zone not exhaustible
                   8428:        Users of ipc_space_create() actually assume that it succeeds.
                   8429: 
                   8430:        * ipc/ipc_init.c (ipc_bootstrap): Create ipc_space_zone without EXHAUSTIBLE
                   8431:        flag.
                   8432: 
                   8433: 2011-08-22  Samuel Thibault  <[email protected]>
                   8434: 
                   8435:        Add more details to "zone exhausted" panics.
                   8436:        * kern/zalloc (zalloc): Add more details to "zone exhausted" panics.
                   8437: 
                   8438: 2011-08-21  Samuel Thibault  <[email protected]>
                   8439: 
                   8440:        Add 8byte breakpoint macro
                   8441:        * i386/i386/db_interface.h (I386_DB_LEN_8): Define macro.
                   8442: 
                   8443: 2011-08-18  Samuel Thibault  <[email protected]>
                   8444: 
                   8445:        Add compiler barrier to update_mapped_time
                   8446:        * kern/mach_clock.c (update_mapped_time): Add compiler barriers between
                   8447:        writes to shared memory. Update comment: on SMP, write barriers are
                   8448:        required.
                   8449: 
                   8450: 2011-08-10  Samuel Thibault  <[email protected]>
                   8451: 
                   8452:        Do not warn for cross-space spurious port deallocation
                   8453:        These are harmless (the target is stopped) and difficult to fix anyway.
                   8454: 
                   8455:        * ipc/mach_port.c (mach_port_destroy): Do not warn about spurious port
                   8456:        deallocation when SPACE is not equal to current_space().
                   8457:        (mach_port_deallocate): Likewise.
                   8458: 
                   8459: 2011-08-10  Samuel Thibault  <[email protected]>
                   8460: 
                   8461:        Add more spurious deallocation debugging
                   8462:        * ipc/mach_port.c (mach_port_destroy): Print the current space and the
                   8463:        target space on spurious deallocation.
                   8464:        (mach_port_deallocate): Likewise.
                   8465: 
                   8466: 2011-07-21  Samuel Thibault  <[email protected]>
                   8467: 
                   8468:        Whitelist QEMU Hard-Drive for DMA.
                   8469:        PIO has become very slow in Linux 2.6.35+, so we do not really have the
                   8470:        choice any more.
                   8471: 
                   8472:        * linux/src/drivers/block/triton.c (good_dma_drives): Re-whitelist QEMU hard
                   8473:        drive.
                   8474: 
                   8475: 2011-05-19  Samuel Thibault  <[email protected]>
                   8476: 
                   8477:        Fix gcc 4.6 build
                   8478:        * linux/dev/include/linux/skbuff.h (skb_put, skb_push): Do not print the
                   8479:        address of a local label, gcc 4.6 does not build this and the debugger can
                   8480:        output it anyway.
                   8481:        * linux/src/include/linux/skbuff.h (skb_put, skb_push): Likewise.
                   8482: 
                   8483: 2011-05-18  Samuel Thibault  <[email protected]>
                   8484: 
                   8485:        Merge two asm constraints
                   8486:        * linux/src/drivers/scsi/ultrastor.c (find_and_clear_bit_16): Use + modifier
                   8487:        instead of using both a read and a write constraint.
                   8488: 
                   8489: 2011-05-09  Samuel Thibault  <[email protected]>
                   8490: 
                   8491:        Do not warn on vm_map_enter with fixed address failing
                   8492:        * vm/vm_map.c (vm_map_enter): Warn about missing room in map only if
                   8493:        anywhere is set.
                   8494: 
                   8495: 2011-04-24  Samuel Thibault  <[email protected]>
                   8496: 
                   8497:        Update constants to nowadays standards
                   8498:        Follow-up to fa6c711d
                   8499: 
                   8500:        * ipc/ipc_init.c (ipc_kernel_map_size): Increase to 8MiB.
                   8501: 
                   8502: 2011-04-23  Samuel Thibault  <[email protected]>
                   8503: 
                   8504:        Enable all caches
                   8505:        * i386/i386at/model_dep.c (i386at_init): Set CR0_CD and CR0_NW in CR0
                   8506:        register.
                   8507: 
                   8508:        Drop spurious warning
                   8509:        * ipc/ipc_entry.c (ipc_entry_get): Do not warn when ipc_entry_get returns
                   8510:        KERN_NO_SPACE.
                   8511: 
                   8512: 2011-04-22  Samuel Thibault  <[email protected]>
                   8513: 
                   8514:        Warn once when part of the kernel is lacking space
                   8515:        * ipc/ipc_entry.c (ipc_entry_get, ipc_entry_grow_table): Warn when returning
                   8516:        KERN_NO_SPACE.
                   8517:        * vm/vm_map.c (vm_map_find_entry, vm_map_enter, vm_map_copyout,
                   8518:        vm_map_copyout_page_list): Warn when returning KERN_NO_SPACE.
                   8519: 
                   8520: 2011-04-22  Samuel Thibault  <[email protected]>
                   8521: 
                   8522:        Update constants to nowadays standards
                   8523:        Follow-up to fa6c711d
                   8524: 
                   8525:        * vm/vm_object.c (DEVICE_IO_MAP_SIZE): Increase to 16MiB.
                   8526:        * kern/kalloc.c (kalloc_map_size): Increase to 64MiB.
                   8527:        * i386/intel/pmap.c (morevm): Increase to 128MiB.
                   8528: 
                   8529: 2011-04-20  Samuel Thibault  <[email protected]>
                   8530: 
                   8531:        Warn once when part of the kernel is lacking memory
                   8532:        * kern/printf.h (printf_once): New macro.
                   8533:        * ipc/mach_port.c (mach_port_names, mach_port_get_set_status): Warn when
                   8534:        returning KERN_RESOURCE_SHORTAGE.
                   8535:        * vm/vm_kern.c: Include printf.h.
                   8536:        (kmem_alloc, kmem_realloc, kmem_alloc_wired, kmem_alloc_aligned,
                   8537:        kmem_alloc_pageable): Warn when failing.
                   8538:        * vm/vm_resident.c (vm_page_grab_contiguous_pages): Warn when returning
                   8539:        KERN_RESOURCE_SHORTAGE.
                   8540: 
                   8541: 2011-04-19  Samuel Thibault  <[email protected]>
                   8542: 
                   8543:        Close call stack on continuation
                   8544:        * i386/i386/locore.S (call_continuation): Push dummy return address instead
                   8545:        of letting the callee get a random one.
                   8546: 
                   8547: 2011-04-18  Arne Babenhauserheide  <[email protected]>
                   8548: 
                   8549:        Removed deprecated LINTLIBRARY #ifdefs
                   8550:            mach/mach_traps.h: Removed LINTLIBRARY #ifdefs.
                   8551:            mach/message.h: Removed LINTLIBRARY #ifdefs.
                   8552: 
                   8553: 2011-04-03  Samuel Thibault  <[email protected]>
                   8554: 
                   8555:        Fix build with kdb from make dist-generated tarball
                   8556:        * Makefrag.am (libkernel_a_SOURCES): Add ddb/db_cond.h, ddb/db_examine.h,
                   8557:        ddb/db_input.h, ddb/db_macro.h, ddb/db_trap.h.
                   8558:        * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386/db_interface.h
                   8559: 
                   8560: 2011-03-21  Samuel Thibault  <[email protected]>
                   8561: 
                   8562:        Fix typo
                   8563:        * i386/i386at/kd.c (key_map): Fix K_PERIOD typo.
                   8564: 
                   8565: 2011-03-20  Samuel Thibault  <[email protected]>
                   8566: 
                   8567:        Clean kd.[ch]
                   8568:        * i386/i386at/kd.h (NUMSTATES): Fix comment about NORM_STATE.
                   8569:        * i386/i386at/kd.c (key_map): Use K_* macros instead of numeric values.
                   8570: 
                   8571: 2011-03-14  Samuel Thibault  <[email protected]>
                   8572: 
                   8573:        Also warn about mach_port_destroy on invalid ports
                   8574:        * ipc/mach_port.c (mach_port_destroy): Warn (and possibly call debugger) when
                   8575:        ipc_right_lookup_write didn't find the port name.
                   8576: 
                   8577: 2011-03-11  Samuel Thibault  <[email protected]>
                   8578: 
                   8579:        Fix continuation after keyboard debugger invocation
                   8580:        According to stack layout change in 5da1aea7
                   8581: 
                   8582:        * i386/i386/locore.S [!MACH_XEN] (RET_OFFSET): Define to 12 instead of 8.
                   8583: 
                   8584: 2011-03-06  Samuel Thibault  <[email protected]>
                   8585: 
                   8586:        Enable global pages after enabling paging
                   8587:        * i386/i386at/model_dep.c (i386at_init): Enable CR4_PGE after enabling
                   8588:        CR0_PG.
                   8589: 
                   8590: 2011-03-05  Samuel Thibault  <[email protected]>
                   8591: 
                   8592:        Fix temporary direct mapping during page table enabling
                   8593:        * i386/i386at/model_dep.c (i386at_init): Count the number of actually
                   8594:        needed temporary L1 direct mapping by getting the last used address from
                   8595:        init_alloc_aligned(), instead of hardcoding it to 1 or 3, and then use a for
                   8596:        loop.
                   8597: 
                   8598: 2011-03-03  Samuel Thibault  <[email protected]>
                   8599: 
                   8600:        Keep supplementary L1 pages read-only
                   8601:        * i386/intel/pmap.c (pmap_bootstrap): Fix loop which keeps supplementary L1
                   8602:        pages read-only: break as soon as one of the L1 supplementary pages has been
                   8603:        recognized, so that its pte does not get rewritten read-write.
                   8604: 
                   8605: 2011-02-27  Samuel Thibault  <[email protected]>
                   8606: 
                   8607:        Refuse to share IRQs at different interrupt levels
                   8608:        * linux/dev/arch/i386/kernel/irq.c (setup_x86_irq): Return -LINUX_EBUSY when
                   8609:        trying to share an IRQ between two different interrupt levels.
                   8610: 
                   8611: 2011-02-27  Samuel Thibault  <[email protected]>
                   8612: 
                   8613:        Re-enable updating pvlist for kernel_pmap
                   8614:        This partially reverts 0744feb6
                   8615: 
                   8616:        * i386/intel/pmap.c (pmap_remove_range): Update pvlist for kernel_pmap too.
                   8617: 
                   8618: 2011-02-27  Samuel Thibault  <[email protected]>
                   8619: 
                   8620:        Acknoledge interrupt after handler call
                   8621:        This fixes interrupt overflows when software interrupts processing gets slower
                   8622:        than hardware.
                   8623: 
                   8624:        * i386/i386at/interrupt.S (interrupt): Issue EOI to PICs after having called
                   8625:        the interrupt handler and disabled interrupts through cli.
                   8626: 
                   8627: 2011-02-27  Samuel Thibault  <[email protected]>
                   8628: 
                   8629:        Detect interrupt overflow
                   8630:        * i386/i386/locore.S (int_from_instack): Check %esp against _intstack, issue
                   8631:        ud2 on stack overflow.
                   8632: 
                   8633:        Add x86 debug register Xen support
                   8634:        * i386/xen/xen_boothdr.S: Add global visibility to __hyp_* symbols.
                   8635:        * i386/i386/locore.S [MACH_XEN] (dr6,dr0,dr1,dr2,dr3): Make get_debugreg and
                   8636:        set_debugreg hypercalls to manipulate debug registers.
                   8637:        (dr0,dr1,dr2,dr3): Fix dr7 field shift.
                   8638:        * i386/i386/xen.h (hyp_set_debugreg, hyp_get_debugreg): New prototypes.
                   8639: 
                   8640:        Add prototypes for x86 debug registers
                   8641:        * i386/i386/db_interface.h (I386_DB_TYPE_X, I386_DB_TYPE_W, I386_DB_TYPE_RW,
                   8642:        I386_DB_LEN_1, I386_DB_LEN_2, I386_DB_LEN_4, I386_DB_LOCAL,
                   8643:        I386_DB_GLOBAL): New macros.
                   8644:        (dr0, dr1, dr2, dr3): New function prototypes.
                   8645: 
                   8646:        Fix for kdb watch command
                   8647:        * i386/intel/pmap.c (pmap_remove_range): Do not update pvlist for
                   8648:        kernel_map.
                   8649:        [MACH_KBD] (pmap_enter): Allow physical memory remapping.
                   8650: 
                   8651: 2011-02-26  Samuel Thibault  <[email protected]>
                   8652: 
                   8653:        Add console=comN boot option to enable serial console
                   8654:        * i386/configfrag.ac (RCLINE, RCADDR): Remove defines.
                   8655:        * i386/i386at/com.c: Include <string.h> and <util/atoi.h>
                   8656:        [!RCLINE] (RCBAUD, comcndev, comcnprobe, comcninit, comcngetc, comcnputc):
                   8657:        Declare and define macro, variable, and functions.
                   8658:        (rcline): New variable.
                   8659:        (kernel_cmdline): New declaration.
                   8660:        (comcnprobe): Detect "console=comN" option and set rcline accordingly, use
                   8661:        rcline instead of RCLINE for serial console selection.
                   8662:        * i386/i386at/cons_conf.c [NCOM>0 && !RCLINE] (comcnprobe, comcninit,
                   8663:        comcngetc, comcnputc): Declare functions.
                   8664:        [NCOM>0 && !RCLINE] (constab): Enable "com" console.
                   8665:        * i386/i386at/kd_event.c (kbdopen): Call kdinit function, for when the
                   8666:        VGA+pckbd console was not initialized.
                   8667: 
                   8668: 2011-02-09  Samuel Thibault  <[email protected]>
                   8669: 
                   8670:        xen block: Add more legacy hd* name support
                   8671:        * xen/block.c (hyp_block_init): Add IDE 3-10 device number recognition. Skip
                   8672:          unknown block device numbers.
                   8673: 
                   8674: 2011-02-07  Samuel Thibault  <[email protected]>
                   8675: 
                   8676:        Defer Xen device initialization to device_service_create
                   8677:        * device/device_init.c (device_service_create) [MACH_HYP]: Call
                   8678:        hyp_dev_init.
                   8679:        * xen/xen.c (hyp_init): Do not call hyp_block_init and hyp_net_init, now
                   8680:        called in ...
                   8681:        (hyp_dev_init): New function.
                   8682:        * xen/xen.h (hyp_dev_init): New declaration.
                   8683: 
                   8684:        Add rx-copy support to netfront
                   8685:        * xen/net.c (net_data): Add rx_copy field.
                   8686:        (enqueue_rx_buf): When rx_copy != 0, give grant on buffer to domD instead of
                   8687:        issuing a transfer from domD.
                   8688:        (hyp_net_intr): When rx_copy != 0, take back grant on buffer instead of
                   8689:        finishing transfer. Do not panic on packet error, free kmsg on error.
                   8690:        (hyp_net_init): Check for feature-rx-copy in backend, write 1 to
                   8691:        request-rx-copy in such case. Wait for Connected state before continuing.
                   8692:        Only unmap buffer when rx_copy is 0.
                   8693: 
                   8694: 2011-01-31  Diego Nieto Cid  <[email protected]>
                   8695: 
                   8696:        * doc/mach.texi (device_set_filter): Document filter header.
                   8697:        Acked-by: Richard Braun <[email protected]>
                   8698: 
                   8699: 2011-01-31  Samuel Thibault  <[email protected]>
                   8700: 
                   8701:        Enable pae_extended_cr3 in pmap_bootstrap
                   8702:        * i386/i386/gdt.c (gdt_init): Do not enable VMASST_TYPE_pae_extended_cr3.
                   8703:        * i386/intel/pmap.c (pmap_bootstrap): Enable VMASST_TYPE_pae_extended_cr3.
                   8704: 
                   8705:        Enable Xen >4GiB physical memory support
                   8706:        * i386/i386/gdt.c (gdt_init): Enable VMASST_TYPE_pae_extended_cr3.
                   8707:        * i386/i386/xen.h: Drop actually-unneeded comment.
                   8708:        * i386/xen/xen_boothdr.S (FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb.
                   8709:        (XEN_ELFNOTE_FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb.
                   8710: 
                   8711:        Drop kbd device on xen
                   8712:        * i386/Makefrag.am (libkernel_a_SOURCES): Move i386/i386at/kd_event.[ch] and
                   8713:        i386/i386at/kd_queue.[ch] to [PLATFORM_at].
                   8714:        * i386/i386at/conf.c (dev_name_list): Move kbd device to [!MACH_HYP].
                   8715: 
                   8716: 2011-01-15  Samuel Thibault  <[email protected]>
                   8717: 
                   8718:        Avoid dropping kd_intr when RCLINE is >= 0
                   8719:        * i386/i386at/kd.c (kdintr): Return immediately if !kd_initialized.
                   8720:        * i386/i386at/pic_isa.c (ivect) [RCLINE >= 0]: Enable kdintr in that case
                   8721:        too.
                   8722: 
                   8723: 2011-01-15  Samuel Thibault  <[email protected]>
                   8724: 
                   8725:        Move -d and -H parse to kern/startup.c
                   8726:        The code is arch-independant, and reboot_on_panic, used by kern/debug.c
                   8727:        would be undefined on non-i386.
                   8728: 
                   8729:        * i386/i386at/model_dep.c (reboot_on_panic, c_boot_entry): Move -d and -H parse
                   8730:        to...
                   8731:        * kern/startup.c (reboot_on_panic,setup_main): ... here.  Include <string.h>
                   8732: 
                   8733: 2010-12-09  Samuel Thibault  <[email protected]>
                   8734: 
                   8735:        memcpy operands are not supposed to overlap
                   8736:        * include/string.h (memmove): Add prototype.
                   8737:        * i386/i386at/immc.c (immc_cnputc): Replace memcpy with memmove.
                   8738: 
                   8739: 2010-10-24  Samuel Thibault  <[email protected]>
                   8740: 
                   8741:        Avoid harmless warning
                   8742:        * i386/i386at/kd.c (kd_setleds1): Only display unexpected state warning when
                   8743:        debugging is enabled.
                   8744: 
                   8745: 2010-10-23  Samuel Thibault  <[email protected]>
                   8746: 
                   8747:        Add prototype for strstr
                   8748:        * include/string.h (strstr): Add prototype.
                   8749: 
                   8750:        Add prototype for discover_x86_cpu_type
                   8751:        * i386/i386at/model_dep.c (discover_x86_cpu_type): Add prototype.
                   8752: 
                   8753:        Warn on unknown CPU family
                   8754:        * i386/i386at/model_dep.c (c_boot_entry): Warn in the default case for
                   8755:        cpu_type.
                   8756: 
                   8757:        Recognize P4 and Opteron-like as pentium pro
                   8758:        * i386/i386at/model_dep.c (c_boot_entry): Treat cpu_type 15 as Pentium pro.
                   8759: 
                   8760: 2010-09-19  Samuel Thibault  <[email protected]>
                   8761: 
                   8762:        Fix device_get/set_status ABI for NET_FLAGS
                   8763:        * linux/dev/glue/net.c (device_get_status): Compare count with 1 instead
                   8764:        of sizeof(short).  Access *status instead of *(short *) status.
                   8765:        (device_set_status): Likewise.
                   8766: 
                   8767: 2010-09-14  Thomas Schwinge  <[email protected]>
                   8768: 
                   8769:        Merge branch 'typo-print'
                   8770: 
                   8771: 2010-09-14  Thomas Schwinge  <[email protected]>
                   8772: 
                   8773:        Typo fix.
                   8774:        * i386/i386/trap.c (user_trap): Call printf, not print.
                   8775: 
                   8776: 2010-09-14  Samuel Thibault  <[email protected]>
                   8777: 
                   8778:        Fix ifunc entries
                   8779:        * i386/ldscript: Update to the version from binutils 2.20.51.20100617.
                   8780:        Remove SEARCH_DIR calls.
                   8781:        * Makefile.am (clib_routines): Accept undefined __rel_iplt_start and
                   8782:        __rel_iplt_end as these come from the ldscript.
                   8783:        * i386/i386at/boothdr.S (boot_entry): Call ifunc hooks at boot.
                   8784:        * i386/xen/xen_boothdr.S (start): Likewise.
                   8785: 
                   8786: 2010-09-08  Samuel Thibault  <[email protected]>
                   8787: 
                   8788:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   8789: 
                   8790:        Fix non-contiguous PCI functions
                   8791:        * linux/src/drivers/pci/pci.c (scan_bus): Do not set `is_multi' to 0
                   8792:        when a hole is encountered. Detect 0000:ffff and ffff:0000 vendor ID as
                   8793:        holes too.
                   8794: 
                   8795: 2010-08-27  Guillem Jover  <[email protected]>
                   8796: 
                   8797:        Fix "make dist"
                   8798:        * Makefile.am (EXTRA_DIST): Remove ChangeLog.0, ChangeLog.00 and
                   8799:        Makefile.correct_output_files_for_.S_files.patch.
                   8800:        * Makefrag.am (libkernel_a_SOURCES): Add ipc/mach_port.h,
                   8801:        kern/ipc_mig.h, kern/machine.h, util/putchar.h, util/atoi.h,
                   8802:        vm/vm_resident.h, vm/vm_types.h and device/subrs.h.
                   8803:        Remove kern/time_out.h.
                   8804:        * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/autoconf.h,
                   8805:        i386/i386at/com.h, i386/i386at/int_init.h, i386/i386/loose_ends.h,
                   8806:        i386/i386/model_dep.h, i386/intel/read_fault.h and i386/i386/xen.h.
                   8807:        Remove i386/i386/timer.h.
                   8808:        * linux/Makefrag.am (liblinux_a_SOURCES): Add
                   8809:        linux/src/drivers/net/sis900.h.
                   8810:        * xen/Makefrag.am (libkernel_a_SOURCES): Add xen/public/arch-x86_32.h
                   8811:        xen/public/arch-x86_64.h, xen/public/arch-x86/xen.h,
                   8812:        xen/public/arch-x86/xen-mca.h, xen/public/arch-x86/xen-x86_32.h,
                   8813:        xen/public/arch-x86/xen-x86_64.h, xen/public/callback.h, xen/public/COPYING,
                   8814:        xen/public/dom0_ops.h, xen/public/domctl.h, xen/public/elfnote.h,
                   8815:        xen/public/elfstructs.h, xen/public/event_channel.h, xen/public/features.h,
                   8816:        xen/public/grant_table.h, xen/public/io/blkif.h, xen/public/io/console.h,
                   8817:        xen/public/io/fbif.h, xen/public/io/fsif.h, xen/public/io/kbdif.h,
                   8818:        xen/public/io/netif.h, xen/public/io/pciif.h, xen/public/io/protocols.h,
                   8819:        xen/public/io/ring.h, xen/public/io/tpmif.h, xen/public/io/xenbus.h,
                   8820:        xen/public/io/xs_wire.h, xen/public/kexec.h, xen/public/libelf.h,
                   8821:        xen/public/memory.h, xen/public/nmi.h, xen/public/physdev.h,
                   8822:        xen/public/platform.h, xen/public/sched.h, xen/public/sysctl.h,
                   8823:        xen/public/trace.h, xen/public/vcpu.h, xen/public/version.h,
                   8824:        xen/public/xencomm.h, xen/public/xen-compat.h, xen/public/xen.h,
                   8825:        xen/public/xenoprof.h, xen/block.h, xen/console.h, xen/evt.h,
                   8826:        xen/grant.h, xen/net.h, xen/ring.h, xen/store.h, xen/time.h and xen/xen.h.
                   8827: 
                   8828: 2010-08-26  Samuel Thibault  <[email protected]>
                   8829: 
                   8830:        Do not advice to install libc0.3-xen on 4gb_segment trap
                   8831:        ext2fs.static will trigger some anyway.  Instead, provide an easy way to
                   8832:        track how many traps happen.
                   8833: 
                   8834:        * i386/i386/gdt.c [MACH_XEN] (gdt_init): Disable enabling
                   8835:        VMASST_TYPE_4gb_segments_notify.
                   8836:        * i386/i386/trap.c [MACH_XEN] (user_trap): Remove printing libc0.3-xen
                   8837:        installation advice on 4gb_segments trap.  Instead, print a count every 10000
                   8838:        traps, and disable them on the 1000000th.
                   8839: 
                   8840: 2010-08-22  Samuel Thibault  <[email protected]>
                   8841: 
                   8842:        Disable 4gb segment emulation notification on first notification
                   8843:        i386/i386/trap.c [MACH_XEN] (user_trap): Disable
                   8844:        VMASST_TYPE_4gb_segments_notify on trap 15.
                   8845: 
                   8846:        Report Xen 4gb segment emulation
                   8847:        * i386/i386/gdt.c [MACH_XEN] (gdt_init): Enable VMASST_TYPE_4gb_segments_notify.
                   8848:        * i386/i386/idt_inittab.S [MACH_XEN]: Set trap 15 as pushing an error
                   8849:        code.
                   8850:        * i386/i386/trap.c [MACH_XEN]: Print trap 15 first occurrence.
                   8851: 
                   8852: 2010-08-01  Samuel Thibault  <[email protected]>
                   8853: 
                   8854:        Fix unexpected irq + irq timeout on write
                   8855:        * linux/src/drivers/block/ide.c (do_rw_disk): Set IRQ handler before
                   8856:        issuing write command.
                   8857: 
                   8858:        Move read-only sections to after text section
                   8859: 
                   8860: 2010-07-31  Samuel Thibault  <[email protected]>
                   8861: 
                   8862:        Un-whitelist the QEMU harddisk for DMA support
                   8863:        * linux/src/drivers/block/triton.c (good_dma_drives): Remove "QEMU HARDDISK".
                   8864: 
                   8865:        Put a name on the 16MiB magic number
                   8866:        * linux/dev/glue/kmem.c (MEM_DMA_LIMIT): New macro
                   8867:        (linux_kmem_init): Replace 16 * 1024 * 1024 occurrences with
                   8868:        MEM_DMA_LIMIT.
                   8869: 
                   8870: 2010-06-25  Jeremie Koenig  <[email protected]>
                   8871: 
                   8872:        Route BLKRRPART to partitions layer
                   8873:        * linux/dev/glue/block.c (device_set_status): New function
                   8874:        (linux_block_emulation_ops): Set set_status field to device_set_status.
                   8875: 
                   8876: 2010-04-16  Samuel Thibault  <[email protected]>
                   8877: 
                   8878:        Add memory clobbers to segment selector loaders
                   8879:        * i386/i386/seg.h (lldt): Add memory clobber to lldt asm
                   8880:        snippet.
                   8881:        * i386/i386/tss.h (ltr): Add memory clobber to ltr asm
                   8882:        snippet.
                   8883: 
                   8884: 2010-04-08  Samuel Thibault  <[email protected]>
                   8885: 
                   8886:        Fix bootstrap additional mapping
                   8887:        * i386/intel/pmap.c (pmap_bootstrap): Use pt_entry_t type
                   8888:        instead of vm_offset_t to map additional kernel space.
                   8889: 
                   8890:        Extend machine addresses to 64bit for PAE
                   8891:        * i386/i386/pcb.c (switch_ktss): Use uint64_t for descriptor
                   8892:        type instead of unsigned long long.
                   8893:        * i386/i386/seg.h (fill_descriptor): Use uint64_t for descriptor
                   8894:        type instead of unsigned long long. Cast result of kv_to_ma()
                   8895:        into vm_offset_t before printing.
                   8896:        * i386/i386/xen.h (hyp_mmu_update_pte): Use pt_entry_t type
                   8897:        instead of unsigned long long, make pte parameter a pt_entry_t
                   8898:        too.
                   8899:                (hyp_mmu_update_pte): Compute pte address just using pt_entry_t
                   8900:                integers.
                   8901:        (hyp_high): New macro to fix 32bit right shifting.
                   8902:                (hyp_do_update_descriptor): Use pt_entry_t type for machine
                   8903:                address instead of unsigned long. Split it in 32bit parts. Use uint64_t
                   8904:                for descriptor type instead of unsigned long long.
                   8905:        (update_va_mapping): Use pt_entry_t type instead of unsigned
                   8906:        long long. Use hyp_high macro.
                   8907:        (hyp_invlpg): Use uint64_t for time type instead of unsigned
                   8908:        long long.
                   8909:        * i386/intel/pmap.c (pmap_bootstrap): Use ptetokv instead of
                   8910:        pte_to_pa + phystokv. Cast machine addresses into vm_offset_t
                   8911:        before printing.
                   8912:                (pmap_set_page_readwrite): Likewise.
                   8913:        (pmap_set_page_readonly): Likewise
                   8914:        (pmap_set_page_readonly_init): Likewise
                   8915:        (pmap_clear_bootstrap_pagetable): Likewise
                   8916:        (pmap_destroy): Likewise
                   8917:        (pmap_map_mfn): Use pt_entry_t type for machine addresses. Cast
                   8918:        machine addresses into vm_offset_t before printing.
                   8919:        * i386/intel/pmap.h [PAE] (INTEL_PTE_PFN): Set macro to
                   8920:        0xfffffffffffff000ULL.
                   8921:        * include/mach/xen.h [PAE] (pa_to_ma, ma_to_pa): Use pt_entry_t
                   8922:        type for machine addresses.
                   8923:        [!PAE] (pa_to_ma): Remove cast to vm_offset_t.
                   8924:        (mfn_to_kv): Use mfn_to_pfn + ptoa instead of ptoa + ma_to_pa.
                   8925:                * xen/xen.c (hyp_invalidate_pte): Cast machine addresses into
                   8926:                vm_offset_t before printing.
                   8927: 
                   8928: 2010-04-06  Samuel Thibault  <[email protected]>
                   8929: 
                   8930:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   8931: 
                   8932:        Fix crash on Xen when no module is provided
                   8933:        * kern/bootstrap.c (bootstrap_create): Iterate over bmods only
                   8934:        if is not NULL.
                   8935: 
                   8936: 2010-03-15  Thomas Schwinge  <[email protected]>
                   8937: 
                   8938:        Require GNU Automake 1.10.2.
                   8939:        9ff49d9648debffbe42d18863c739d37bcdb50b4's config.status.dep.patch is fit for
                   8940:        1.10.2 (released in November 2008) and later, and is no longer suitable for
                   8941:        1.10.1.
                   8942: 
                   8943:        * configure.ac (AM_INIT_AUTOMAKE): Require 1.10.2.
                   8944: 
                   8945: 2010-03-14  Samuel Thibault  <[email protected]>
                   8946: 
                   8947:        Fix Xen build without kdb
                   8948:        * xen/console.c (hypcnintr): Use #if MACH_KDB instead of #ifdef
                   8949:        MACH_KDB.
                   8950: 
                   8951:        Add mem device
                   8952:        * i386/Makefrag.am (libkernel_a_SOURCES): Add
                   8953:        i386/i386at/iopl.c.
                   8954:        * i386/i386at/conf.c [!MACH_HYP] (memmmap): Declare function.
                   8955:        (memname): Add macro.
                   8956:        (dev_name_list): Add mem device.
                   8957:        * i386/i386at/mem.c: New file.
                   8958: 
                   8959: 2010-03-02  Samuel Thibault  <[email protected]>
                   8960: 
                   8961:        whitelist the QEMU harddisk for DMA support
                   8962:        * linux/src/drivers/block/triton.c (good_dma_drives): Add
                   8963:        "QEMU HARDDISK".
                   8964: 
                   8965: 2010-01-04  Samuel Thibault  <[email protected]>
                   8966: 
                   8967:        ignore bogus FDPT information from BIOS
                   8968: 
                   8969: 2009-12-22  Samuel Thibault  <[email protected]>
                   8970: 
                   8971:        Align mach_port_deallocate debug flag with usage
                   8972:        * ipc/mach_port.c (debug_mach_port_deallocate): Rename to...
                   8973:        (mach_port_deallocate_debug): ... new name, and set volatile
                   8974:        to permit live changes from ddb.
                   8975: 
                   8976:        Do not systematically debug buggy port deallocation
                   8977:        * ipc/mach_port.c (debug_mach_port_deallocation): New variable,
                   8978:        set to 0.
                   8979:        (mach_port_deallocate): Only call SoftDebugger if
                   8980:        debug_mach_port_deallocation is not 0.
                   8981: 
                   8982:        Merge branch 'master' of debhurd0:xen/gnumach
                   8983: 
                   8984: 2009-12-22  root  <[email protected]>
                   8985: 
                   8986:        Fix debugger trigger
                   8987:        * i386/i386/locore.S [MACH_XEN] (RET_OFFSET): Define to 8
                   8988:        * xen/console.c (hypcnintr): On pound sign, call kdb_kintr instead of
                   8989:                panicing.
                   8990: 
                   8991: 2009-12-21  Samuel Thibault  <[email protected]>
                   8992: 
                   8993:        Invoke debugger on duplicate port deallocation
                   8994:        * ipc/mach_port.c (mach_port_deallocate): Call SoftDebugger if
                   8995:        ipc_right_lookup_write was not succcessful and `name' is not
                   8996:        MACH_PORT_NULL or MACH_PORT_DEAD.
                   8997: 
                   8998:        Add a SoftDebugger function
                   8999:        * kern/debug.h (SoftDebugger): Add prototype.
                   9000:        * kern/debug.c (Debugger): Move code invoking debugging trap
                   9001:        to...
                   9002:        (SoftDebugger): ... new function.  Print the passed message.
                   9003:        * kern/lock_mon.c (decl_simple_lock_data, retry_bit_lock): Call
                   9004:        SoftDebugger instead of Debugger.
                   9005:        * device/ds_routines.c (ds_device_open, device_read,
                   9006:        device_read_inband): Call SoftDebugger instead of Debugger.
                   9007:        * i386/i386at/model_dep.c (c_boot_entry): Call SoftDebugger
                   9008:        instead of Debugger.
                   9009:        * kern/syscall_sw.c (null_port, kern_invalid): Call SoftDebugger
                   9010:        instead of Debugger.
                   9011:        * vm/vm_object.c (vm_object_collapse): Call SoftDebugger instead
                   9012:        of Debugger.
                   9013: 
                   9014: 2009-12-19  Samuel Thibault  <[email protected]>
                   9015: 
                   9016:        Document kdb_kintr stack manipulation
                   9017:        * i386/i386/locore.S: Document kdb_kintr stack manipulation.
                   9018: 
                   9019: 2009-12-19  root  <[email protected]>
                   9020: 
                   9021:        Fix debugger trigger
                   9022:        * i386/i386/locore.S [MACH_XEN] (RET_OFFSET): Define to 8
                   9023:        * xen/console.c (hypcnintr): On pound sign, call kdb_kintr instead of
                   9024:                panicing.
                   9025: 
                   9026: 2009-12-18  Guillem Jover  <[email protected]>
                   9027: 
                   9028:        Add missing casts
                   9029:        * vm/vm_resident.c (vm_page_grab_contiguous_pages): Cast `prevmemp'
                   9030:        assignement to vm_page_t.
                   9031: 
                   9032:        Add missing function prototypes
                   9033:        * i386/i386/pcb.c (Load_context): New prototype.
                   9034:        * i386/i386at/lpr.c (lprpr_addr): Likewise.
                   9035: 
                   9036:        Use `unsigned char *' for byte buffers
                   9037:        * linux/src/drivers/net/apricot.c (struct i596_tbd): Change `data'
                   9038:        member type to `unsigned char *'.
                   9039:        (struct i596_rfd): Change `data' member type to `unsigned char'.
                   9040:        (print_eth): Change argument type to `unsigned char'. Remove
                   9041:        unneeded casts.
                   9042:        (set_multicast_list): Change cast for print_eth to `unsigned char *'.
                   9043: 
                   9044:        Mark macro arguments as used
                   9045:        * i386/intel/pmap.c [!NCPUS > 1] (INVALIDATE_TLB): Mark `pmap', `s'
                   9046:        and `e' arguments as used.
                   9047:        * i386/intel/pmap.h [!NCPUS > 1] (PMAP_ACTIVATE_KERNEL): Mark `my_cpu'
                   9048:        argument as used.
                   9049:        (PMAP_DEACTIVATE_KERNEL): Likewise.
                   9050:        (PMAP_ACTIVATE_USER): Likewise. Mark `th' argument as used.
                   9051:        (PMAP_DEACTIVATE_USER): Mark `thread' and `cpu' arguments as used.
                   9052: 
                   9053:        Missing `*' in assembler indirect lcall
                   9054:        * linux/src/arch/i386/kernel/bios32.c (bios32_service): Add `*'
                   9055:        in indirect lcall.
                   9056:        (check_pcibios, pci_bios_find_class, pci_bios_find_device): Likewise.
                   9057:        (pci_bios_read_config_byte, pci_bios_read_config_word): Likewise.
                   9058:        (pci_bios_read_config_dword, pci_bios_write_config_byte): Likewise.
                   9059:        (pci_bios_write_config_word, pci_bios_write_config_dword): Likewise.
                   9060: 
                   9061:        Interrupt handlers do not return any value
                   9062:        * i386/i386at/kd_mouse.c (kd_mouse_open): Change kdintr return type
                   9063:        to `void'.
                   9064:        (oldvect): Change return type to `void'.
                   9065:        * linux/dev/arch/i386/kernel/irq.c (linux_timer_intr): Likewise.
                   9066:        (intnull, prtnull, linux_intr, linux_bad_intr): Likewise.
                   9067:        (old_clock_handler): Likewise.
                   9068: 
                   9069:        Use selector definitions from Mach for Linux code
                   9070:        * linux/src/include/asm-i386/segment.h [MACH]: Include <machine/gdt.h>
                   9071:        and <machine/ldt.h>.
                   9072:        [MACH && MACH_HYP] (KERNEL_CS, KERNEL_DS): Remove macros.
                   9073:        [MACH && !MACH_HYP] (KERNEL_CS, KERNEL_DS): Likewise.
                   9074:        [MACH] (USER_CS, USER_DS): Likewise.
                   9075: 
                   9076:        Move linux/dev/include/asm-i386/segment.h to src tree
                   9077:        * linux/dev/include/asm-i386/segment.h: Move to ...
                   9078:        * linux/src/include/asm-i386/segment.h: ... here.
                   9079: 
                   9080:        Match function types with `struct tty' member functions
                   9081:        * i386/i386at/com.c (comstart): Change return type to `void'.
                   9082:        * i386/i386at/lpr.c (lprstop): Likewise.
                   9083: 
                   9084:        Use explicit type int when defining register variables
                   9085:        * linux/src/drivers/scsi/aha1542.c (WAIT, WAITd): Define variables
                   9086:        with explicit type `register int' and not just `register'.
                   9087: 
                   9088: 2009-12-16  Samuel Thibault  <[email protected]>
                   9089: 
                   9090:        Add Xen support
                   9091:        2009-03-11  Samuel Thibault  <[email protected]>
                   9092: 
                   9093:        * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS) [MACH_XEN]: Set to
                   9094:        0x20000000.
                   9095:        * i386/i386/i386asm.sym (pfn_list) [VM_MIN_KERNEL_ADDRESS ==
                   9096:        LINEAR_MIN_KERNEL_ADDRESS]: Define to constant PFN_LIST.
                   9097: 
                   9098:        2009-02-27  Samuel Thibault  <[email protected]>
                   9099: 
                   9100:        * i386/intel/pmap.c [MACH_HYP] (INVALIDATE_TLB): Call hyp_invlpg
                   9101:        instead of flush_tlb when e - s is compile-time known to be
                   9102:        PAGE_SIZE.
                   9103: 
                   9104:        2008-11-27  Samuel Thibault  <[email protected]>
                   9105: 
                   9106:        * i386/configfrag.ac (enable_pae): Enable by default on the Xen
                   9107:        platform.
                   9108: 
                   9109:        2007-11-14  Samuel Thibault  <[email protected]>
                   9110: 
                   9111:        * i386/i386at/model_dep.c (machine_relax): New function.
                   9112:        (c_boot_entry): Refuse to boot as dom0.
                   9113: 
                   9114:        2007-10-17  Samuel Thibault  <[email protected]>
                   9115: 
                   9116:        * i386/i386/fpu.c [MACH_XEN]: Disable unused fpintr().
                   9117: 
                   9118:        2007-08-12  Samuel Thibault  <[email protected]>
                   9119: 
                   9120:        * Makefile.am (clib_routines): Add _START.
                   9121:        * i386/xen/xen_boothdr: Use _START for VIRT_BASE and PADDR_OFFSET. Add
                   9122:        GUEST_VERSION and XEN_ELFNOTE_FEATURES.
                   9123: 
                   9124:        2007-06-13  Samuel Thibault  <[email protected]>
                   9125: 
                   9126:        * i386/i386/user_ldt.h (user_ldt) [MACH_XEN]: Add alloc field.
                   9127:        * i386/i386/user_ldt.c (i386_set_ldt) [MACH_XEN]: Round allocation of
                   9128:        LDT to a page, set back LDT pages read/write before freeing them.
                   9129:        (user_ldt_free) [MACH_XEN]: Likewise.
                   9130: 
                   9131:        2007-04-18  Samuel Thibault  <[email protected]>
                   9132: 
                   9133:        * device/ds_routines.c [MACH_HYP]: Add hypervisor block and net devices.
                   9134: 
                   9135:        2007-02-19  Thomas Schwinge  <[email protected]>
                   9136: 
                   9137:        * i386/xen/Makefrag.am [PLATFORM_xen] (gnumach_LINKFLAGS): Define.
                   9138: 
                   9139:        * Makefrag.am: Include `xen/Makefrag.am'.
                   9140:        * configure.ac: Include `xen/configfrag.ac'.
                   9141:        (--enable-platform): Support the `xen' platform.
                   9142:        * i386/configfrag.ac: Likewise.
                   9143:        * i386/Makefrag.am [PLATFORM_xen]: Include `i386/xen/Makefrag.am'.
                   9144: 
                   9145:        2007-02-19  Samuel Thibault  <[email protected]>
                   9146:            Thomas Schwinge  <[email protected]>
                   9147: 
                   9148:        * i386/xen/Makefrag.am: New file.
                   9149:        * xen/Makefrag.am: Likewise.
                   9150:        * xen/configfrag.ac: Likewise.
                   9151: 
                   9152:        2007-02-11 (and later dates)  Samuel Thibault  <[email protected]>
                   9153: 
                   9154:        Xen support
                   9155:        * Makefile.am (clib_routines): Add _start.
                   9156:        * Makefrag.am (include_mach_HEADERS): Add include/mach/xen.h.
                   9157:        * device/cons.c (cnputc): Call hyp_console_write.
                   9158:        * i386/Makefrag.am (libkernel_a_SOURCES): Move non-Xen source to
                   9159:        [PLATFORM_at].
                   9160:        * i386/i386/debug_trace.S: Include <i386/xen.h>
                   9161:        * i386/i386/fpu.c [MACH_HYP] (init_fpu): Call set_ts() and clear_ts(),
                   9162:        do not enable CR0_EM.
                   9163:        * i386/i386/gdt.c: Include <mach/xen.h> and <intel/pmap.h>.
                   9164:        [MACH_XEN]: Make gdt array extern.
                   9165:        [MACH_XEN] (gdt_init): Register gdt with hypervisor.  Request 4gb
                   9166:        segments assist.  Shift la_shift.
                   9167:        [MACH_PSEUDO_PHYS] (gdt_init): Shift pfn_list.
                   9168:        * i386/i386/gdt.h [MACH_XEN]: Don't define KERNEL_LDT and LINEAR_DS.
                   9169:        * i386/i386/i386asm.sym: Include <i386/xen.h>.
                   9170:        [MACH_XEN]: Remove KERNEL_LDT, Add shared_info's CPU_CLI, CPU_PENDING,
                   9171:        CPU_PENDING_SEL, PENDING, EVTMASK and CR2.
                   9172:        * i386/i386/idt.c [MACH_HYP] (idt_init): Register trap table with
                   9173:        hypervisor.
                   9174:        * i386/i386/idt_inittab.S: Include <i386/i386asm.h>.
                   9175:        [MACH_XEN]: Set IDT_ENTRY() for hypervisor. Set trap table terminator.
                   9176:        * i386/i386/ktss.c [MACH_XEN] (ktss_init): Request exception task switch
                   9177:        from hypervisor.
                   9178:        * i386/i386/ldt.c: Include <mach/xen.h> and <intel/pmap.h>
                   9179:        [MACH_XEN]: Make ldt array extern.
                   9180:        [MACH_XEN] (ldt_init): Set ldt readwrite.
                   9181:        [MACH_HYP] (ldt_init): Register ldt with hypervisor.
                   9182:        * i386/i386/locore.S: Include <i386/xen.h>. Handle KERNEL_RING == 1
                   9183:        case.
                   9184:        [MACH_XEN]: Read hyp_shared_info's CR2 instead of %cr2.
                   9185:        [MACH_PSEUDO_PHYS]: Add mfn_to_pfn computation.
                   9186:        [MACH_HYP]: Drop Cyrix I/O-based detection.  Read cr3 instead of %cr3.
                   9187:        Make hypervisor call for pte invalidation.
                   9188:        * i386/i386/mp_desc.c: Include <mach/xen.h>.
                   9189:        [MACH_HYP] (mp_desc_init): Panic.
                   9190:        * i386/i386/pcb.c: Include <mach/xen.h>.
                   9191:        [MACH_XEN] (switch_ktss): Request stack switch from hypervisor.
                   9192:        [MACH_HYP] (switch_ktss): Request ldt and gdt switch from hypervisor.
                   9193:        * i386/i386/phys.c: Include <mach/xen.h>
                   9194:        [MACH_PSEUDO_PHYS] (kvtophys): Do page translation.
                   9195:        * i386/i386/proc_reg.h [MACH_HYP] (cr3): New declaration.
                   9196:        (set_cr3, get_cr3, set_ts, clear_ts): Implement macros.
                   9197:        * i386/i386/seg.h [MACH_HYP]: Define KERNEL_RING macro.  Include
                   9198:        <mach/xen.h>
                   9199:        [MACH_XEN] (fill_descriptor): Register descriptor with hypervisor.
                   9200:        * i386/i386/spl.S: Include <i386/xen.h> and <i386/i386/asm.h>
                   9201:        [MACH_XEN] (pic_mask): #define to int_mask.
                   9202:        [MACH_XEN] (SETMASK): Implement.
                   9203:        * i386/i386/vm_param.h [MACH_XEN] (HYP_VIRT_START): New macro.
                   9204:        [MACH_XEN]: Set VM_MAX_KERNEL_ADDRESS to HYP_VIRT_START-
                   9205:        LINEAR_MIN_KERNEL_ADDRESS + VM_MIN_KERNEL_ADDRESS.  Increase
                   9206:        KERNEL_STACK_SIZE and INTSTACK_SIZE to 4 pages.
                   9207:        * i386/i386at/conf.c [MACH_HYP]: Remove hardware devices, add hypervisor
                   9208:        console device.
                   9209:        * i386/i386at/cons_conf.c [MACH_HYP]: Add hypervisor console device.
                   9210:        * i386/i386at/model_dep.c: Include <sys/types.h>, <mach/xen.h>.
                   9211:        [MACH_XEN] Include <xen/console.h>, <xen/store.h>, <xen/evt.h>,
                   9212:        <xen/xen.h>.
                   9213:        [MACH_PSEUDO_PHYS]: New boot_info, mfn_list, pfn_list variables.
                   9214:        [MACH_XEN]: New la_shift variable.
                   9215:        [MACH_HYP] (avail_next, mem_size_init): Drop BIOS skipping mecanism.
                   9216:        [MACH_HYP] (machine_init): Call hyp_init(), drop hardware
                   9217:        initialization.
                   9218:        [MACH_HYP] (machine_idle): Call hyp_idle().
                   9219:        [MACH_HYP] (halt_cpu): Call hyp_halt().
                   9220:        [MACH_HYP] (halt_all_cpus): Call hyp_reboot() or hyp_halt().
                   9221:        [MACH_HYP] (i386at_init): Initialize with hypervisor.
                   9222:        [MACH_XEN] (c_boot_entry): Add Xen-specific initialization.
                   9223:        [MACH_HYP] (init_alloc_aligned, pmap_valid_page): Drop zones skipping
                   9224:        mecanism.
                   9225:        * i386/intel/pmap.c: Include <mach/xen.h>.
                   9226:        [MACH_PSEUDO_PHYS] (WRITE_PTE): Do page translation.
                   9227:        [MACH_HYP] (INVALIDATE_TLB): Request invalidation from hypervisor.
                   9228:        [MACH_XEN] (pmap_map_bd, pmap_create, pmap_destroy, pmap_remove_range)
                   9229:        (pmap_page_protect, pmap_protect, pmap_enter, pmap_change_wiring)
                   9230:        (pmap_attribute_clear, pmap_unmap_page_zero, pmap_collect): Request MMU
                   9231:        update from hypervisor.
                   9232:        [MACH_XEN] (pmap_bootstrap): Request pagetable initialization from
                   9233:        hypervisor.
                   9234:        [MACH_XEN] (pmap_set_page_readwrite, pmap_set_page_readonly)
                   9235:        (pmap_set_page_readonly_init, pmap_clear_bootstrap_pagetable)
                   9236:        (pmap_map_mfn): New functions.
                   9237:        * i386/intel/pmap.h [MACH_XEN] (INTEL_PTE_GLOBAL): Disable global page
                   9238:        support.
                   9239:        [MACH_PSEUDO_PHYS] (pte_to_pa): Do page translation.
                   9240:        [MACH_XEN] (pmap_set_page_readwrite, pmap_set_page_readonly)
                   9241:        (pmap_set_page_readonly_init, pmap_clear_bootstrap_pagetable)
                   9242:        (pmap_map_mfn): Declare functions.
                   9243:        * i386/i386/xen.h: New file.
                   9244:        * i386/xen/xen.c: New file.
                   9245:        * i386/xen/xen_boothdr.S: New file.
                   9246:        * i386/xen/xen_locore.S: New file.
                   9247:        * include/mach/xen.h: New file.
                   9248:        * kern/bootstrap.c [MACH_XEN] (boot_info): Declare variable.
                   9249:        [MACH_XEN] (bootstrap_create): Rebase multiboot header.
                   9250:        * kern/debug.c: Include <mach/xen.h>.
                   9251:        [MACH_HYP] (panic): Call hyp_crash() without delay.
                   9252:        * linux/dev/include/asm-i386/segment.h [MACH_HYP] (KERNEL_CS)
                   9253:        (KERNEL_DS): Use ring 1.
                   9254:        * xen/block.c: New file.
                   9255:        * xen/block.h: Likewise.
                   9256:        * xen/console.c: Likewise.
                   9257:        * xen/console.h: Likewise.
                   9258:        * xen/evt.c: Likewise.
                   9259:        * xen/evt.h: Likewise.
                   9260:        * xen/grant.c: Likewise.
                   9261:        * xen/grant.h: Likewise.
                   9262:        * xen/net.c: Likewise.
                   9263:        * xen/net.h: Likewise.
                   9264:        * xen/ring.c: Likewise.
                   9265:        * xen/ring.h: Likewise.
                   9266:        * xen/store.c: Likewise.
                   9267:        * xen/store.h: Likewise.
                   9268:        * xen/time.c: Likewise.
                   9269:        * xen/time.h: Likewise.
                   9270:        * xen/xen.c: Likewise.
                   9271:        * xen/xen.h: Likewise.
                   9272:        * xen/public/COPYING: Import file from Xen.
                   9273:        * xen/public/callback.h: Likewise.
                   9274:        * xen/public/dom0_ops.h: Likewise.
                   9275:        * xen/public/domctl.h: Likewise.
                   9276:        * xen/public/elfnote.h: Likewise.
                   9277:        * xen/public/elfstructs.h: Likewise.
                   9278:        * xen/public/event_channel.h: Likewise.
                   9279:        * xen/public/features.h: Likewise.
                   9280:        * xen/public/grant_table.h: Likewise.
                   9281:        * xen/public/kexec.h: Likewise.
                   9282:        * xen/public/libelf.h: Likewise.
                   9283:        * xen/public/memory.h: Likewise.
                   9284:        * xen/public/nmi.h: Likewise.
                   9285:        * xen/public/physdev.h: Likewise.
                   9286:        * xen/public/platform.h: Likewise.
                   9287:        * xen/public/sched.h: Likewise.
                   9288:        * xen/public/sysctl.h: Likewise.
                   9289:        * xen/public/trace.h: Likewise.
                   9290:        * xen/public/vcpu.h: Likewise.
                   9291:        * xen/public/version.h: Likewise.
                   9292:        * xen/public/xen-compat.h: Likewise.
                   9293:        * xen/public/xen.h: Likewise.
                   9294:        * xen/public/xencomm.h: Likewise.
                   9295:        * xen/public/xenoprof.h: Likewise.
                   9296:        * xen/public/arch-x86/xen-mca.h: Likewise.
                   9297:        * xen/public/arch-x86/xen-x86_32.h: Likewise.
                   9298:        * xen/public/arch-x86/xen-x86_64.h: Likewise.
                   9299:        * xen/public/arch-x86/xen.h: Likewise.
                   9300:        * xen/public/arch-x86_32.h: Likewise.
                   9301:        * xen/public/arch-x86_64.h: Likewise.
                   9302:        * xen/public/io/blkif.h: Likewise.
                   9303:        * xen/public/io/console.h: Likewise.
                   9304:        * xen/public/io/fbif.h: Likewise.
                   9305:        * xen/public/io/fsif.h: Likewise.
                   9306:        * xen/public/io/kbdif.h: Likewise.
                   9307:        * xen/public/io/netif.h: Likewise.
                   9308:        * xen/public/io/pciif.h: Likewise.
                   9309:        * xen/public/io/protocols.h: Likewise.
                   9310:        * xen/public/io/ring.h: Likewise.
                   9311:        * xen/public/io/tpmif.h: Likewise.
                   9312:        * xen/public/io/xenbus.h: Likewise.
                   9313:        * xen/public/io/xs_wire.h: Likewise.
                   9314: 
                   9315: 2009-11-30  Samuel Thibault  <[email protected]>
                   9316: 
                   9317:        Add stack-protector support
                   9318:        * kern/debug.c (__stack_chk_guard): New variable
                   9319:        (__stack_chk_fail): New function.
                   9320: 
                   9321:        Use gcc builtins for stdarg.h when available
                   9322:        * i386/include/mach/sa/stdarg.h [__GNUC__ >= 3] (va_list):
                   9323:        Typedef to __builtin_va_list.
                   9324:        (va_start): define to __builtin_va_start.
                   9325:        (va_end): define to __builtin_va_end.
                   9326:        (va_arg): define to __builtin_va_arg.
                   9327: 
                   9328: 2009-11-28  Samuel Thibault  <[email protected]>
                   9329: 
                   9330:        Fix commit d088a062
                   9331:        * vm/memory_object_proxy.c: New file.
                   9332: 
                   9333: 2009-11-28  Samuel Thibault  <[email protected]>
                   9334: 
                   9335:        Add memory object proxies
                   9336:        Memory object proxies permit to replicate objects with different parameters,
                   9337:        like reduced privileged, different offset, etc.  They are e.g. essential for
                   9338:        properly managing memory access permissions.
                   9339: 
                   9340:        2005-06-06  Marcus Brinkmann  <[email protected]>
                   9341: 
                   9342:        * include/mach/mach4.defs: Add memory_object_create_proxy
                   9343:        interface.
                   9344:        * Makefile.in (vm-cfiles): Add memory_object_proxy.c.
                   9345:        * i386/include/mach/i386/vm_types.h (vm_offset_array_t): New type.
                   9346:        * include/mach/memory_object.h (memory_object_array_t): New type.
                   9347:        * vm/memory_object_proxy.c: New file.
                   9348:        * kern/ipc_kobject.h: New macro IKOT_PAGER_PROXY.  Bump up macros
                   9349:        IKOT_UNKNOWN and IKOT_MAX_TYPE.
                   9350:        * kern/ipc_kobject.c (ipc_kobject_notify): Call
                   9351:        memory_object_proxy_notify for IKOT_PAGER_PROXY.
                   9352:        * vm/vm_init.c (vm_mem_init): Call memory_object_proxy_init.
                   9353:        * vm/vm_user.c (vm_map): Implement support for proxy memory
                   9354:        objects.
                   9355: 
                   9356: 2009-11-28  Samuel Thibault  <[email protected]>
                   9357: 
                   9358:        Add -H option to halt on panic
                   9359:        2005-12-29  Soeren D. Schulze  <[email protected]>
                   9360: 
                   9361:        * i386/i386at/model_dep.c (reboot_on_panic) [!MACH_KBD]: New variable.
                   9362:        (c_boot_entry) [!MACH_KBD]: Set reboot_on_panic to 0 if kernel_cmdline
                   9363:        contains '-H'.
                   9364:        * kern/debug.c (panic): Call halt_all_cpus with reboot_on_panic as
                   9365:        argument.
                   9366: 
                   9367: 2009-11-28  Samuel Thibault  <[email protected]>
                   9368: 
                   9369:        Add sis900 driver
                   9370:        2005-05-01  Andreas B. Mundt  <[email protected]>
                   9371: 
                   9372:        * i386/README-Drivers: Likewise.
                   9373:        * i386/linux/Makefile.in (linux-net-files): Added 'sis900'.
                   9374:        * i386/linux/configure.ac (sis900): New driver.
                   9375:        * linux/dev/drivers/net/Space.c: Add conditional probes 'sis900'
                   9376:        driver.
                   9377:        * linux/src/drivers/net/sis900.c: New file.
                   9378:        * linux/src/drivers/net/sis900.h: Likewise.
                   9379: 
                   9380: 2009-11-28  Samuel Thibault  <[email protected]>
                   9381: 
                   9382:        Add XMM FPU registers save/restore support.
                   9383:        * i386/include/mach/i386/fp_reg.h (struct i386_fp_regs): Invert array
                   9384:        indices.
                   9385:        (struct i386_xfp_save): New structure.
                   9386:        (FP_387X): New macro.
                   9387:        * i386/i386/thread.h (struct i386_fpsave_state): Add xfp_save_state
                   9388:        member, keep existing fp_save_state and fp_regs members in an unnamed
                   9389:        union member.  Move fp_valid member to the end of the structure.
                   9390:        * i386/i386/fpu.h (fxsave, fxrstor): New macros.
                   9391:        (fpu_save_context): Use fxsave() when FPU is FXSR-capable.
                   9392:        * i386/i386/fpu.c: Include <i386/locore.h>
                   9393:        (mxcsr_feature_mask): New variable.
                   9394:        (fp_save, fp_load): Add declaration.
                   9395:        (init_fpu): Add FXSR-capable FPU detection.
                   9396:        (fpu_module_init): Request 16-byte alignment to zinit() for
                   9397:        i386_fpsave_state structures.
                   9398:        (twd_i387_to_fxsr, twd_fxsr_to_i387): New functions.
                   9399:        (fpu_set_state): Convert FPU state when FPU is FXSR-capable.
                   9400:        (fpu_get_state): Convert FPU state when FPU is FXSR-capable.
                   9401:                (fpexterrflt): Pass to i386_exception either xfp_save_state or
                   9402:                fp_save_state according to FPU type.
                   9403:        (fpastintr): Likewise.
                   9404:        (fp_load): Likewise.  Use fxrstor() when FPU is FXSR-capable.
                   9405:        (fp_save): Use fxsave() when FPU is FXSR-capable.
                   9406:        (fp_state_alloc): Add FXSR-aware initialization.
                   9407: 
                   9408:        Fix debugging message
                   9409:        * i386/i386/fpu.c (fphandleerr): Fix debugging message.
                   9410: 
                   9411:        Add native FPU error support
                   9412:        * i386/i386/fpu.c (init_fpu): Enable CR0_NE when processor is at
                   9413:        least i486.
                   9414:        (fpintr): Move code handling the FPU state to...
                   9415:        (fphandleerr): New function.
                   9416:        (fpexterrflt): Rename into...
                   9417:        (fpastintr): New function.
                   9418:        (fpexterrflt): Reintroduce function, calls fphandleerr then
                   9419:        raises exception.
                   9420:        * i386/i386/fpu.h (fpastintr): Add prototype.
                   9421:        * i386/i386/trap.c (i386_astintr): Call fpastintr instead of
                   9422:        fpexterrflt.
                   9423: 
                   9424:        Panic when no FPU is available
                   9425:        * i386/i386/fpu.c (init_fpu): Panic if no FPU is available.
                   9426: 
                   9427:        Initialize FPU in MS-DOS compatibility mode
                   9428:        * i386/i386/fpu.c (init_fpu): Make sure CR0_NE is dropped.
                   9429: 
                   9430: 2009-11-22  Samuel Thibault  <[email protected]>
                   9431: 
                   9432:        Declare memcmp function
                   9433:        * include/string.h (memcmp): New prototype.
                   9434: 
                   9435:        Do not fail if no PTE maps virtual address 0
                   9436:                * i386/intel/pmap.c (pmap_unmap_page_zero): Do not fail if no PTE maps
                   9437:                virtual address 0.
                   9438: 
                   9439:        Remove (vm_offset_t) casts from constants
                   9440:                * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS, VM_MAX_KERNEL_ADDRESS,
                   9441:                LINEAR_MIN_KERNEL_ADDRESS, LINEAR_MAX_KERNEL_ADDRESS): Remove
                   9442:                (vm_offset_t) cast, use UL suffix instead.
                   9443:        * i386/include/mach/i386/vm_param.h (VM_MIN_ADDRESS,
                   9444:        VM_MAX_ADDRESS): Remove (vm_offset_t) cast, use UL suffix instead.
                   9445: 
                   9446:        Really call startrtclock() with an active thread.
                   9447:        * kern/startup.c (cpu_launch_first_thread): Call startrtclock
                   9448:        really after starting at least one thread.
                   9449: 
                   9450:        Add pmap parameter to INVALIDATE_TLB
                   9451:        * i386/intel/pmap.c (INVALIDATE_TLB): Add pmap parameter.
                   9452:        (PMAP_UPDATE_TLBS): Pass pmap parameter.
                   9453:        (process_pmap_updates): Likewise.
                   9454:        (pmap_unmap_page_zero): Use INVALIDATE_TLB instead of hardcoding
                   9455:        it.
                   9456: 
                   9457:        Add phys_first_addr and phys_last_addr declaration
                   9458:        * i386/i386/model_dep.h (phys_first_addr, phys_last_addr): New
                   9459:        declarations.
                   9460:        * i386/i386/trap.c: Include <i386/model_dep.h>
                   9461:        (user_trap): Remove extern declaration of phys_last_addr.
                   9462:        * i386/intel/pmap.c: Include <i386/model_dep.h>
                   9463:        (phys_first_addr, phys_last_addr): Remove extern declaration.
                   9464: 
                   9465:        Use typeof(boot_info)
                   9466:        * i386/i386at/model_dep.c (i386at_init): Use typeof(boot_info)
                   9467:        instead of hardcoding struct multiboot_info*.
                   9468: 
                   9469:        Fix early interrupt crash
                   9470:        * i386/i386at/model_dep.c (i386at_init): Move int_stack_high
                   9471:        assignation to before setting up interrupts.
                   9472: 
                   9473:        Add missing phystokv/kvtophys conversions
                   9474:        * i386/i386/mp_desc.c (interrupt_stack_alloc): Apply phystokv to
                   9475:        stack_start.
                   9476:        * i386/i386at/model_dep.c (i386at_init): Apply phystokv to
                   9477:        memory allocated to duplicate multiboot information.  Apply
                   9478:        _kvtophys before calling set_cr3.  Apply phystokv to
                   9479:        phys_last_addr before assigning to int_stack_high.
                   9480:        * i386/intel/pmap.c (pmap_bootstrap): Apply phystokv to
                   9481:        phys_last_addr, use kernel_virtual_start instead of
                   9482:        phys_last_addr.  Apply phystokv to allocated bootstrap page
                   9483:        table pages.  Apply _kvtophys to page table pointers before
                   9484:        writing into page table.
                   9485:        (pmap_enter): Apply phystokv to allocated page table page, apply
                   9486:        kvtophys to deallocated page table page.
                   9487: 
                   9488:        Show command lines in task list
                   9489:        * Makefile.am (clib_routines): Add memcmp.
                   9490:        * i386/i386/db_machdep.h (DB_GNUMACH_TASK_NAME): New macro.
                   9491:        * i386/i386/db_interface.c (GNU): New macro.
                   9492:        [GNU] (looks_like_command): New function.
                   9493:        (db_task_name): When task map is kernel_pmap, return
                   9494:        DB_GNUMACH_TASK_NAME.
                   9495:        [GNU] (db_task_name): Use a GNU/Hurd-specific heuristic to get
                   9496:        argv[] of a task.
                   9497: 
                   9498:        Replace phys_mem_va with VM_MIN_KERNEL_ADDRESS
                   9499:        * i386/i386/vm_param.h (phystokv): Use VM_MIN_KERNEL_ADDRESS
                   9500:        instead of phys_mem_va.
                   9501:        (_kvtophys): New macro.
                   9502:        * i386/i386at/model_dep.c (phys_mem_va): Remove variable.
                   9503: 
                   9504:        Avoid confusion between global and local ldt vars
                   9505:        * i386/i386/pcb.c (switch_ktss): Rename ldt variable into tldt.
                   9506: 
                   9507:        Do not assume that VM_MIN_KERNEL_ADDRESS is 0
                   9508:        * i386/i386/vm_param.h (VM_MAX_KERNEL_ADDRESS): Add
                   9509:        VM_MIN_KERNEL_ADDRESS.
                   9510:        (kvtolin): Subtract VM_MIN_KERNEL_ADDRESS.
                   9511:        (lintokv): Add VM_MIN_KERNEL_ADDRESS.
                   9512:        * i386/i386at/model_dep.c (mem_size_init): Subtract
                   9513:        VM_MIN_KERNEL_ADDRESS in computation of phys_last_addr.
                   9514:        (i386at_init): Use VM_MIN_KERNEL_ADDRESS instead of 0 as
                   9515:        argument of lin2pdenum.
                   9516: 
                   9517:        Rewamp spl.h
                   9518:        * i386/i386/spl.h (splnet, splbio, spl7, splx_cli): Add
                   9519:        prototypes.
                   9520: 
                   9521:        Do not assume that VM_MIN_KERNEL_ADDRESS is 0
                   9522:        * i386/i386/gdt.c (gdt_init): Subtract VM_MIN_KERNEL_ADDRESS
                   9523:        from LINEAR_MIN_KERNEL_ADDRESS to avoid assuming the former
                   9524:        being 0.
                   9525: 
                   9526:        Fix db_search_null loop
                   9527:        * i386/i386/db_interface.c (db_search_null): Do not decrease
                   9528:        vaddr twice.
                   9529: 
                   9530:        Introduce KERNEL_RING
                   9531:        * i386/i386/seg.h (KERNEL_RING): New macro, set to 0.
                   9532:                (ACC_PL_K, SEL_PL_K): Use KERNEL_RING instead of assuming 0.
                   9533:                * i386/i386/gdt.h (KERNEL_CS, KERNEL_DS): Likewise.
                   9534:                * i386/i386/db_interface.c (kdb_trap, kdb_kentry): Likewise.
                   9535:                * i386/i386/kttd_interface.c (kttd_trap, kttd_netentry): Likewise.
                   9536:        * i386/i386/i386asm.sym: Add KERNEL_RING expression.
                   9537: 
                   9538:        Rename kd_atoi into mach_atoi
                   9539:        * i386/i386at/kd.c: Include <util/atoi.h>
                   9540:        (DEFAULT): Remove, replaced by MACH_ATOI_DEFAULT.
                   9541:                (kd_parserest): Use mach_atoi instead of kd_atoi and MACH_ATOI_DEFAULT
                   9542:                instead of DEFAULT.
                   9543:        (kd_atoi): Move and rename function to...
                   9544:        * util/atoi.c: ... mach_atoi in new file.
                   9545:        * i386/i386at/kd.h (kd_atoi): Move and rename declaration to...
                   9546:        * util/atoi.h: ... mach_atoi in new file.
                   9547:        * Makefrag.am (libkernel_a_SOURCES): Add util/atoi.c
                   9548: 
                   9549: 2009-11-16  Guillem Jover  <[email protected]>
                   9550: 
                   9551:        Update dependency patch for Automake 1.10.2, 1.11, and thereabouts.
                   9552:        * config.status.dep.patch: Refresh.
                   9553: 
                   9554: 2009-11-11  Zheng Da  <[email protected]>
                   9555: 
                   9556:        Fix a bug in vm_page_grab_contiguous_pages.
                   9557:        * vm/vm_resident.c (vm_page_grab_contiguous_pages): Maintain the free vm page queue correctly.
                   9558: 
                   9559: 2009-11-01  Samuel Thibault  <[email protected]>
                   9560: 
                   9561:        Show EATA probing progression
                   9562:        * linux/src/drivers/scsi/eata.c (port_detect): Print the port being
                   9563:        probed.
                   9564: 
                   9565: 2009-10-26  Samuel Thibault  <[email protected]>
                   9566: 
                   9567:        Fix VM_MAX_ADDRESS default
                   9568:        * i386/include/mach/i386/vm_param.h (VM_MAX_ADDRESS): Set back to 0xc0000000 by
                   9569:        default.
                   9570: 
                   9571:        Make tuning VM_MAX_ADDRESS trivial
                   9572:        * i386/i386/vm_param.h (LINEAR_MIN_KERNEL_ADDRESS): Set to
                   9573:        VM_MAX_ADDRESS instead of hardcoding to 0xc0000000.
                   9574:        (VM_MAX_KERNEL_ADDRESS): Set to LINEAR_MAX_KERNEL_ADDRESS -
                   9575:        LINEAR_MIN_KERNEL_ADDRESS instead of hardcoding to 0x40000000.
                   9576:        * i386/include/mach/i386/vm_param.h: Document how it may be tuned.
                   9577: 
                   9578:        Fix build
                   9579:        * i386/i386at/com.h (comtimer): Fix prototype of comtimer.
                   9580: 
                   9581: 2009-10-25  Samuel Thibault  <[email protected]>
                   9582: 
                   9583:        Fix warning
                   9584:        * i386/i386at/autoconf.c: Include <i386/pic.h> even when [!LINUX_DEV].
                   9585: 
                   9586:        Fix warning
                   9587:        * i386/i386/trap.h: Include <mach/mach_types.h>
                   9588: 
                   9589:        Fix warning
                   9590:        * i386/i386/pcb.c (thread_setstatus): Comment out state variable
                   9591:        declaration.
                   9592: 
                   9593:        Fix warning
                   9594:        * device/net_io.c (net_set_filter): Cast filter into bpf_insn_t for
                   9595:        bpf_eq call.
                   9596: 
                   9597:        Fix warning
                   9598:        * i386/i386/locore.S (TIME_INT_ENTRY): Fix comment.
                   9599: 
                   9600:        Fix warning
                   9601:        * i386/intel/pmap.c (i): Declare only when [NCPUS > 1].
                   9602: 
                   9603: 2009-10-20  Samuel Thibault  <[email protected]>
                   9604: 
                   9605:        Fix warnings
                   9606:        * devices/io_reqs.h (io_req): Set type of io_alloc_size field to
                   9607:        vm_size_t.
                   9608:        * device/ds_routines.c (device_write_dealloc): Remove cast of
                   9609:        io_alloc_size field.
                   9610:        * device/subrs.c (brelse): Likewise.
                   9611: 
                   9612:        Fix warnings
                   9613:        * device/chario.c (ttypush): Set parameter type to void * instead of
                   9614:        struct tty *, and implicitly cast the former into the latter instead.
                   9615:        * i386/i386at/com.c: Include <kern/mach_clock.h>.
                   9616:        (timeout, ttrstrt): Remove declarations.
                   9617:        (comtimer): Add unused void * parameter.
                   9618:        (comopen): Pass NULL to comtimer function.
                   9619:        * i386/i386at/kd.h (kd_belloff): Add unused void * parameter.
                   9620:        * i386/i386at/kd.c (timeout): Remove declaration.
                   9621:        (kd_belloff): Add unused void * parameter.
                   9622:        (feep, kdsetbell): Pass NULL to kd_belloff function.
                   9623:        * i386/i386at/lpr.c: Include <mach_clock.h>.
                   9624:        (timeout, ttrstrt): Remove declarations.
                   9625:        * kern/mach_clock.c (softclock, timeout, untimeout): Set parameter
                   9626:        type of fcn function pointer to void * instead of char *. Set type
                   9627:        of param to void * instead of char *.
                   9628:        * kern/mach_clock.h (timer_elt): Set parameter type of fcn member
                   9629:        to void * instead of char *. Set time of param member to void * instead
                   9630:        of char *.
                   9631:        (timeout): Set parameter type of fcn function pointer parameter to void
                   9632:        * instead of char *.
                   9633:        (untimeout): Likewise, set type of param parameter to void * instead of
                   9634:        char *.
                   9635:        * kern/sched_prim.c (sched_init): Remove cast of recompute_priorities.
                   9636:        Replace (char *)0 with NULL.
                   9637:        (thread_timeout): Set parameter type to void * instead of thread_t, and
                   9638:        implicitly cast the former into the latter instead.
                   9639:        (thread_timeout_setup): Remove cast of thread_timeout, cast
                   9640:        thread_depress_timeout into (void (*) (void*)). Remove cast of thread.
                   9641:        (thread_recompute_priorities): Add unused void * parameter.
                   9642: 
                   9643:        Fix warnings
                   9644:        * device/tty.h (tty): Set type of t_ispeed and t_ospeed members to
                   9645:        unsigned char instead of (potentially signed) char.
                   9646: 
                   9647:        Fix warnings
                   9648:        * vm/vm_resident.c (vm_page_grab_contiguous_pages): Remove unused
                   9649:        count_zeroes and not_found_em labels.
                   9650: 
                   9651:        Fix warning
                   9652:        * vm/vm_pageout.c (vm_pageout_scan): Remove unused Restart label.
                   9653: 
                   9654:        Fix warning
                   9655:        * vm/vm_map.c (vm_map_lookup): Add braces to fix readability.
                   9656: 
                   9657:        Fix warning
                   9658:        * kern/thread.c (_s_): Remove unused variable.
                   9659: 
                   9660:        Fix warnings
                   9661:        * kern/bootstrap.c (task_insert_send_right): Remove spurious cast of
                   9662:        port into ipc_object_t.
                   9663:        (load_protect_text, load_fault_in_text, boot_map,
                   9664:        load_bootstrap_symbols): Comment out unused variables and function.
                   9665:        (read_exec): Comment out unused user_map variable.
                   9666: 
                   9667:        Fix boot from grub2 with more than 800MiB memory
                   9668:        * i386/i386at/model_dep.c (init_alloc_aligned): Add declaration.
                   9669:        (i386at_init): Use init_alloc_aligned to allocate memory to save the
                   9670:        content pointed by boot_info: cmdline, mods_addr, mod_start, and string.
                   9671:        Set kernel_cmdline to the newly allocated string.
                   9672:        (c_boot_entry): Do not set kernel_cmdline.
                   9673: 
                   9674:        Better estimate avail_remaining
                   9675:        * i386/i386at/model_dep.c (mem_size_init): Move avail_remaining computation to
                   9676:        after all phys_last_addr corrections.
                   9677: 
                   9678: 2009-10-18  Samuel Thibault  <[email protected]>
                   9679: 
                   9680:        Revert "Fix multiboot compliancy concerning x86 D flag"
                   9681:        This reverts commit de00e82b8c4491a4ff3320c0ddd80ac91ed0977b.
                   9682: 
                   9683:        Flags already get cleared using push/pop a few instructions later.
                   9684: 
                   9685: 2009-10-17  Samuel Thibault  <[email protected]>
                   9686: 
                   9687:        Fix multiboot compliancy concerning x86 D flag
                   9688:        i386/i386at/boothdr.S (boot_entry): Clear D flag.
                   9689: 
                   9690: 2009-10-14  Samuel Thibault  <[email protected]>
                   9691: 
                   9692:        Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
                   9693: 
                   9694:        Update constants to nowadays standards
                   9695:        kern/zalloc.c (zone_map_size): Increase to 64MiB.
                   9696:        i386/i386at/model_dep.c (mem_size_init): Reduce cap to 1/6 of memory
                   9697:        space to save room for zalloc area.
                   9698:        linux/src/drivers/block/ide.h (INITIAL_MULT_COUNT): Set to 16.
                   9699:        vm/vm_map.h (VM_MAP_COPY_PAGE_LIST_MAX): Set to 64.
                   9700:        vm/vm_object.c (vm_object_cached_max): Set to 4000.
                   9701: 
                   9702: 2009-10-14  Thomas Schwinge  <[email protected]>
                   9703: 
                   9704:        Merge branch 'master-zhengda'
                   9705: 
                   9706: 2009-10-14  Zheng Da  <[email protected]>
                   9707: 
                   9708:        Apply patch #6851: fix a bug in BPF * net_io.c (net_filter): Correct the amount of data of a packet accepted by BPF.
                   9709: 
                   9710: 2009-10-14  Samuel Thibault  <[email protected]>
                   9711: 
                   9712:        Fix yet more allocation failures during gc
                   9713:        kern/zalloc.c (zone_gc): Allocate and free two vm_map_kentry_zone elements to
                   9714:        make sure the gc will be able to allocate two in vm_map_delete.
                   9715: 
                   9716:        Revert spurious part of 909c941d
                   9717: 
                   9718:        Fix db kernel memory access
                   9719:        i386/i386/db_interface.c (db_read_bytes): Also check addr against
                   9720:        VM_MAX_KERNEL_ADDRESS.
                   9721: 
                   9722:        Fix macro escapes
                   9723:        i386/intel/pmap.c (INVALIDATE_TLB): Fix macro escapes
                   9724: 
                   9725:        Fix allocation failure during gc
                   9726:        kern/zalloc.c (zone_gc): Allocate and free a vm_map_kentry_zone element to make
                   9727:        sure the gc will be able to allocate one for vm_map_delete.
                   9728: 
                   9729:        More restrictive requirements on zone alignment
                   9730:        kern/zalloc.c (zinit): Panic if requested alignment doesn't match page
                   9731:        size and list elements.
                   9732: 
                   9733:        Fix return with lock held
                   9734:        vm/vm_map.c (vm_map_copy_overwrite): Unlock dst_map before returning.
                   9735: 
                   9736:        Fix return with lock held
                   9737:        vm/vm_map.c (vm_map_enter): Use RETURN instead of return to unlock the
                   9738:        map before returning.
                   9739: 
                   9740:        Make local variable static
                   9741:        kern/lock.c (lock_wait_time): Add static qualifier.
                   9742: 
                   9743:        Advertise memory size truncations
                   9744:        i386/i386at/model_dep.c (mem_size_init): Advertise memory size
                   9745:        truncations.
                   9746: 
                   9747: 2009-09-27  Samuel Thibault  <[email protected]>
                   9748: 
                   9749:        Disable CMD-640 support
                   9750:        It messes too much with probing and brings hang issue.
                   9751: 
                   9752:        * i386/linux/dev/include/linux/autoconf.h
                   9753:        (CONFIG_BLK_DEV_CMD640, CONFIG_BLK_DEV_CMD640_ENHANCED):
                   9754:        Undefine macros.
                   9755: 
                   9756: 2009-07-11  Thomas Schwinge  <[email protected]>
                   9757: 
                   9758:        Switch to the new ChangeLog style.
                   9759:        * ChangeLog: Wipe out content, and add instructions about how to get it back.
                   9760:        * ChangeLog.0: Remove file.
                   9761:        * ChangeLog.00: Likewise.
                   9762: 
                   9763: 2009-02-26  Samuel Thibault  <[email protected]>
                   9764: 
                   9765:        * i386/i386/prog_reg.h (invlpg_linear): Rename macro into...
                   9766:        (invlpg_linear_range): ... this.
                   9767:        (invlpg_linear): New macro.
                   9768:        * i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_linear instead
                   9769:        of flush_tlb when e - S is compile-time known to be PAGE_SIZE,
                   9770:        instead of run-time known to be less than 32 * PAGE_SIZE.
                   9771: 
                   9772: 2009-01-05  Samuel Thibault  <[email protected]>
                   9773: 
                   9774:        * i386/i386/gdt.h (LINEAR_DS): New macro.
                   9775:        * i386/i386/gdt.c (gdt_init): Initialize LINEAR_DS descriptor.
                   9776:        * i386/i386/proc_reg.h (invlpg_user): Rename macro into...
                   9777:        (invlpg_linear): ... this.  Use movw instead of movl to set KERNEL_DS
                   9778:        selector.  Use LINEAR_DS selector instead of USER_DS selector.
                   9779:        * i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_linear instead of
                   9780:        invlpg_user.  For now, disable use of invlpg.
                   9781: 
                   9782: 2008-12-30  Samuel Thibault  <[email protected]>
                   9783: 
                   9784:        * i386/i386/proc_reg.h [__ASSEMBLER__ && __GNUC__]: Include
                   9785:        <i386/gdt.h> and <i386/ldt.h>
                   9786:        (invlpg_user): New macro.
                   9787:        * i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_user instead
                   9788:        of invlpg.
                   9789:        (pmap_remove, pmap_page_protect, pmap_protect, pmap_enter,
                   9790:        pmap_collect, phys_attribute_clear): Call PMAP_UPDATE_TLBS
                   9791:        after pde update instead of before.
                   9792: 
                   9793: 2008-12-29  Samuel Thibault  <[email protected]>
                   9794: 
                   9795:        * i386/intel/pmap.c (pmap_bootstrap): Extend kernel virtual memory to
                   9796:        at least the size of the physical memory.
                   9797: 
                   9798: 2008-12-05  Samuel Thibault  <[email protected]>
                   9799: 
                   9800:        * vm/vm_fault.c (vm_fault_page): Print value returned
                   9801:        memory_object_data_request as %x instead of %d.
                   9802: 
                   9803: 2008-11-15  Shakthi Kannan  <[email protected]>
                   9804: 
                   9805:        * device/ds_routines.h (device_reference, device_deallocate): Add
                   9806:        function prototypes.
                   9807:        * kern/task.c (task_create): Moved unused i variable inside FAST_TAS.  
                   9808:        * vm/vm_map.h (vm_map_copy_page_discard): Add function prototype.
                   9809:        * vm/vm_kern.c (projected_buffer_deallocate): Give &map->hdr
                   9810:        instead of map to _vm_map_clip_start and _vm_map_clip_end functions.
                   9811: 
                   9812: 2008-12-01  Samuel Thibault  <[email protected]>
                   9813: 
                   9814:        * device/device_emul.h (device_emulation_ops): Turn back reference,
                   9815:        dealloc, dev_to_port, write_trap and writev_trap into taking a void*,
                   9816:        as they do not always take a mach_device_t.
                   9817:        * device/ds_routines.c (mach_device_emulation_ops): Cast
                   9818:        mach_device_reference, mach_device_deallocate,
                   9819:        mach_convert_device_to_port, device_write_trap and device_writev_trap
                   9820:        to (void*) to make them accept a void* argument.
                   9821:        * linux/pcmcia-cs/glue/ds.c (device_deallocate): Rename function
                   9822:        into...
                   9823:        (ds_device_deallocate): ... this.
                   9824:        (dev_to_port): Call ds_device_deallocate instead of device_deallocate.
                   9825:        (linux_pcmcia_emulation_ops): Use ds_device_deallocate instead of
                   9826:        device_deallocate, cast mach_device_reference to (void*) to make it
                   9827:        accept a void* argument.
                   9828: 
                   9829: 2008-11-28  Thomas Schwinge  <[email protected]>
                   9830: 
                   9831:        * doc/Makefrag.am: Only advertize updating the web pages on
                   9832:        gnumach-1-branch.
                   9833: 
                   9834: 2008-11-27  Samuel Thibault  <[email protected]>
                   9835: 
                   9836:        * i386/i386/proc_reg.h (invlpg): New macro.
                   9837:        * i386/intel/pmap.c (INVALIDATE_TLB): If portion to be flushed is less
                   9838:        than 32 pages, use calls to invlpg instead of flush_tlb.
                   9839: 
                   9840: 2008-11-23  Samuel Thibault  <[email protected]>
                   9841: 
                   9842:        * i386/i386/proc_reg.h (get_cr0, get_cr2, get_cr3, get_cr4, get_tr,
                   9843:        get_ldt): Add volatile qualifier to asm statement to prevent gcc from
                   9844:        optimizing it away since there seems to be no way to clobber these
                   9845:        properly in the set_* macros.
                   9846: 
                   9847: 2008-11-17  Thomas Schwinge  <[email protected]>
                   9848: 
                   9849:        * Makefile.am (install_sh, INSTALL): Point to `build-aux/install-sh'.
                   9850:        Make use of its `-C' option.
                   9851: 
                   9852:        * configure.ac: Require GNU Automake 1.10.1.
                   9853:        * Makefile.am: Adapt.
                   9854:        * Makefile.correct_output_files_for_.S_files.patch: Remove.
                   9855: 
                   9856: 2008-07-19  Barry deFreese  <[email protected]>
                   9857: 
                   9858:        * device/device_emul.h (struct device_emulation_ops): Make members
                   9859:        reference, dealloc, dev_to_port, write_trap, and writev_trap take
                   9860:        mach_device_t parameter instead of void *.
                   9861:        * i386/i386at/autoconf.c: Make forward declarations for comintr()
                   9862:        and lprintr() match prototype. Add brackets around initialization
                   9863:        members for bus_ctlr and bus_device structs.
                   9864:        * i386/i386at/conf.c (dev_name_list): Pass nomap instead of nulldev
                   9865:        for map field.
                   9866:        * i386/i386at/pic_isa.c (intnull, fpintr, hardclock, kdintr,
                   9867:        prtnull): Declare the type of the value returned by functions to void.
                   9868: 
                   9869: 2008-11-13  Thomas Schwinge  <[email protected]>
                   9870: 
                   9871:        [task #8135 -- PAE for GNU Mach]
                   9872:        * i386/configfrag.ac (enable_pae): Add checks: this is ix86-only.
                   9873:        * doc/mach.texi (Configuration): Document the new option.
                   9874: 
                   9875: 2008-11-11  Shakthi Kannan  <[email protected]>
                   9876: 
                   9877:        * kern/eventcount.c (evc_wait_clear): Remove unused variable 'ret'.
                   9878: 
                   9879: 2008-11-10  Samuel Thibault  <[email protected]>
                   9880: 
                   9881:        [task #8135 -- PAE for GNU Mach]
                   9882:        * i386/configfrag.ac: Add --enable-pae option, which defines PAE.
                   9883:        * i386/i386/i386asm.sym (PDPSHIFT, PDEMASK, PTE_SIZE): New assembly
                   9884:        macros.
                   9885:        * i386/i386/locore.S (copyout_retry) [PAE]: Use page directory pointer
                   9886:        bits, take PTE_SIZE into account.
                   9887:        * i386/i386at/model_dep.c (i386at_init) [PAE]: Set second initial 2MB
                   9888:        page.  Enable PAE bit.  Set cr3 to page directory pointer table instead
                   9889:        of page directory.
                   9890:        * i386/intel/pmap.c (pmap_bootstrap, pmap_create) [PAE]: Allocate 4
                   9891:        pages for dirbase.  Setup pdpbase.
                   9892:        (pmap_destroy) [PAE]: Free 4 pages from dirbase.  Free pdpbase.
                   9893:        * i386/intel/pmap.h (pt_entry_t) [PAE]: Typedef to unsigned long long.
                   9894:        (PDPSHIFT, PDPNUM, PDPMASK) [PAE]: New macros.
                   9895:        (PDESHIFT, PDEMASK, PTEMASK) [PAE]: Set to PAE values.
                   9896:        (lin2pdenum, NPDES) [PAE]: Make them take the page directory pointer
                   9897:        index into account too.
                   9898:        (struct pmap) [PAE]: Add `pdpbase' member.
                   9899:        (set_dirbase): Remove macro, replaced by...
                   9900:        (set_pmap): New macro, taking a pmap instead of the dirbase.
                   9901:        (PMAP_ACTIVATE_USER): Use set_pmap instead of set_dirbase.
                   9902: 
                   9903: 2008-11-05  Shakthi Kannan  <[email protected]>
                   9904: 
                   9905:        * ipc/mach_port.c (mach_port_insert_right): Cast poly into
                   9906:        (ipc_object_t) to fix compiler warning when calling
                   9907:        ipc_object_copyout_name.
                   9908: 
                   9909: 2008-08-31  Samuel Thibault  <[email protected]>
                   9910: 
                   9911:        * i386/i386/trap.c (user_trap): On page fault, raise exception instead
                   9912:        of asserting that cr2 is below LINEAR_MIN_KERNEL_ADDRESS.
                   9913: 
                   9914: 2008-07-29  Zheng Da  <[email protected]>
                   9915:             Manuel Menal <[email protected]>
                   9916: 
                   9917:        * include/device/net_status.h (NET_FLAGS): New macro.
                   9918:        * linux/dev/glue/net.c (device_get_status): Handle NET_FLAGS case.
                   9919:        (device_set_status): Likewise, calls dev_change_flags.
                   9920:        * linux/dev/include/linux/netdevice.h (dev_change_flags): Declare
                   9921:        function.
                   9922:        * linux/dev/net/core/dev.c (dev_change_flags): Add function.
                   9923: 
                   9924: 2008-08-03  Samuel Thibault  <[email protected]>
                   9925: 
                   9926:        * i386/i386/lock.h (_simple_lock_xchg_, bit_lock, bit_unlock): Add
                   9927:        memory clobbers.
                   9928:        * i386/include/mach/i386/cthreads.h (spin_unlock, spin_try_lock): Add
                   9929:        memory clobbers.
                   9930: 
                   9931: 2008-07-23  Barry deFreese  <[email protected]>
                   9932: 
                   9933:        * device/chario.c (ttyinput_many): Change chars param to char *.
                   9934:        * device/tty.h (ttyinput_many): Likewise.
                   9935:        * i386/i386/pcb.h: Include <mach/exec/exec.h>.
                   9936:        * i386/i386at/autoconf.h: Include <chips/busses.h>.
                   9937:        * i386/i386at/model_dep.c (inittodr): Cast &new_time.seconds to u_int *.
                   9938:        * ipc/mach_port.c (mach_port_insert_right): Cast poly to ipc_object_t.
                   9939:        * ipc/mach_debug.c (host_ipc_hash_info): Initialize size to 0 to make
                   9940:        the compiler believe that there is no bug.
                   9941:        * ipc/mach_debug.c (mach_port_space_info): Likewise for tree_size and 
                   9942:        table_size.
                   9943:        * i386/i386at/com.c (commctl): Likewise for b.
                   9944:        * i386/i386/trap.c (user_trap): Likewise for exc.
                   9945:        * i386/i386/user_ldt.c (i386_set_ldt): Likewise for old_copy_object.
                   9946:        * i386/i386at/com.c (comintr): Check line_stat&iOR instead of line&iOR.
                   9947: 
                   9948: 2008-07-23  Barry deFreese  <[email protected]>
                   9949: 
                   9950:        * i386/i386/locore.h (copyinmsg, copyoutmsg): 
                   9951:        Make parameters const void* and void* instead of vm_offset_t.
                   9952:        * i386/i386at/com.c (comportdeath): Cast port as ipc_port_t in 
                   9953:        tty_portdeath call.
                   9954:        * i386/i386at/kd.c (kdportdeath): Likewise.
                   9955:        * i386/i386at/lpr.c (lprportdeath): Likewise.
                   9956:        * i386/i386at/kd_mouse.c (mouse_handle_byte): Cast param to wakeup() as 
                   9957:        vm_offset_t.
                   9958:        * i386/intel/pmap.c (pmap_destroy): Cast arg 2 of kmem_free() to 
                   9959:        vm_offset_t.
                   9960:        * i386/intel/pmap.h: Cast all arg 1 params to kvtophy() to vm_offset_t.
                   9961:        * ipc/ipc_kmsg.c: Remove casts from params to copyinmsg and 
                   9962:        copyoutmsg calls.
                   9963:        * ipc/mach_msg.c: Likewise.
                   9964:        * kern/exceptions.c: Likewise.
                   9965:        * ipc/mach_msg.c: Remove casts from params to copyout calls.
                   9966:        * ipc/bootstrap.c: Likewise.
                   9967:        * kern/ipc_tt.c (mach_ports_register): Cast memory[i] as ipc_port_t in 
                   9968:        assignment.
                   9969: 
                   9970: 2008-07-19  Barry deFreese  <[email protected]>
                   9971: 
                   9972:        * chips/busses.h (bus_ctlr, bus_device): Make intr return void instead
                   9973:        of int.
                   9974:        * device/tty.h (tty): Make t_start and t_stop return void instead of
                   9975:        int.
                   9976:        * i386/i386/ipl.h (ivect[]): return void instead of int.
                   9977:        * i386/i386at/pic_isa.h (ivect[]): Likewise.
                   9978:        * i386/i386at/kd_mouse.c (mouseintr): Likewise.
                   9979:        * i386/i386at/com.c (comintr, comstop): Likewise.
                   9980:        * i386/i386at/kd.c (kdcnputc, kdstart, kdstop, kdintr): Likewise.
                   9981:        * i386/i386/trap.c (exception, thread_exception_return, i386_exception):
                   9982:         Add __attribute__ ((noreturn)).
                   9983:        * i386/i386at/kd.c (kdcnprobe): Return 0 at end of function.
                   9984:        * i386/i386at/lpr.c (lprintr, lprstart): Return void instead of int.
                   9985:        (lprstart): Don't return numeric values any longer.
                   9986:        * kern/eventcount.c (evc_wait_clear): Return a value.
                   9987:        * kern/exceptions.c (exception, exception_try_task, exception_no_server, 
                   9988:        exception_raise, exception_raise_continue, exception_raise_continue_slow, 
                   9989:        exception_raise_continue_fast): Add __attribute__ ((noreturn)).
                   9990:        (exception, exceptio_try_task, exception_raise, 
                   9991:        exception_raise_continue_slow, exception_raise_continue_fast): 
                   9992:        Remove spurious returns.
                   9993:        (exception_no_server): Add panic() on return from thread_halt_self().
                   9994: 
                   9995: 2008-07-20  Samuel Thibault  <[email protected]>
                   9996: 
                   9997:        * linux/pcmcia-cs/glue/wireless_glue.h (schedule_task): Add parameter
                   9998:        to Debugger() call.
                   9999:        * kern/lock_mon.c (retry_simple_lock, retry_bit_lock): Likewise.
                   10000:        * kern/machine.c (Debugger): Remove declaration.
                   10001:        * device/net_io.c (net_deliver): Fix parenthesis to really round up.
                   10002:        * kern/mach_clock.c (timeout): Make the `fcn' parameter take a void *
                   10003:        instead of char *.
                   10004:        * kern/mach_clock.h (timeout): Likewise.
                   10005:        * device/net_io.c (net_set_filter): Reference the proper member
                   10006:        instead of casting pointers.
                   10007:        * device/subrs.c (ether_sprintf): Set type of `i' to `int'.
                   10008:        * i386/i386/trap.c (kernel_trap): Pass page fault address to printf.
                   10009:        * i386/i386at/rtc.c (rtcget): Fix parenthesis to really test the bit.
                   10010:        * linux/src/include/linux/tqueue.h (queue_task_irq,
                   10011:        queue_task_irq_off, queue_task, run_task_queue): Turn into static
                   10012:        inlines.
                   10013: 
                   10014: 2008-07-19  Barry deFreese  <[email protected]>
                   10015: 
                   10016:        * device/dev_hdr.h (dev_name_lookup, dev_set_indirection): Add
                   10017:        prototypes.
                   10018:        * device/dev_pager.c: Include <vm/vm_user.h>.
                   10019:        * device/ds_routines.c: Likewise.
                   10020:        * device/subrs.c: Likewise.
                   10021:        * device/device_init.c: Include <device/tty.h>.
                   10022:        * device/ds_routines.h (iowait): Add prototype.
                   10023:        * device/net_io.h (net_kmsg_collect): Add prototype.
                   10024:        * device/net_io.c (hash_ent_remove, net_free_dead_infp,
                   10025:        net_free_dead_entp, bpf_validate, bpf_eq, net_add_q_info,
                   10026:        bpf_match): Add forward declarations.
                   10027:        * device/subrs.h: New header.
                   10028:        * i386/i386/fpu.h: Include <sys/types.h>.
                   10029:        Change <i386/thread.h> include to <kern/thread.h>.
                   10030:        (fp_save, fp_load, fp_free, fpu_module_init, fpu_set_state, 
                   10031:        fpu_get_state, fpnoextflt, fpextovrflt, fpexterrflt, init_fpu):
                   10032:        Add prototypes.
                   10033:        * i386/i386/gdt.h (gdt_init): Add prototype.
                   10034:        * i386/i386/io_map.c: Include <vm/pmap.h>.
                   10035:        * vm/vm_kern.c: Likewise.
                   10036:        * i386/i386/ktss.h (ktss_init): Add prototype.
                   10037:        * i386/i386/ldt.h (ldt_init): Add prototype.
                   10038:        * i386/i386/loose_ends.h: New header.
                   10039:        * i386/i386/loose_ends.c (delay): Complete prototype.
                   10040:        * i386/i386/model_dep.h (startrtclock): Add prototype.
                   10041:        * i386/i386/pcb.h (load_context, stack_attach, stack_detach, 
                   10042:        switch_ktss): Add prototypes.
                   10043:        * i386/i386/pic.h (form_pic_mask, picinit): Add prototypes.
                   10044:        * i386/i386/pit.c: Include <i386/pic.h>.
                   10045:        * i386/i386at/kd_mouse.c: Likewise.
                   10046:        * i386/i386/pit.h (clkstart): Add prototype.
                   10047:        * i386/i386/trap.c: Include <i386/fpu.h>, <intel/read_fault.h>,
                   10048:        <vm/vm_fault.h>.
                   10049:        * i386/i386/trap.h (interrupted_pc): Add prototype.
                   10050:        * i386/i386/user_ldt.c: Include <i386/pcb.h>.
                   10051:        * i386/i386at/autoconf.h: New header.
                   10052:        * i386/i386at/com.h: New header.
                   10053:        * i386/i386at/com.c: Include <i386at/autoconf.h>, <i386at/com.h>.
                   10054:        * i386/i386at/idt.h (idt_init): Add prototype.
                   10055:        * i386/i386at/int_init.h: New header.
                   10056:        * i386/i386at/kd.c: Include <i386/loose_ends.h>.
                   10057:        * kern/debug.c: Likewise.
                   10058:        * i386/i386at/kd_event.c: Include <device/ds_routines.h>.
                   10059:        * i386/i386at/kd_mouse.c: Likewise.
                   10060:        * i386/i386at/kd_mouse.c: Include <device/subrs.h>, <i386at/com.h>.
                   10061:        * i386/i386at/lpr.c: Include <i386at/autoconf.h>
                   10062:        * i386/i386at/model_dep.c: Include: <i386/fpu.h>, <i386/gdt.h>, 
                   10063:        <i386/ktss.h>, <i386/ldt.h>, <i386/pic.h>, <i386/pit.h>, 
                   10064:        <i386at/autoconf.h>, <i386at/idt.h>, <i386at/int_init.h>, 
                   10065:        <i386at/kd.h>, <i386at/rtc.h>.
                   10066:        * i386/i386at/rtc.h (readtodc, writetodc): Add prototypes.
                   10067:        * i386/intel/pmap.h: Include <mach/vm_prot.h>.
                   10068:        (pmap_bootstrap, pmap_unmap_page_zero, pmap_zero_page, pmap_copy_page,
                   10069:        kvtophys): Add prototypes.
                   10070:        * i386/intel/read_fault.h: New header.
                   10071:        * kern/ast.h (ast_init, ast_check): Add prototypes.
                   10072:        * kern/debug.c (Debugger): Move prototype to...
                   10073:        * kern/debug.h (Debugger): ... here.
                   10074:        * kern/eventcount.h (evc_notify_abort): Add prototype.
                   10075:        * kern/ipc_mig.c: Include <kern/syscall_subr.h>, <kern/ipc_tt.h>, 
                   10076:        <device/ds_routines.h>
                   10077:        * kern/ipc_mig.h: New header.
                   10078:        * kern/ipc_tt.h (mach_reply_port): Add prototype.
                   10079:        * kern/machine.h: New header.
                   10080:        * kern/processor.h (pset_sys_bootstrap): Move prototype outside of
                   10081:        MACH_HOST check.
                   10082:        * kern/sched_prim.h (thread_bind, compute_priority,
                   10083:        thread_timeout_setup): Add prototypes.
                   10084:        * kern/startup.c: Include <kern/machine.h>, <machine/pcb.h>.
                   10085:        * kern/syscall_subr.c: Include <kern/syscall_subr.h>.
                   10086:        (thread_depress_abort): Remove prototype.
                   10087:        * kern/syscall_subr.h: Include <sys/types.h>, <mach/mach_types.h>
                   10088:        (thread_depress_abort): Add prototype.
                   10089:        * kern/syscall_sw.c: Include: <kern/debug.h>.
                   10090:        * kern/task.h (consider_task_collect): Add prototype.
                   10091:        * kern/thread.c: Include <kern/eventcount.h>, <kern/ipc_mig.h>, 
                   10092:        <kern/syscall_subr.h>.
                   10093:        * kern/thread.h (stack_collect): Add prototype.
                   10094:        * linux/pcmcia-cs/glue/pcmcia_glue.h (Debugger): Remove prototype.
                   10095:        * util/putchar.c: Include <device/cons.h>.
                   10096:        * util/putchar.h: New header.
                   10097:        * util/puts.c: Include <device/cons.h>, <util/putchar.h>.
                   10098:        * vm/memory_object.c: Include <vm/vm_map.h>.
                   10099:        (memory_object_data_provided): Move function below
                   10100:        memory_object_data_supply definition.
                   10101:        * vm/vm_init.c: Include <vm/vm_fault.h>.
                   10102:        * vm/vm_kern.h (projected_buffer_in_range): Add prototype.
                   10103:        * vm/vm_map.c: Include <vm/pmap.h>, <vm/vm_resident.h>.
                   10104:        (vm_map_delete, vm_map_copyout_page_list, vm_map_copy_page_discard):
                   10105:        Add forward declaration.
                   10106:        * vm/vm_map.h (vm_map_copyin_object, vm_map_submap,
                   10107:        _vm_map_clip_start, _vm_map_clip_end): Add prototypes.
                   10108:        * vm/vm_pageout.c: Include <device/net_io.h>, <kern/task.h>, 
                   10109:        <machine/locore.h>.
                   10110:        * vm/vm_resident.h: New header.
                   10111:        * vm/vm_user.c: Include <vm/vm_kern.h>.
                   10112:        * vm/pmap.h (pmap_pageable, pmap_map_bd): Add prototype.
                   10113: 
                   10114: 2008-07-18  Andrei Barbu  <[email protected]>
                   10115: 
                   10116:        * i386/i386/db_disasm.c (Iba): New macro.
                   10117:        (db_inst_table): Use Iba for aam and aad instructions.
                   10118:        (db_disasm): Decode operands for Iba case.
                   10119:        * i386/i386/db_interface.c (db_read_bytes): Do not increment the
                   10120:        address before printing it.
                   10121:        * include/sys/types.h (int8_t, uint8_t, u_int8_t, int16_t, uint16_t,
                   10122:        u_int16_t, int32_t, uint32_t, u_int32_t, int64_t, uint64_t,
                   10123:        u_int64_t): New types.
                   10124:        * ddb/db_sym.c (db_task_printsym): Do not print empty symbols.
                   10125:        * ddb/db_break.c (db_set_breakpoint): Add db_breakpoint_t return type,
                   10126:        return the breakpoint in non-ddb case.
                   10127:        * ddb/db_break.h (BKPT_EXTERNAL): New macro.
                   10128:        (db_set_breakpoint): Add declaration.
                   10129:        * (ddb/db_sym.h): Add _DDB_DB_SYM_H_ header protection.
                   10130:        (db_find_sym_and_offset, db_find_xtrn_sym_and_offset,
                   10131:        db_find_task_sym_and_offset, db_find_xtrn_task_sym_and_offset): Call
                   10132:        db_free_symbol.
                   10133:        (db_free_symbol): New declaration.
                   10134:        (db_sym_switch): New `free_symbol' member.
                   10135:        (X_db_free_symbol): New macro.
                   10136:        * ddb/db_sym.c (db_value_of_name, db_lookup, db_name_is_ambiguous,
                   10137:        db_search_task_symbol, db_search_in_task_symbol, db_task_printsym):
                   10138:        Call db_free_symbol.
                   10139:        (db_free_symbol): New function.
                   10140:        (dummy_db_free_symbol): New empty function.
                   10141:        (x_db): Initialize `free_symbol' memberi with dummy_db_free_symbol.
                   10142:        * i386/i386/db_trace.c (db_i386_stack_trace): Call db_free_symbol.
                   10143:        * kern/lock_mon.c (print_lock_info): Likewise.
                   10144:        * include/sys/types.h (quad): Remove type.
                   10145: 
                   10146: 2008-07-15  Barry deFreese  <[email protected]>
                   10147: 
                   10148:        * device/cons.c (cnputc): Turn parameter `c' into a char.
                   10149:        * device/cons.h (cninit, cngetc, cnmaygetc, cnputc): Add prototypes.
                   10150:        * i386/i386at/model_dep.c: Include <device/cons.h>
                   10151:        * kern/printf.c: Include <device/cons.h>
                   10152:        (cnputc): Remove prototype.
                   10153:        (vprintf, iprintf): Explicitely cast cnputc into the type _doprnt
                   10154:        expects.
                   10155:        * linux/dev/kernel/printk.c: Include <device/cons.h>
                   10156:        (cnputc): Remove prototype.
                   10157:        * device/ds_routines.c: Include <machine/locore.h>
                   10158:        * ipc/ipc_kmsg.c: Likewise.
                   10159:        * kern/bootstrap.c: Likewise.
                   10160:        * kern/exception.c: Likewise.
                   10161:        * kern/ipc_mig.c: Likewise.
                   10162:        * kern/sched_prim.c: Likewise.
                   10163:        * kern/time_stamp.c: Likewise.
                   10164:        * vm/vm_kern.c: Likewise.
                   10165:        * device/ds_routine.h (ds_notify): Add prototype.
                   10166:        * kern/ipc_kobject.c: Include <device/ds_routines.h>
                   10167:        * device/net_io.h (net_ast): Add prototype.
                   10168:        * ipc/ipc_kmsg.c: Include <device/net_io.h>
                   10169:        * kern/ast.c: Include <device/net_io.h>
                   10170:        * i386/i386at/kd.h (kd_isupper, kd_islower, kd_senddata, kd_sendcmd,
                   10171:        kd_cmdreg_write, kd_mouse_drain, set_kd_state, kd_setleds1, kd_setleds2,
                   10172:        cnsetleds, kdreboot, kd_putc, kd_parseesc, kd_down, kd_up, kd_cr,
                   10173:        kd_tab, kd_left, kd_right, kd_scrollup, kd_scrolldn, kd_cls, kd_home,
                   10174:        kd_atoi, kd_insch, kd_cltobcur, kd_cltopcur, kd_cltoecur, kd_clfrbcur,
                   10175:        kd_eraseln, kd_insln, kd_delln, kd_delch, kd_erase, kd_bellon,
                   10176:        kd_belloff, kdinit, kdsetkbent, kdgetkbent, kdsetbell, kd_resend,
                   10177:        kd_handle_ack, kd_kbd_magic, kdstate2idx, kd_parserest, kdcnmaygetc,
                   10178:        kd_slmwd, kd_slmscu, kd_slmscd): Add prototypes.
                   10179:        * i386/i386at/kd.c (do_modifier): Add prototype.
                   10180:        * kern/ipc_kobject.c: Include <vm/vm_object.h>
                   10181:        * vm/vm_object.h: Include <sys/types.h> and <ipc/ipc_types.h>.
                   10182:        (vm_object_coalesce, vm_object_pager_wakeup): Add prototypes.
                   10183:        * kern/priority.c: Include <kern/sched_prim.h>.
                   10184:        * kern/sched_prim.c (recompute_priorities, update_priority): Remove
                   10185:        prototypes.
                   10186:        * kern/sched_prim.h (update_priority, compute_my_priority): Add
                   10187:        prototypes.
                   10188:        * kern/time_stamp.h (timestamp_init): Add prototype.
                   10189:        * kern/startup.c: Include <kern/time_stamp.h>.
                   10190:        * ipc/ipc_kmsg.c: Include <vm/vm_user.h> and <ipc/ipc_hash.h>.
                   10191:        * ipc/ipc_mqueue (ipc_mqueue_copyin): Add prototype.
                   10192:        * kern/bootstrap.c: Include <vm/vm_user.h>.
                   10193:        * kern/exceptions.c: Include <ipc/ipc_notify.h>.
                   10194:        * kern/ipc_kobject.h (ipc_kobject_notify): Add prototype.
                   10195:        * kern/ipc_mig.c: Include <device/dev_hdr.h>.
                   10196:        * kern/pc_sample.c: Include <machine/trap.h>.
                   10197:        * kern/printf.h (safe_gets): Add prototype.
                   10198:        * kern/processor.c: Include <kern/ipc_tt.h>.
                   10199:        * kern/queue.h (insque): Add prototype.
                   10200:        * kern/startup.c: Include <kern/mach_factor.h> and <kern/xpr.h>.
                   10201:        * kern/thread.h (thread_start, kernel_thread, thread_priority,
                   10202:        thread_set_own_priority, thread_max_priority, thread_policy,
                   10203:        consider_thread_collect, stack_privilege): Add prototypes.
                   10204:        * kern/timer.h (timer_normalize, timer_init, init_timers): Add
                   10205:        prototypes.
                   10206:        * vm/vm_map.h (vm_map_lookup_entry, vm_map_entry_delete): Add
                   10207:        prototypes.
                   10208:        * device/chario.c: Include <vm/vm_user.h>
                   10209:        * device/device_init.c (chario_init): Remove prototype.
                   10210:        * device/tty.h (ttyinput_many, tty_cts, tty_get_status,
                   10211:        tty_set_status, tty_flush, ttrstrt, ttstart, ttyclose, tty_portdeath,
                   10212:        chario_init): Add prototypes.
                   10213:        * i386/i386/model_dep.h: New header.
                   10214:        * i386/i386at/model_dep.c: Include <i386/model_dep.h>.
                   10215:        * kern/debug.c: Include <machine/model_dep.h>.
                   10216:        * kern/mach_clock.c: Likewise.
                   10217:        * kern/sched_prim.c: Likewise.
                   10218:        * kern/startup.c: Likewise.
                   10219:        * kern/machine.c: Likewise.
                   10220:        (halt_cpu): Remove prototype.
                   10221:        * vm/pmap.h (pmap_grab_page): Add prototype.
                   10222:        * ipc/mach_port.h: New header.
                   10223:        * ipc/mach_port.c: Include <ipc/mach_port.h>.
                   10224:        (mach_port_get_receive_status): Add forward declaration.
                   10225:        * kern/bootstrap.c: Include <ipc/mach_port.h>.
                   10226:        * kern/ipc_mig.c: Likewise.
                   10227:        * kern/syscall_sw.c: Likewise.
                   10228:        * device/dev_pager.c (device_pager_data_request,
                   10229:        device_pager_data_request_done, device_pager_init_pager): Fix printf
                   10230:        formats.
                   10231:        * i386/i386/debug_i386.c (dump_ss): Likewise.
                   10232:        * i386/i386/trap.c (user_trap): Likewise.
                   10233:        * i386/i386at/com.c (comtimer): Likewise.
                   10234:        * ipc/ipc_notify (ipc_notify_port_deleted, ipc_notify_msg_accepted,
                   10235:        ipc_notify_port_destroyed, ipc_notify_no_senders,
                   10236:        ipc_notify_send_once, ipc_notify_dead_name): Likewise.
                   10237:        * kern/ipc_kobject.c (ipc_kobject_destroy): Likewise.
                   10238:        * kern/sched_prim.c (do_runq_scan): Likewise.
                   10239:        * linux/pcmcia-cs/clients/smc91c92_cs.c (smc_start_xmit): Likewise.
                   10240:        * linux/src/drivers/net/sundance.c (start_tx): Likewise.
                   10241:        * vm/vm_fault.c (vm_fault_page): Likewise.
                   10242:        * vm/vm_map.c (vm_map_pmap_enter): Likewise.
                   10243:        * vm/vm_object.c (vm_object_collapse): Likewise.
                   10244: 
                   10245: 2008-07-04  Samuel Thibault  <[email protected]>
                   10246: 
                   10247:        * linux/src/drivers/net/rtl8139.c (rtl8129_open): Move IRQ
                   10248:        initialization after ring initialization.
                   10249: 
                   10250: 2008-07-02  Samuel Thibault  <[email protected]>
                   10251: 
                   10252:        * linux/dev/include/asm/segment.h (__put_user, __get_user): Add
                   10253:        always_inline attribute.
                   10254: 
                   10255: 2008-06-29  Samuel Thibault  <[email protected]>
                   10256: 
                   10257:        * i386/i386/fpu.c (fpintr): Do not panic if the we receive the
                   10258:        interrupt twice in the same thread.
                   10259: 
                   10260: 2008-05-28  Thomas Schwinge  <[email protected]>
                   10261: 
                   10262:        [bug #23417, patch #6508 -- Building with -g3]
                   10263:        * Makefile.am (MIGCOM): Revert the 2008-05-19 change.
                   10264: 
                   10265: 2008-05-25  Andrei Barbu <[email protected]>
                   10266: 
                   10267:        * ddb/db_aout.c (aout_db_symbol_values): Add stab parameter.
                   10268:        * ddb/db_sym.h (db_sym_switch): Add stab parameter to symbol_values
                   10269:        member.
                   10270:        (X_db_symbol_values): Pass stab parameter to symbole_values function.
                   10271: 
                   10272: 2008-05-19  Thomas Schwinge  <[email protected]>
                   10273: 
                   10274:        [patch #6508 -- Building with -g3]
                   10275:        * Makefile.am (MIGCOM): Let it filter through CPP again.
                   10276:        Suggested by Andrei Barbu <[email protected]>.
                   10277: 
                   10278: 2008-05-09  Andrei Barbu  <[email protected]>
                   10279: 
                   10280:        * i386/i386/loose_ends.c (DELAY): Use volatile qualifier instead of
                   10281:        register to prevent optimization.
                   10282: 
                   10283: 2008-03-10  Samuel Thibault  <[email protected]>
                   10284: 
                   10285:        * doc/Makefrag.am: Fix typo.
                   10286: 
                   10287: 2008-03-07  Samuel Thibault  <[email protected]>
                   10288: 
                   10289:        * i386/i386/locore.S (syscall): Clear direction flag at entry.
                   10290: 
                   10291: 2008-02-06  Samuel Thibault  <[email protected]>
                   10292: 
                   10293:        * linux/src/drivers/block/triton.c (ide_init_triton): Enable Bus
                   10294:        Mastering if not enabled by BIOS.
                   10295: 
                   10296: 2007-12-30  Samuel Thibault  <[email protected]>
                   10297: 
                   10298:        * kern/debug.c (panic) [MACH_KDB]: Don't wait before running the
                   10299:        debugger.
                   10300:        * linux/dev/glue/block.c (MAX_BUF): Set to sane stack-friendly 8
                   10301:        instead of blindly following VM_MAP_COPY_PAGE_LIST_MAX.
                   10302:        (rdwr_full): increment blk by cc >> bshift instead of nb.
                   10303: 
                   10304: 2007-12-11  Thomas Schwinge  <[email protected]>
                   10305: 
                   10306:        * linux/dev/include/linux/nfs.h: Remove unused file.
                   10307:        * linux/src/include/linux/nfs.h: Likewise.
                   10308: 
                   10309: 2007-12-10  Thomas Schwinge  <[email protected]>
                   10310: 
                   10311:        * i386/Makefrag.am (i386/i386at/boothdr.o, i386/i386at/interrupt.o)
                   10312:        (i386/i386/cswitch.o, i386/i386/locore.o): Remove targets.
                   10313:        * configure.ac <Dependency tracking for `.S' files>: Add a hack to
                   10314:        re-add the four targets with have been removed above for the (legacy)
                   10315:        case only where they are actually needed.
                   10316: 
                   10317: 2007-12-05  Guillem Jover  <[email protected]>
                   10318: 
                   10319:        * i386/Makefrag.am (i386/i386at/interrupt.o): New target, depends on
                   10320:        i386/i386/i386asm.h
                   10321:        (i386/i386/cswitch.o): Likewise.
                   10322:        (i386/i386/locore.o): Likewise.
                   10323: 
                   10324: 2007-11-18  Samuel Thibault  <[email protected]>
                   10325: 
                   10326:        * i386/intel/pmap.c (pmap_map_bd): Use
                   10327:        INTEL_PTE_NCACHE|INTEL_PTE_WTHRU.  Get pmap lock.
                   10328: 
                   10329: 2007-11-15  Samuel Thibault  <[email protected]>
                   10330: 
                   10331:        * ddb/db_examine.c (db_strcpy): Add extra parentheses around
                   10332:        assignment used as boolean.
                   10333:        * ddb/db_sym.c (db_qualify, db_lookup): Likewise.
                   10334: 
                   10335: 2007-11-08  Thomas Schwinge  <[email protected]>
                   10336: 
                   10337:        * doc/mach.texi: Do the copyright and licensing things as suggested by
                   10338:        the GNU Texinfo manual.
                   10339: 
                   10340: 2007-10-09  Thomas Schwinge  <[email protected]>
                   10341: 
                   10342:        * linux/dev/glue/net.c (device_open) <LINUX_IFF_ALLMULTI>: Comment.
                   10343: 
                   10344: 2007-10-08  Stefan Siegl  <[email protected]>
                   10345: 
                   10346:        * linux/dev/glue/net.c (device_open): Set LINUX_IFF_ALLMULTI flag
                   10347:        on device and propagate.
                   10348: 
                   10349: 2007-10-02  Samuel Thibault  <[email protected]>
                   10350: 
                   10351:        * kern/zalloc.c (zget_space): Fix last change.
                   10352: 
                   10353: 2007-09-03  Samuel Thibault  <[email protected]>
                   10354: 
                   10355:        * kern/zalloc.c (zget_space): Align zalloc_next_space again after
                   10356:        calling kmem_alloc_wired (which may sleep).
                   10357: 
                   10358: 2007-08-16  Samuel Thibault  <[email protected]>
                   10359: 
                   10360:        * Makefile.am (clib_routines): Add udivdi3, __udivdi3 and _end. Fix
                   10361:        edata into _edata.
                   10362:        (gnumach-undef): Do not remove heading _s.
                   10363:        (clib-routines.o): Add -lgcc.
                   10364: 
                   10365: 2007-07-09  Samuel Thibault  <[email protected]>
                   10366: 
                   10367:        * i386/i386/db_interface.c (int_regs): Drop gs and fs fields.
                   10368:        (kdb_kentry): Get fs and gs from struct i386_interrupt_state instead of
                   10369:        struct int_regs.
                   10370:        * i386/i386/kttd_interface.c (int_regs, kttd_netentry): Likewise.
                   10371:        * i386/i386/locore.S (all_intrs): Save fs and gs and set them to kernel
                   10372:        segment too.
                   10373:        (return_to_iret): Restore fs and gs too.
                   10374:        (return_to_iret_i): Likewise.
                   10375:        (ast_from_interrupt): Set fs and gs to kernel segment too.
                   10376:        (kdb_from_iret): Don't save/restore fs and gs either.
                   10377:        (ttd_from_iret): Likewise.
                   10378:        * i386/i386/thread.h (i386_interrupt_state): Add gs and fs fields.
                   10379:        * linux/src/include/asm-i386/irq.h (SAVE_ALL): Set gs to kernel
                   10380:        segment too.
                   10381: 
                   10382: 2007-08-04  Samuel Thibault  <[email protected]>
                   10383: 
                   10384:        * i386/i386/locore.S (TIME_TRAP_UENTRY, TIME_TRAP_SENTRY)
                   10385:        (TIME_TRAP_UEXIT): Use TH_SYSTEM_TIMER instead of old TH_SYS_TIMER.
                   10386:        (current_tstamp, TIME_TRAP_UENTRY, TIME_TRAP_SENTRY, TIME_TRAP_UEXIT)
                   10387:        (TIME_INT_ENTRY, TIME_INT_EXIT, timer_switch, start_timer): Use
                   10388:        EXT(current_tstamp) and EXT(current_timer) instead of _current_tstampt
                   10389:        and _current_timer.
                   10390:        * i386/i386/io_perm.c (i386_io_perm_create): Lock io_perm->port, not
                   10391:        inexistent device->port.
                   10392:        * i386/i386at/model_dep.c: Make init_alloc_aligned() extern.
                   10393:        * i386/i386/mp_desc.c: Include <machine/vm_param.h>
                   10394:        (interrupt_stack_alloc): Call init_alloc_aligned() instead of
                   10395:        init_alloc().
                   10396:        (cpu_control, interrupt_processor, cpu_start, start_other_cpus): New
                   10397:        functions.
                   10398:        * i386/i386/mp_desc.h: Include <i386at/idt.h> instead of "idt.h"
                   10399:        * i386/i386/cswitch.S: Use EXT(interrupt_stack) instead of
                   10400:        _interrupt_stack.
                   10401:        * i386/i386/i386asm.sym (MP_GDT, MP_IDT): Remove macros.
                   10402:        * i386/i386/lock.h: Don't include_next "lock.h".
                   10403:        * i386/linux/dev/include/linux/autoconf.h [NCPUS > 1]: Define
                   10404:        CONFIG_SMP.
                   10405:        * linux/dev/include/asm-i386/smp.h: New file.
                   10406:        * linux/dev/init/main.c [__SMP__ && __i386] (smp_loops_per_tick):
                   10407:        Restore variable.
                   10408:        * linux/pcmcia-cs/modules/cs_internal.h: Use __SMP__ instead of
                   10409:        USE_SPIN_LOCKS.
                   10410:        * linux/pcmcia-cs/modules/i82365.c: Likewise.
                   10411:        * linux/pcmcia-cs/modules/rsrc_mgr.c: Likewise.
                   10412:        * linux/dev/include/asm-i386/system.h: Update to Linux 2.2 for SMP.
                   10413:        * configfrag.ac (mach_ncpus): Define to 1.
                   10414:        (NCPUS): Set to $mach_ncpus.
                   10415:        [$mach_ncpus > 1] (MULTIPROCESSOR): Set to 1.
                   10416:        * linux/configfrag.ac [$mach_ncpus > 1] (__SMP__): Define.
                   10417:        * linux/dev/arch/i386/kernel/irq.c: Include <asm/hardirq.h>.
                   10418:        (local_bh_count, local_irq_count, global_irq_holder, global_irq_lock)
                   10419:        (global_irq_count, check_smp_invalidate, show, wait_on_bh)
                   10420:        (wait_on_irq, synchronize_bh, synchronize_irq, get_irqlock)
                   10421:        (__global_cli, __global_sti, __global_save_flags)
                   10422:        (__global_restore_flags): New variables and functions from Linux 2.2
                   10423:        * linux/src/drivers/net/3c515.c (test_and_set_bit): Remove macro.
                   10424:        * linux/src/drivers/net/de4x5.c (test_and_set_bit): Remove macro.
                   10425:        * linux/src/drivers/net/eth16i.c (test_and_set_bit): Remove macro.
                   10426:        * linux/src/drivers/net/kern_compat.h (test_and_set_bit): Remove macro.
                   10427:        * linux/src/drivers/net/pcnet32.c (test_and_set_bit): Remove macro.
                   10428:        * linux/src/include/linux/compatmac.h (test_and_set_bit)
                   10429:        (test_and_clear_bit): Remove macro.
                   10430:        * linux/src/include/asm-i386/atomic.h (atomic_read): New macro.
                   10431:        * linux/src/include/asm-i386/bitops.h (test_and_set_bit)
                   10432:        (test_and_clear_bit, test_and_change_bit): New inline functions.
                   10433:        * linux/src/include/asm-i386/hardirq.h (local_bh_count): New
                   10434:        declaration.
                   10435:        * linux/src/include/linux/tasks.h (NR_CPUS): Set to NCPUS.
                   10436:        (NO_PROC_ID): New macro.
                   10437: 
                   10438: 2007-07-08  Samuel Thibault  <[email protected]>
                   10439: 
                   10440:        * i386/i386/seg.h (SZ_64): New macro.
                   10441:        * i386/i386/user_ldt.c (selector_check, i386_set_gdt): Check
                   10442:        user-provided descriptor against SZ_64.
                   10443: 
                   10444: 2007-07-04  Samuel Thibault  <[email protected]>
                   10445: 
                   10446:        * i386/intel/pmap.c (pmap_enter): Use INTEL_PTE_NCACHE|INTEL_PTE_WTHRU
                   10447:        when cpu >= 486 and physical address is after memory end.
                   10448: 
                   10449: 2007-06-23  Samuel Thibault  <[email protected]>
                   10450: 
                   10451:        * i386/i386/trap.c (user_trap): Read faulting linear address before
                   10452:        using it.
                   10453: 
                   10454: 2007-06-02  Thomas Schwinge  <[email protected]>
                   10455: 
                   10456:        * Makerules.mig.am: New file, factored out of code of...
                   10457:        * Makefrag.am: ... this file and...
                   10458:        * Makerules.am: ... this file.
                   10459:        * i386/Makefrag.am: Update comment.
                   10460: 
                   10461:        * Makefile.am (MIGFLAGS): Remove.
                   10462:        (MIGCOM): Add ``-n''.
                   10463:        * Makerules.am: Adapt to that.
                   10464: 
                   10465: 2007-05-09  Thomas Schwinge  <[email protected]>
                   10466: 
                   10467:        * include/mach/mach_types.defs (userprefix, serverprefix): Set, if
                   10468:        requested (by setting USERPREFIX respective SERVERPREFIX).
                   10469: 
                   10470: 2007-05-08  Samuel Thibault  <[email protected]>
                   10471: 
                   10472:        * i386/i386/fpu.c (fpu_set_state): Set fp_valid to TRUE.  Free the
                   10473:        unused ifps.
                   10474: 
                   10475: 2007-05-07  Thomas Schwinge  <[email protected]>
                   10476: 
                   10477:        [bug #15295 -- Mach lets processes write to I/O ports]
                   10478: 
                   10479:        * i386/Makefrag.am (libkernel_a_SOURCES): Add `i386/i386/io_perm.c',
                   10480:        `i386/i386/io_perm.h', `i386/i386/machine_task.c', `i386/i386/task.h'
                   10481:        and remove `i386/i386/io_port.h', `i386/i386/iopb.c',
                   10482:        `i386/i386/iopb.h'.
                   10483: 
                   10484:        * i386/i386/io_port.h: Remove file.
                   10485:        * i386/i386at/kd.c: Don't include <i386/io_port.h>.
                   10486:        (vga_port_list, kd_io_device, kd_io_map_open, kd_io_map_close): Don't
                   10487:        define and don't use anymore.
                   10488: 
                   10489:        * include/stddef.h: New file.
                   10490: 
                   10491:        * i386/i386/io_perm.c: Include <string.h>, <device/device_emul.h>,
                   10492:        <ipc/ipc_space.h> and don't include <oskit/ds_oskit.h>.
                   10493:        (io_perm_device_emulation_ops): New variable.
                   10494:        (dev_open_alloc, setup_no_senders): Remove declarations.
                   10495:        (convert_io_perm_to_port, convert_port_to_io_perm, io_perm_deallocate):
                   10496:        Rewrite.
                   10497:        (no_senders): New function.
                   10498:        (i386_io_perm_create, i386_io_perm_modify): Rewrite partially, to adapt
                   10499:        to the GNU Mach environment.
                   10500:        * i386/i386/io_perm.h: Include <device/dev_hdr.h> and
                   10501:        <ipc/ipc_types.h>.
                   10502:        (io_perm, io_perm_t): New structure and accompanying type definition.
                   10503:        (IO_PERM_NULL): Define.
                   10504:        * i386/i386/locore.S (ktss): Move variable to...
                   10505:        * i386/i386/ktss.c: ... here, make it a ``struct task_tss''.
                   10506:        (ktss_init): Initialize the `task_tss' structure and the i/o permission
                   10507:        bit map.
                   10508:        * i386/i386/ktss.h: Adapt to that.
                   10509:        * i386/i386/machine_task.c (machine_task_module_init): Adapt the `zinit'
                   10510:        call to the GNU Mach environment.
                   10511:        * i386/i386/mp_desc.c: Include <machine/ktss.h>.
                   10512:        * i386/i386/tss.h: Include <machine/io_perm.h>.
                   10513:        (task_tss): New structure, equivalent to the OSKit-Mach one.
                   10514:        * i386/include/mach/i386/mach_i386.defs: Don't include
                   10515:        <device/device_types.defs>.
                   10516:        (device_list_t): Remove type.
                   10517:        * i386/include/mach/i386/mach_i386_types.h (device_list_t): Remove type
                   10518:        definition.
                   10519: 
                   10520: 2007-05-07  Marcus Brinkmann  <[email protected]>
                   10521: 
                   10522:        [bug #15295 -- Mach lets processes write to I/O ports]
                   10523: 
                   10524:        * i386/i386/iopb.h, i386/i386/iopb.c: Obsolete files removed.
                   10525: 
                   10526:        * i386/i386/pcb.c (switch_context): Update the I/O permission
                   10527:        bitmap from stack_handoff() here (not only in stack_handoff()).
                   10528: 
                   10529:        * i386/i386/machine_task.c (machine_task_module_init): Set
                   10530:        ZONE_COLLECTABLE and ZONE_EXHAUSTIBLE flags for the iopb zone.
                   10531:        Requested by Roland McGrath <[email protected]>.
                   10532: 
                   10533:        * i386/i386/io_perm.h: New file.
                   10534:        * i386/i386/io_perm.c: New file.
                   10535:        * i386/i386/machine_task.c: New file.
                   10536:        * i386/i386/mp_desc.h: (struct mp_desc_table): Change type of ktss to
                   10537:        struct task_tss.
                   10538:        (mp_ktss): Likewise for array of pointers to the struct.
                   10539:        * i386/i386/mp_desc.c: Include `machine/tss.h' and `machine/io_perm.h'.
                   10540:        (mp_ktss): Change type to array of struct task_tss.
                   10541:        (mp_desc_init): Cast pointer to x86_tss into pointer to task_tss,
                   10542:        and use size of struct task_tss instead size of struct x86_tss.
                   10543:        Initialize the task_tss structure.
                   10544:        * i386/i386/pcb.c: Include `stddef.h' and `machine/tss.h'.
                   10545:        (iopb_create, iopb_destroy): Prototypes removed.
                   10546:        (curr_ktss): Cast pointer to base_tss to pointer to struct
                   10547:        task_tss.
                   10548:        (switch_ktss): Always use kernel TSS.
                   10549:        (update_ktss_iopb): New function.
                   10550:        (stack_handoff): Call update_ktss_iopb.
                   10551:        (pcb_module_init): Do not call iopb_init.
                   10552:        (pcb_terminate): Do not call iopb_destroy.
                   10553:        (thread_setstatus): Remove local variable tss.
                   10554:        (thread_getstatus): Rewrite i386_ISA_PORT_MAP_STATE case handler.
                   10555:        * i386/i386/task.h: New file.
                   10556:        * i386/i386/thread.h: Do not include `i386/iopb.h'.
                   10557:        (struct i386_machine_state): Remove member io_tss.
                   10558:        * i386/include/mach/i386/mach_i386.defs [KERNEL_SERVER]: Include
                   10559:        `machine/io_perm.h'.  Define intran, outtran and destructor.
                   10560:        (io_port_t): New type.
                   10561:        (io_perm_t): Likewise.
                   10562:        (i386_io_port_add): Interface removed.
                   10563:        (i386_io_port_remove): Likewise.
                   10564:        (i386_io_port_list): Likewise.
                   10565:        (i386_io_perm_create): New interface.
                   10566:        (i386_io_perm_modify): Likewise.
                   10567:        * i386/include/mach/i386/mach_i386_types.h [MACH_KERNEL]: Include
                   10568:        `i386/io_perm.h'.
                   10569:        [!MACH_KERNEL]: Define types io_port_t and io_perm_t.
                   10570:        * kern/task.c (task_init): Call machine_task_module_init.
                   10571:        (task_create): Call machine_task_init.
                   10572:        (task_deallocate): Call machine_task_terminate.
                   10573:        (task_collect_scan): Call machine_task_collect.
                   10574:        * task.h: Include `machine/task.h'.
                   10575:        (struct task): Add member machine.
                   10576: 
                   10577: 2007-05-06  Thomas Schwinge  <[email protected]>
                   10578: 
                   10579:        * device/kmsg.c: Include <device/ds_routines.h>.
                   10580:        (kmsg_lock): Use `decl_simple_lock_data'.
                   10581:        (kmsgread, kmsg_read_done): Add two typecasts.
                   10582: 
                   10583:        * device/buf.h (minphys): Add return type.
                   10584:        * device/device_types_kernel.h: We're not in the eighties anymore...
                   10585:        * device/io_req.h: Likewise.
                   10586: 
                   10587: 2007-05-05  Thomas Schwinge  <[email protected]>
                   10588: 
                   10589:        * i386/i386at/model_dep.c (halt_cpu, halt_all_cpus): Call
                   10590:        `machine_idle' to avoid busy-looping.
                   10591: 
                   10592:        * i386/intel/read_fault.c (intel_read_fault): Remove the last parameter
                   10593:        from the calls of `vm_map_lookup'.
                   10594: 
                   10595:        We're not in the eighties anymore.  List arguments in function
                   10596:        prototypes and definitions for a lot of symbols.  Also drop some unused
                   10597:        prototypes.  I refrain from listing every changed symbol.
                   10598:        * vm/memory_object.c: Do as described.
                   10599:        * vm/memory_object.h: Likewise.
                   10600:        * vm/pmap.h: Likewise.
                   10601:        * vm/vm_external.c: Likewise.
                   10602:        * vm/vm_external.h: Likewise.
                   10603:        * vm/vm_fault.c: Likewise.
                   10604:        * vm/vm_fault.h: Likewise.
                   10605:        * vm/vm_kern.h: Likewise.
                   10606:        * vm/vm_map.c: Likewise.
                   10607:        * vm/vm_map.h: Likewise.
                   10608:        * vm/vm_pageout.h: Likewise.
                   10609:        * vm/vm_user.h: Likewise.
                   10610:        * vm/memory_object.h: Include <ipc/ipc_types.h>.
                   10611:        * vm/pmap.h: Include <kern/thread.h>.
                   10612:        * vm/vm_fault.h: Include <mach/vm_prot.h>, <vm/vm_map.h> and
                   10613:        <vm/vm_types.h>.
                   10614:        * vm/vm_map.h: Include <mach/vm_attributes.h> and <vm/vm_types.h>.
                   10615:        (vm_map_t, VM_MAP_NULL): Remove type and definition.
                   10616:        * vm/vm_object.h (vm_object_t, VM_OBJECT_NULL): Remove type and
                   10617:        definition.
                   10618:        * vm/vm_page.h: Include <vm/vm_types.h>.
                   10619:        (vm_page_t, VM_PAGE_NULL): Remove type and definition.
                   10620:        * vm/vm_user.h: Include <mach/std_types.h>.
                   10621:        * kern/task.h: Include <vm/vm_types.h> instead of <vm/vm_map.h>.
                   10622:        * vm/vm_types.h: New file: the above-removed types and definitions.
                   10623: 
                   10624: 2007-05-02  Thomas Schwinge  <[email protected]>
                   10625: 
                   10626:        * configure.ac (--disable-default-device-drivers): Transform into...
                   10627:        (--enable-device-drivers): ... this new option and extend it.
                   10628:        * i386/configfrag.ac (--enable-lpr): Adapt to that.
                   10629:        * linux/configfrag.ac (AC_OPTION_Linux_ix86_at, AC_Linux_DRIVER):
                   10630:        Likewise.
                   10631:        (AC_Linux_DRIVER_qemu): New definition.  Use it for the `floppy', `ide'
                   10632:        and `ne' device drivers.
                   10633:        * doc/mach.texi: Document all that.
                   10634: 
                   10635: 2007-05-01  Thomas Schwinge  <[email protected]>
                   10636: 
                   10637:        * assigns: Remove file.  See `copyright.list' on the GNU server instead.
                   10638: 
                   10639: 2007-04-30  Thomas Schwinge  <[email protected]>
                   10640: 
                   10641:        We're not in the eighties anymore.  List arguments in function
                   10642:        prototypes and definitions for a lot of symbols.  Also drop some unused
                   10643:        prototypes.  I refrain from listing every changed symbol.
                   10644:        * chips/busses.h: Do as described.
                   10645:        * ddb/db_break.c: Likewise.
                   10646:        * ddb/db_break.h: Likewise.
                   10647:        * ddb/db_command.c: Likewise.
                   10648:        * ddb/db_command.h: Likewise.
                   10649:        * ddb/db_lex.c: Likewise.
                   10650:        * ddb/db_lex.h: Likewise.
                   10651:        * ddb/db_output.c: Likewise.
                   10652:        * ddb/db_output.h: Likewise.
                   10653:        * ddb/db_sym.h: Likewise.
                   10654:        * ddb/db_task_thread.c: Likewise.
                   10655:        * ddb/db_task_thread.h: Likewise.
                   10656:        * ddb/db_variables.h: Likewise.
                   10657:        * ddb/db_watch.c: Likewise.
                   10658:        * ddb/db_watch.h: Likewise.
                   10659:        * device/buf.h: Likewise.
                   10660:        * device/conf.h: Likewise.
                   10661:        * device/dev_hdr.h: Likewise.
                   10662:        * device/ds_routines.h: Likewise.
                   10663:        * device/if_ether.h: Likewise.
                   10664:        * device/io_req.h: Likewise.
                   10665:        * device/net_io.h: Likewise.
                   10666:        * i386/i386/io_port.h: Likewise.
                   10667:        * i386/i386/lock.h: Likewise.
                   10668:        * i386/i386/mp_desc.c: Likewise.
                   10669:        * i386/i386/mp_desc.h: Likewise.
                   10670:        * i386/i386/proc_reg.h: Likewise.
                   10671:        * i386/i386/user_ldt.h: Likewise.
                   10672:        * i386/i386at/kd_queue.h: Likewise.
                   10673:        * i386/i386at/kdsoft.h: Likewise.
                   10674:        * i386/intel/pmap.c: Likewise.
                   10675:        * i386/intel/pmap.h: Likewise.
                   10676:        * include/mach/mach_traps.h: Likewise.
                   10677:        * ipc/ipc_entry.h: Likewise.
                   10678:        * ipc/ipc_hash.h: Likewise.
                   10679:        * ipc/ipc_kmsg.h: Likewise.
                   10680:        * ipc/ipc_marequest.c: Likewise.
                   10681:        * ipc/ipc_marequest.h: Likewise.
                   10682:        * ipc/ipc_mqueue.h: Likewise.
                   10683:        * ipc/ipc_notify.h: Likewise.
                   10684:        * ipc/ipc_object.h: Likewise.
                   10685:        * ipc/ipc_port.h: Likewise.
                   10686:        * ipc/ipc_pset.h: Likewise.
                   10687:        * ipc/ipc_right.h: Likewise.
                   10688:        * ipc/ipc_space.h: Likewise.
                   10689:        * ipc/ipc_table.h: Likewise.
                   10690:        * ipc/mach_msg.c: Likewise.
                   10691:        * ipc/mach_msg.h: Likewise.
                   10692:        * kern/ast.c: Likewise.
                   10693:        * kern/ast.h: Likewise.
                   10694:        * kern/debug.c: Likewise.
                   10695:        * kern/debug.h: Likewise.
                   10696:        * kern/ipc_tt.c: Likewise.
                   10697:        * kern/ipc_tt.h: Likewise.
                   10698:        * kern/mach_factor.c: Likewise.
                   10699:        * kern/mach_factor.h: Likewise.
                   10700:        * kern/printf.c: Likewise.
                   10701:        * kern/printf.h: Likewise.
                   10702:        * kern/queue.h: Likewise.
                   10703:        * kern/sched.h: Likewise.
                   10704:        * kern/syscall_subr.c: Likewise.
                   10705:        * kern/syscall_subr.h: Likewise.
                   10706:        * kern/task.h: Likewise.
                   10707:        * kern/thread_swap.c: Likewise.
                   10708:        * kern/thread_swap.h: Likewise.
                   10709:        * kern/timer.h: Likewise.
                   10710:        * kern/xpr.c: Likewise.
                   10711:        * kern/xpr.h: Likewise.
                   10712:        * kern/zalloc.c: Likewise.
                   10713:        * kern/zalloc.h: Likewise.
                   10714:        * ipc/ipc_port.h: Don't include <ipc/ipc_space.h>.
                   10715:        * device/dev_hdr.h: Include <ipc/ipc_types.h>.
                   10716:        * device/net_io.h: Include <device/if_hdr.h> and <device/io_req.h>.
                   10717:        * ipc/ipc_entry.h: Include <mach/mach_types.h> and <ipc/ipc_types.h>.
                   10718:        * ipc/ipc_kmsg.h: Include <ipc/ipc_object.h>, <ipc/ipc_types.h> and
                   10719:        <vm/vm_map.h>.
                   10720:        * ipc/ipc_marequest.h: Include <mach_debug/hash_info.h> and
                   10721:        <ipc/ipc_types.h>.
                   10722:        * ipc/ipc_object.h: Include <ipc/ipc_types.h>.
                   10723:        * ipc/ipc_right.h: Include <ipc/ipc_entry.h>.
                   10724:        * ipc/ipc_space.h: Include <mach/mach_types.h> and <ipc/ipc_types.h>.
                   10725:        * kern/ipc_tt.h: Include <mach/mach_types.h>.
                   10726:        * kern/sched.h: Include <kern/kern_types.h>.
                   10727:        * kern/syscall_subr.h: Include <kern/kern_types.h>.
                   10728:        * ipc/ipc_hash.c (ipc_hash_index_t): Move type definition...
                   10729:        * ipc/ipc_hash.h: ... into here.
                   10730: 
                   10731: 2007-04-25  Thomas Schwinge  <[email protected]>
                   10732: 
                   10733:        * DEVELOPMENT: Add url.
                   10734: 
                   10735:        [task #5878 -- Backport code from GNU Mach's trunk to
                   10736:        gnumach-1-branch: i386_set_gdt, i386_get_gdt]
                   10737:        * i386/include/mach/i386/mach_i386.defs (i386_set_gdt, i386_get_gdt):
                   10738:        Shift by two to maintain rpc id compatibility with OSKit-Mach.
                   10739: 
                   10740:        * linux/dev/glue/kmem.c (vmalloc_list_remove): Cast the first argument
                   10741:        in the `kfree' call to what is expected.
                   10742: 
                   10743:        * linux/pcmcia-cs/glue/ds.c (kmalloc, kfree): Call `linux_kmalloc',
                   10744:        respective `linux_kfree' instead.
                   10745: 
                   10746:        * kern/kalloc.h (kalloc, kget, kfree, kalloc_init): List the arguments.
                   10747: 
                   10748: 2007-04-24  Michael Casadevall  <[email protected]>
                   10749: 
                   10750:        * linux/src/drivers/net/ne.c (bad_clone_list): Add the RealTek 8029 PCI
                   10751:        card's signature.
                   10752:        <http://lists.gnu.org/archive/html/bug-hurd/2007-04/msg00039.html>
                   10753: 
                   10754: 2007-04-24  Thomas Schwinge  <[email protected]>
                   10755: 
                   10756:        * ipc/ipc_port.h: Include <ipc/ipc_space.h>.
                   10757: 
                   10758: 2007-04-11  Thomas Schwinge  <[email protected]>
                   10759: 
                   10760:        * config.status.dep.patch: Update to match more files.  This fixes
                   10761:        building GNU Mach with ``make -j2'' and higher.  The problem was
                   10762:        reported by Michael Casadevall <[email protected]>.
                   10763: 
                   10764: 2007-04-02  Thomas Schwinge  <[email protected]>
                   10765: 
                   10766:        * i386/i386/io_emulate.c: Remove file.
                   10767:        * i386/i386/io_emulate.h: Likewise.
                   10768:        * i386/i386at/iopl.c: Likewise.
                   10769:        * i386/Makefrag.am (libkernel_a_SOURCES): Remove the aforementioned
                   10770:        files.
                   10771:        * i386/i386/trap.c: Don't include <i386/io_emulate.h>.
                   10772:        (v86_assist, check_io_fault): Remove functions.
                   10773:        (user_trap): Remove the code referencing the above functions.
                   10774:        * i386/i386at/conf.c (dev_name_list): Remove the `iopl' device.
                   10775:        * DEVELOPMENT: Document this.
                   10776: 
                   10777: 2007-03-30  Thomas Schwinge  <[email protected]>
                   10778: 
                   10779:        * Makefile.am (gnumach_o_LINK): Remove ``--start-group''.
                   10780: 
                   10781: 2007-03-27  Thomas Schwinge  <[email protected]>
                   10782: 
                   10783:        Unconditionally use the device driver multiplexing.  Suggested by
                   10784:        Gianluca Guida <[email protected]>.
                   10785:        * i386/i386at/dev_hdr.h: Merge into `device/dev_hdr.h' and remove.
                   10786:        * i386/i386at/device_emul.h: Rename to `device/device_emul.h'.  Adapt
                   10787:        all users.
                   10788:        * i386/i386at/i386at_ds_routines.c: Merge into `device/ds_routines.c'
                   10789:        and remove.
                   10790:        * i386/linux/dev/include/linux_emul.h: Remove file.
                   10791:        * Makefrag.am (libkernel_a_SOURCES): Add `device/device_emul.h'.
                   10792:        * i386/Makefrag.am (libkernel_a_SOURCES): Remove
                   10793:        `i386/i386at/dev_hdr.h', `i386/i386at/device_emul.h' and
                   10794:        `i386/i386at/i386at_ds_routines.c'.
                   10795:        * i386/linux/Makefrag.am (liblinux_a_SOURCES): Remove
                   10796:        `i386/linux/dev/include/linux_emul.h'.
                   10797:        * dev/dev_hdr.h: Adapt all users of `i386' as if it were always
                   10798:        defined.
                   10799:        * device/dev_lookup.c: Likewise.
                   10800:        * device/ds_routines.c: Likewise.
                   10801:        * device/device_init.c (ds_init): Rename to `mach_device_init'.
                   10802:        * device/ds_routines.c (ds_init): Likewise.
                   10803:        (ds_trap_init): Rename to `mach_device_trap_init'.
                   10804:        (mach_device_trap_init): Make it `static'.
                   10805:        * linux/dev/glue/block.c: Don't include <linux_emul.h>, but instead
                   10806:        include <device/device_emul.h> and <i386at/disk.h>.
                   10807:        * linux/dev/glue/net.c: Don't include <linux_emul.h>, but instead
                   10808:        include <device/device_emul.h>.
                   10809:        * linux/pcmcia-cs/glue/ds.c: Likewise.
                   10810: 
                   10811:        * kern/pcsample.h: Remove the automatic cvs log appending machinery.
                   10812:        * linux/dev/drivers/scsi/g_NCR5380.c: Likewise.
                   10813:        * linux/src/drivers/net/sk_g16.h: Likewise.
                   10814:        * linux/src/drivers/scsi/AM53C974.c: Likewise.
                   10815:        * linux/src/drivers/scsi/AM53C974.h: Likewise.
                   10816:        * linux/src/drivers/scsi/NCR5380.c: Likewise.
                   10817:        * linux/src/drivers/scsi/NCR5380.h: Likewise.
                   10818:        * linux/src/drivers/scsi/aha152x.c: Likewise.
                   10819:        * linux/src/drivers/scsi/aha1542.h: Likewise.
                   10820:        * linux/src/drivers/scsi/g_NCR5380.c: Likewise.
                   10821:        * linux/src/drivers/scsi/g_NCR5380.h: Likewise.
                   10822:        * linux/src/drivers/scsi/gdth.c: Likewise.
                   10823:        * linux/src/drivers/scsi/qlogicisp.c: Likewise.
                   10824:        * linux/src/drivers/scsi/qlogicisp.h: Likewise.
                   10825:        * linux/src/drivers/scsi/t128.c: Likewise.
                   10826:        * linux/src/drivers/scsi/t128.h: Likewise.
                   10827: 
                   10828: 2007-03-24  Thomas Schwinge  <[email protected]>
                   10829: 
                   10830:        * i386/i386at/conf.c (block_io_mmap): Remove declaration.
                   10831: 
                   10832:        * doc/mach.texi: Fix a typo and the url for GNU GRUB.
                   10833: 
                   10834:        * device/kmsg.h: Include <sys/types.h>, <device/device_types.h> and
                   10835:        <device/io_req.h>.
                   10836: 
                   10837:        * Makefrag.am (libkernel_a_SOURCES): Move `device/kmsg.h' into
                   10838:        [enable_kmsg].
                   10839: 
                   10840: 2007-03-23  Thomas Schwinge  <[email protected]>
                   10841: 
                   10842:        * Makerules.am (%.server.msgids, %.user.msgids): Merge into the
                   10843:        existing ``%.h %.c'' rules.
                   10844:        Comment out the currently unused rpc stub rules.
                   10845:        * Makefrag.am (gnumach.msgids): Rewrite.
                   10846:        (nodist_libkernel_a_SOURCES): Add all ``.msgids'' files.
                   10847:        * i386/Makefrag.am (nodist_libkernel_a_SOURCES): Likewise.
                   10848: 
                   10849: 2007-03-19  Tim Retout  <[email protected]>
                   10850: 
                   10851:        * i386/ldscript: Correct 'LINKFLAGS_gnumach' in comment.
                   10852: 
                   10853: 2007-03-06  Samuel Thibault  <[email protected]>
                   10854: 
                   10855:        * i386/i386/user_ldt.c (i386_set_gdt): Call switch_ktss() if target is
                   10856:        current thread.
                   10857: 
                   10858: 2007-03-05  Samuel Thibault  <[email protected]>
                   10859: 
                   10860:        [bug #18349 -- ``General Protection Trap'' in `ipc_kmsg_enqueue']
                   10861:        * linux/dev/glue/net.c (device_write): Call net_packet() with splimp
                   10862:        held.
                   10863: 
                   10864: 2007-03-04  Thomas Schwinge  <[email protected]>
                   10865: 
                   10866:        * tests/configfrag.ac (MBCHK): Remove check.
                   10867:        * tests/test-mbchk.in: Fail correctly if `mbchk' is not available.
                   10868: 
                   10869: 2007-03-01  Thomas Schwinge  <[email protected]>
                   10870: 
                   10871:        * linux/dev/glue/block.c (free_buffer): Use `VM_PAGE_FREE'.
                   10872:        * vm/vm_object.c (vm_object_collapse, vm_object_page_remove)
                   10873:        (vm_object_page_map): Likewise.
                   10874: 
                   10875: 2007-02-20  Samuel Thibault  <[email protected]>
                   10876: 
                   10877:        * linux/dev/glue/block.c (free_buffer): Fix
                   10878:        vm_page_lock_queues/vm_page_unlock_queues pair.
                   10879: 
                   10880:        Fix ddb's trace command.
                   10881:        * i386/i386/db_trace.c (db_find_trace_symbols): Drop _ prefix on ELF
                   10882:        targets.
                   10883:        (db_i386_stack_trace): Check that adresses of known functions were
                   10884:        really found.
                   10885: 
                   10886: 2007-02-19  Thomas Schwinge  <[email protected]>
                   10887: 
                   10888:        * Makefile.am (gnumach_LINKFLAGS): New variable.
                   10889:        (gnumach_LINK): Use that one instead of the previously used
                   10890:        `LINKFLAGS_gnumach'.
                   10891:        * i386/Makefrag.am (LINKFLAGS_gnumach): Rename to `gnumach_LINKFLAGS',
                   10892:        move into [PLATFORM_at] and pass `_START'.
                   10893:        * i386/ldscript: Don't hardcode a _start address of 0x100000, but make
                   10894:        it configurable via `_START'.
                   10895: 
                   10896:        Add a `--enable-platform' option for future use.  Allow building
                   10897:        without any Linux code.
                   10898:        * Makefile.am: Don't include `linux/Makefrag.am' in there...
                   10899:        * Makefrag.am: ... but rather in here.
                   10900:        * configfrag.ac (MACH_MACHINE_ROUTINES): AC_DEFINE_UNQUOTED based on
                   10901:        then shell variable `mach_machine_routines'.
                   10902:        (--disable-default-device-drivers): Don't define in there...
                   10903:        * configure.ac: ... but rather in here.
                   10904:        (--enable-platform): New option.
                   10905:        (host_platform): New variable.
                   10906:        (HOST_i386): Don't define there...
                   10907:        * i386/configfrag.ac (HOST_ix86): ... but rather here, rename it and
                   10908:        adapt all users.
                   10909:        (PLATFORM_at): New conditional.
                   10910:        (MACH_MACHINE_ROUTINES): Don't AC_DEFINE, but rather set a shell
                   10911:        variable `mach_machine_routines'.
                   10912:        * linux/Makefrag.am (noinst_LIBRARIES, gnumach_o_LDADD): Only enhance
                   10913:        ``if CODE_linux'' or ``if device_driver_group_pcmcia''.
                   10914:        * linux/configfrag.ac (AC_OPTION): Rename to `AC_OPTION_Linux_ix86_at'
                   10915:        and rework a bit.  Adapt all users.
                   10916:        (AC_OPTION_nodef): Rename to `AC_OPTION_Linux_ix86_at_nodef' and rework
                   10917:        a bit.  Adapt all users.
                   10918:        (CODE_linux): New conditional.
                   10919:        * i386/Makefrag.am (LINKFLAGS_gnumach): Don't evaluate $(systype).
                   10920: 
                   10921:        * Makefile.am: Update the FSF's postal address.
                   10922:        * doc/Makefrag.am: Likewise.
                   10923:        * i386/linux/Makefrag.am: Likewise.
                   10924:        * linux/Makefrag.am: Likewise.
                   10925:        * tests/Makefrag.am: Likewise.
                   10926:        * tests/configfrag.ac: Move to GPL.
                   10927: 
                   10928: 2007-02-05  Thomas Schwinge  <[email protected]>
                   10929: 
                   10930:        * kern/mach_clock.c: Don't include <kern/time_out.h>.
                   10931: 
                   10932:        * i386/i386/hardclock.c: Include <kern/mach_clock.h> instead of
                   10933:        <kern/time_out.h>.
                   10934:        * i386/i386/pit.c: Likewise.
                   10935:        * i386/i386at/kd.c: Likewise.
                   10936:        * i386/i386at/model_dep.c: Likewise.
                   10937:        * i386/i386at/rtc.c: Likewise.
                   10938:        * kern/ipc_sched.c: Likewise.
                   10939:        * kern/mach_factor.c: Likewise.
                   10940:        * kern/priority.c: Likewise.
                   10941:        * kern/sched_prim.c: Likewise.
                   10942:        * kern/startup.c: Likewise.
                   10943:        * kern/syscall_subr.c: Likewise.
                   10944:        * kern/thread.h: Likewise.
                   10945:        * kern/zalloc.c: Likewise.
                   10946: 
                   10947:        * kern/host.c: Include <kern/mach_clock.h>.
                   10948:        (tick): Remove declaration.
                   10949:        * kern/pc_sample.c: Likewise.
                   10950:        * kern/thread.c: Likewise.
                   10951:        * kern/sched_prim.c (hz): Remove declaration.
                   10952:        * kern/syscall_subr.c (hz): Likewise.
                   10953:        * linux/dev/init/main.c (hz): Likewise.
                   10954: 
                   10955:        * kern/time_out.h: Remove file after having installed the missing bits
                   10956:        in...
                   10957:        * kern/mach_clock.h: ... here.
                   10958: 
                   10959:        * configfrag.ac: Enhance comments.
                   10960: 
                   10961:        * vm/vm_debug.c (MACH_VM_DEBUG): Correctly place conditional.
                   10962: 
                   10963: 2007-02-04  Thomas Schwinge  <[email protected]>
                   10964: 
                   10965:        * doc/mach.texi (thread_switch): Enhance a bit.
                   10966: 
                   10967:        * doc/Makefrag.am ($(web)): Use ``mkdir -p''.
                   10968: 
                   10969:        * doc/mach.texi: Fix unusual hyphens.
                   10970: 
                   10971:        * i386/i386/hardclock.c: Don't check for the `SYMMETRY' platform.
                   10972: 
                   10973:        * kern/timer.h: Add some comments from...
                   10974:        * i386/i386/timer.h: ... here and remove this file.
                   10975: 
                   10976: 2007-01-26  Thomas Schwinge  <[email protected]>
                   10977: 
                   10978:        * doc/mach.texi: Fix the last change.
                   10979: 
                   10980: 2007-01-22  Thomas Schwinge  <[email protected]>
                   10981: 
                   10982:        * COPYING: Update via GNU automake 1.10.
                   10983:        * doc/fdl.texi: Update from <http://www.gnu.org/licenses/fdl.texi>.
                   10984:        * doc/gpl.texi: Update from <http://www.gnu.org/licenses/gpl.texi>.
                   10985:        * doc/mach.texi: Use the GFDL 1.2.
                   10986: 
                   10987: 2007-01-21  Ralf Wildenhues  <[email protected]>
                   10988: 
                   10989:        * doc/mach.texi: Many typos fixed.
                   10990: 
                   10991: 2007-01-11  Thomas Schwinge  <[email protected]>
                   10992: 
                   10993:        * DEVELOPMENT (LAYOUT OF THE SOURCE TREE): New section.
                   10994: 
                   10995:        These following files are regenerated by running ``autoreconf -i'' and
                   10996:        ``make info''.
                   10997:        * INSTALL: Remove file.
                   10998:        * Makefile.in: Likewise.
                   10999:        * aclocal.m4: Likewise.
                   11000:        * build-aux/compile: Likewise.
                   11001:        * build-aux/config.guess: Likewise.
                   11002:        * build-aux/config.sub: Likewise.
                   11003:        * build-aux/depcomp: Likewise.
                   11004:        * build-aux/install-sh: Likewise.
                   11005:        * build-aux/mdate-sh: Likewise.
                   11006:        * build-aux/missing: Likewise.
                   11007:        * build-aux/texinfo.tex: Likewise.
                   11008:        * config.h.in: Likewise.
                   11009:        * configure: Likewise.
                   11010:        * doc/mach.info: Likewise.
                   11011:        * doc/mach.info-1: Likewise.
                   11012:        * doc/mach.info-2: Likewise.
                   11013:        * doc/stamp-vti: Likewise.
                   11014:        * doc/version.texi: Likewise.
                   11015: 
                   11016: 2007-01-06  Thomas Schwinge  <[email protected]>
                   11017: 
                   11018:        * ddb/db_break.c (db_delete_thread_breakpoint): Don't declare
                   11019:        `db_cond_free'.
                   11020:        * ddb/db_run.c: Include <ddb/db_cond.h>.
                   11021:        (db_stop_at_pc): Don't declare `db_cond_check'.
                   11022:        * ddb/db_input.c: Include <ddb/db_input.h>.
                   11023:        * ddb/db_macro.c: Include <ddb/db_macro.h>.
                   11024:        * ddb/db_trap.c: Include <ddb/db_trap.h>.
                   11025:        * i386/i386/db_interface.h: Include <machine/thread.h>.
                   11026:        * i386/i386/db_interface.c: Include <machine/db_interface.h>.
                   11027:        * i386/i386/db_machdep.h: Include <machine/db_interface.h>.
                   11028:        (db_check_access, db_phys_eq, db_task_name): Remove declarations.
                   11029: 
                   11030: 2007-01-06  Barry deFreese  <[email protected]>
                   11031: 
                   11032:        * ddb/db_aout.c: Include <ddb/db_output.h>.
                   11033:        * ddb/db_break.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and
                   11034:        <ddb/db_output.h>.
                   11035:        (db_delete_cmd, db_breakpoint_cmd): Explicitly define untyped variables
                   11036:        as `int'.
                   11037:        * ddb/db_command.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and
                   11038:        <ddb/db_macro.h>.
                   11039:        * ddb/db_command.h (db_exec_cmd_nest): New declaration.
                   11040:        * ddb/db_cond.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and
                   11041:        <ddb/db_output.h>.
                   11042:        (db_cond_cmd): Explicitly define untyped variable as `int'.
                   11043:        * ddb/db_cond.h: New file.
                   11044:        * ddb/db_examine.c: Include <machine/db_interface.h>,
                   11045:        <ddb/db_examine.h> and <ddb/db_expr.h>.
                   11046:        (db_strcpy, db_examine): Remove forward declarations.
                   11047:        (db_xcdump): Explicitly define untyped variables as `int'.
                   11048:        * ddb/db_examine.h: New file.
                   11049:        * ddb/db_expr.c: Include <ddb/db_expr.h>, <ddb/db_output.h>,
                   11050:        <ddb/db_sym.h> and <ddb/db_variables.h>.
                   11051:        * ddb/db_input.c: Include <ddb/db_command.h>.
                   11052:        * ddb/db_input.h: New file.
                   11053:        * ddb/db_lex.c: Include <ddb/db_command.h>, <ddb/db_examine.h>,
                   11054:        <ddb/db_input.h> and <ddb/db_output.h>.
                   11055:        (db_skip_to_eol, db_lex): Explicitly define untyped variables as `int'.
                   11056:        * ddb/db_lex.h (db_lex): New declaration.
                   11057:        * ddb/db_macro.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and
                   11058:        <ddb/db_output.h>.
                   11059:        (db_def_macro_cmd, db_exec_macro): Explicitly define untyped variables
                   11060:        as `int'.
                   11061:        * ddb/db_macro.h: New file.
                   11062:        * ddb/db_output.c: Include <ddb/db_command.h>.
                   11063:        * ddb/db_output.h (db_putchar): New declaration.
                   11064:        * ddb/db_print.c: Include <machine/db_interface.h>, <ddb/db_command.h>
                   11065:        and <ddb/db_output.h>.
                   11066:        (db_show_regs): Explicitly define untyped variables as `int'.
                   11067:        * ddb/db_run.c: Include <ddb/db_command.h>, <ddb/db_examine.h>,
                   11068:        <ddb/db_output.h> and <ddb/db_watch.h>.
                   11069:        * ddb/db_run.h: Include <kern/task.h> and <machine/db_machdep.h>.
                   11070:        (db_single_step, db_single_step_cmd, db_in_single_step): New
                   11071:        declarations.
                   11072:        * ddb/db_sym.c: Include <ddb/db_command.h> and <ddb/db_output.h>.
                   11073:        (db_sym_parse_and_lookup): Explicitly define untyped variables as
                   11074:        `int'.
                   11075:        * ddb/db_sym.h (db_line_at_pc): New declaration.
                   11076:        * ddb/db_task_thread.c: Include <ddb/db_command.h>, <ddb/db_expr.h>,
                   11077:        <ddb/db_lex.h> and <ddb/db_output.h>.
                   11078:        (db_lookup_task, db_lookup_task_thread, db_lookup_thread)
                   11079:        (db_lookup_task_id, db_lookup_thread_id): Explicitly define untyped
                   11080:        variables as `int'.
                   11081:        * ddb/db_trap.c: Include <ddb/db_examine.h> and <ddb/db_output.h>.
                   11082:        * ddb/db_trap.h: New file.
                   11083:        * ddb/db_variables.c: Include <ddb/db_command.h>, <ddb/db_examine.h>,
                   11084:        <ddb/db_expr.h> and <ddb/db_output.h>.
                   11085:        (db_get_suffix, db_cmp_variable_name): Explicitly define untyped
                   11086:        variables as `int'.
                   11087:        * ddb/db_variables.h (db_get_variable): New declaration.
                   11088:        * ddb/db_watch.c: Include <ddb/db_command.h>, <ddb/db_expr.h>,
                   11089:        <ddb/db_output.h> and <ddb/db_run.h>.
                   11090:        * ddb/db_write_cmd.c: Include <ddb/db_expr.h> and <ddb/db_output.h>.
                   11091:        * i386/i386/db_interface.c: Include <kern/printf.h>, <ddb/db_access.h>,
                   11092:        <ddb/db_command.h>, <ddb/db_output.h>, <ddb/db_run.h> and
                   11093:        <ddb/db_trap.h>.
                   11094:        (kdbprinttrap): Add `void' return type.
                   11095:        (db_user_to_kernel_address, db_task_name): Explicitly define untyped
                   11096:        variables as `int'.
                   11097:        * i386/i386/db_interface.h: New file.
                   11098:        * i386/i386/db_trace.c (db_i386_reg_value): Add `int' return type.
                   11099:        * i386/i386/trap.c [MACH_KDB]: Include <ddb/db_run.h> and
                   11100:        <ddb/db_watch.h>.
                   11101:        * ipc/ipc_kmsg.c [MACH_KDB]: Include <ddb/db_output.h>.
                   11102:        * kern/lock.c [MACH_KDB]: Include <ddb/db_output.h>.
                   11103: 
                   11104: 2007-01-06  Thomas Schwinge  <[email protected]>
                   11105: 
                   11106:        * configure.ac (AM_INIT_AUTOMAKE): Add ``-Wall -Wno-portability''.
                   11107: 
                   11108: 2007-01-05  Richard Braun  <[email protected]>
                   11109: 
                   11110:        Add alignment support in the zone allocator.
                   11111:        * kern/zalloc.c (ALIGN_SIZE_UP): New macro.
                   11112:        (zinit): New `align' parameter.
                   11113:        (zget_space): Likewise.
                   11114:        (zalloc): Updated call to zget_space() with the zone alignment.
                   11115:        * kern/zalloc.h (zone): New member `align'.
                   11116:        (zinit): Declaration updated as required.
                   11117:        * device/dev_lookup.c (dev_lookup_init): Updated call to zinit() with
                   11118:        alignment of 0.
                   11119:        * device/dev_pager.c (dev_pager_hash_init): Likewise.
                   11120:        (device_pager_init): Likewise.
                   11121:        * device/ds_routines.c (ds_init): Likewise.
                   11122:        (ds_trap_init): Likewise.
                   11123:        * device/net_io.c (net_io_init): Likewise.
                   11124:        * i386/i386/fpu.c (fpu_module_init): Likewise.
                   11125:        * i386/i386/pcb.c (pcb_module_init): Likewise.
                   11126:        * i386/intel/pmap.c (pmap_init): Likewise.
                   11127:        * ipc/ipc_init.c (ipc_bootstrap): Likewise.
                   11128:        * ipc/ipc_marequest.c (ipc_marequest_init): Likewise.
                   11129:        * kern/act.c (global_act_init): Likewise.
                   11130:        * kern/kalloc.c (kalloc_init): Likewise.
                   11131:        * kern/processor.c (pset_sys_init): Likewise.
                   11132:        * kern/task.c (task_init): Likewise.
                   11133:        * kern/thread.c (thread_init): Likewise.
                   11134:        * kern/zalloc.c (zone_bootstrap): Likewise.
                   11135:        * vm/vm_external.c (vm_external_module_initialize): Likewise.
                   11136:        * vm/vm_fault.c (vm_fault_init): Likewise.
                   11137:        * vm/vm_map.c (vm_map_init): Likewise.
                   11138:        * vm/vm_object.c (vm_object_bootstrap): Likewise.
                   11139:        * vm/vm_resident.c (vm_page_module_init): Likewise.
                   11140: 
                   11141: 2007-01-02  Samuel Thibault  <[email protected]>
                   11142: 
                   11143:        Fix translation of port into device in the "no sender" notification.
                   11144:        * i386/i386at/i386at_ds_routines.c (ds_notify): Use dev_port_lookup()
                   11145:        for translating the remote port.
                   11146: 
                   11147:        Fix loop indexing.
                   11148:        * i386/intel/pmap.c (pmap_change_wiring): Increment pte in the
                   11149:        unwiring loop.
                   11150: 
                   11151:        Drop old and broken support for Olivetti XP7 & XP9
                   11152:        * i386/intel/pmap.c [ORC] (OLIVETTICACHE): Remove macro.
                   11153:        [OLIVETTICACHE] (pstart): Remove declaration.
                   11154:        (CACHE_LINE, CACHE_SIZE, CACHE_PAGE, WRITE_PTE, WRITE_PTE_FAST): Remove
                   11155:        macros.
                   11156:        [OLIVETTICACHE] (write_pte): Remove function.
                   11157:        * DEVELOPMENT: Document the removal.
                   11158: 
                   11159: 2006-12-19  Samuel Thibault  <[email protected]>
                   11160: 
                   11161:        Add support for global pages.
                   11162:        * i386/i386at/model_dep.c: Include <i386/locore.h>.
                   11163:        (i386at_init): Set CR4_PGE if available.
                   11164:        (c_boot_entry): Call discover_x86_cpu_type() before i386at_init().
                   11165:        * i386/intel/pmap.c: Include <i386/locore.h>.
                   11166:        (pmap_map_bd): Use INTEL_PTE_GLOBAL if available.
                   11167:        (pmap_bootstrap): Likewise.
                   11168: 
                   11169:        Add support for cr3/cr4 flags.
                   11170:        * i386/i386/proc_reg.h (CR3_PCD, CR3_PWT, CR4_VME, CR4_PVI, CR4_TSD)
                   11171:        (CR4_DE, CR4_PSE, CR4_PAE, CR4_MCE, CR4_PGE, CR4_PCE, CR4_OSFXSR)
                   11172:        (CR4_OSXMMEXCPT, get_cr4, set_cr4): New macros.
                   11173:        * i386/intel/pmap.h (INTEL_PTE_GLOBAL): New macro.
                   11174: 
                   11175:        Add support for querying x86 features.
                   11176:        * i386/i386/locore.h (cpu_features): New variable declaration.
                   11177:        (CPU_FEATURE_FPU, CPU_FEATURE_VME, CPU_FEATURE_DE, CPU_FEATURE_PSE)
                   11178:        (CPU_FEATURE_TSC, CPU_FEATURE_MSR, CPU_FEATURE_PAE, CPU_FEATURE_MCE)
                   11179:        (CPU_FEATURE_CX8, CPU_FEATURE_APIC, CPU_FEATURE_SEP, CPU_FEATURE_MTRR)
                   11180:        (CPU_FEATURE_PGE, CPU_FEATURE_MCA, CPU_FEATURE_CMOV, CPU_FEATURE_PAT)
                   11181:        (CPU_FEATURE_PSE_36, CPU_FEATURE_PSN, CPU_FEATURE_CFLSH)
                   11182:        (CPU_FEATURE_DS, CPU_FEATURE_ACPI, CPU_FEATURE_MMX, CPU_FEATURE_FXSR)
                   11183:        (CPU_FEATURE_SSE, CPU_FEATURE_SSE2, CPU_FEATURE_SS, CPU_FEATURE_HTT)
                   11184:        (CPU_FEATURE_TM, CPU_FEATURE_PBE, CPU_HAS_FEATURE): New macros.
                   11185:        * i386/i386/locore.S (cpu_features): New variable.
                   11186:        (discover_x86_cpu_type): Record CPUID feature word 0.
                   11187: 
                   11188: 2006-12-13  Samuel Thibault  <[email protected]>
                   11189: 
                   11190:        Drop useless and broken FPE support.
                   11191:        * i386/configfrac.ac (FPE): Don't define.
                   11192:        * i386/i386/gdt.h (FPE_CS, USER_FPREGS): Remove macros.
                   11193:        * i386/i386/fpu.c (init_fpu, fpu_set_state, fpu_get_state): Remove FPE
                   11194:        support.
                   11195:        * i386/i386/fpu.h: Likewise.
                   11196:        * i386/i386/trap.c (user_trap, i386_exception): Likewise.
                   11197:        * i386/i386/fpe_linkage.c: Remove file.
                   11198:        * i386/Makefrag.am: Remove i386/i386/fpe_linkage.c.
                   11199:        * Makefile.in: Regenerate.
                   11200: 
                   11201: 2006-12-03  Thomas Schwinge  <[email protected]>
                   11202: 
                   11203:        [patch #5019 -- Remove checks for continuations]
                   11204: 
                   11205:        * DEVELOPMENT: Document the removal.
                   11206: 
                   11207:        * i386/configfrag.ac (CONTINUATIONS): Don't define.
                   11208: 
                   11209: 2006-12-03  Leonardo Lopes Pereira  <[email protected]>
                   11210: 
                   11211:        [patch #5019 -- Remove checks for continuations]
                   11212:        * ipc/mach_msg.c: Adapt all users of CONTINUATIONS as if it were always
                   11213:        defined.
                   11214:        * kern/eventcount.c: Likewise.
                   11215:        * kern/ipc_sched.c: Likewise.
                   11216:        * kern/syscall_subr.c: Likewise.
                   11217:        * vm/vm_fault.c: Likewise.
                   11218:        * vm/vm_pageout.c: Likewise.
                   11219:        * vm/vm_resident.c: Likewise.
                   11220: 
                   11221: 2006-12-03  Thomas Schwinge  <[email protected]>
                   11222: 
                   11223:        [patch #5017 -- Remove obsolete IPC interfaces]
                   11224: 
                   11225:        * DEVELOPMENT: Document the removal.
                   11226: 
                   11227:        * configfrag.ac (MACH_IPC_COMPAT): Don't define.
                   11228: 
                   11229: 2006-12-03  Leonardo Lopes Pereira  <[email protected]>
                   11230: 
                   11231:        [patch #5017 -- Remove obsolete IPC interfaces]
                   11232:        * kern/act.c [MIGRATING_THREADS]: Don't include <mach_ipc_compat.h>.
                   11233:        * kern/act.h: Likewise.
                   11234:        * i386/include/mach/i386/machine_types.defs: Adapt all users of
                   11235:        MACH_IPC_COMPAT as if it were always defined to `0'.
                   11236:        * include/mach/mach.defs: Likewise.
                   11237:        * include/mach/mach_param.h: Likewise.
                   11238:        * include/mach/mach_traps.h: Likewise.
                   11239:        * include/mach/message.h: Likewise.
                   11240:        * include/mach/mig_errors.h: Likewise.
                   11241:        * include/mach/notify.h: Likewise.
                   11242:        * include/mach/port.h: Likewise.
                   11243:        * include/mach/std_types.defs: Likewise.
                   11244:        * include/mach/syscall_sw.h: Likewise.
                   11245:        * include/mach/task_special_ports.h: Likewise.
                   11246:        * include/mach/thread_special_ports.h: Likewise.
                   11247:        * ipc/ipc_kmsg.c: Likewise.
                   11248:        * ipc/ipc_kmsg.h: Likewise.
                   11249:        * ipc/ipc_marequest.c: Likewise.
                   11250:        * ipc/ipc_notify.c: Likewise.
                   11251:        * ipc/ipc_notify.h: Likewise.
                   11252:        * ipc/ipc_object.c: Likewise.
                   11253:        * ipc/ipc_object.h: Likewise.
                   11254:        * ipc/ipc_port.c: Likewise.
                   11255:        * ipc/ipc_port.h: Likewise.
                   11256:        * ipc/ipc_right.c: Likewise.
                   11257:        * ipc/ipc_right.h: Likewise.
                   11258:        * ipc/ipc_space.c: Likewise.
                   11259:        * ipc/ipc_space.h: Likewise.
                   11260:        * ipc/mach_debug.c: Likewise.
                   11261:        * ipc/mach_msg.c: Likewise
                   11262:        * ipc/mach_msg.h: Likewise.
                   11263:        * ipc/mach_port.c: Likewise.
                   11264:        * kern/act.c: Likewise.
                   11265:        * kern/act.h: Likewise.
                   11266:        * kern/ipc_host.c: Likewise.
                   11267:        * kern/ipc_tt.c: Likewise.
                   11268:        * kern/syscall_sw.c: Likewise.
                   11269:        * kern/thread.h: Likewise.
                   11270: 
                   11271: 2006-12-03  Thomas Schwinge  <[email protected]>
                   11272: 
                   11273:        [bug #17120 -- GNU Mach debian dir]
                   11274:        * debian/README.Debian: Remove file.
                   11275:        * debian/changelog: Likewise.
                   11276:        * debian/control: Likewise.
                   11277:        * debian/copyright: Likewise.
                   11278:        * debian/postinst: Likewise.
                   11279:        * debian/prerm: Likewise.
                   11280:        * debian/rules: Likewise.
                   11281: 
                   11282:        [bug #18015 -- GNU Mach: `make dist' and friends]
                   11283:        * Makefile.am (DISTCLEANFILES): New variable.
                   11284: 
                   11285: 2006-11-30  Thomas Schwinge  <[email protected]>
                   11286: 
                   11287:        * Makefile.in: Regenerate.
                   11288:        * configure: Likewise.
                   11289: 
                   11290: 2006-11-30  Barry deFreese  <[email protected]>
                   11291:            Thomas Schwinge  <[email protected]>
                   11292: 
                   11293:        [bug #18015 -- GNU Mach: `make dist' and friends]
                   11294:        * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
                   11295:        (EXTRA_DIST): Enhance with the patches and documentation files.
                   11296:        (dist-hook): New target to remove the `CVS' directories.
                   11297:        * Makefrag.am (libkernel_a_SOURCES, EXTRA_DIST): Add header and `mig'
                   11298:        input files.
                   11299:        (DISTCHECK_CONFIGURE_FLAGS): Enable the kernel debugger.
                   11300:        * i386/Makefrag.am: Likewise.  Also add `i386/i386/i386asm.sym',
                   11301:        `i386/ldscript' and `i386/README-Drivers'.
                   11302:        * i386/linux/Makefrag.am (liblinux_a_SOURCES): Add the header files
                   11303:        from `i386/linux/'.
                   11304:        * linux/Makefrag.am (liblinux_a_SOURCES, EXTRA_DIST)
                   11305:        (liblinux_pcmcia_cs_modules_a_SOURCES)
                   11306:        (liblinux_pcmcia_cs_clients_a_SOURCES)
                   11307:        (liblinux_pcmcia_cs_wireless_a_SOURCES): Add header and other included
                   11308:        files.
                   11309:        (dist-hook): Depend on `dist-hook-linux'.
                   11310:        (dist-hook-linux): New phony target to remove the `asm' symbolic links.
                   11311:        * Makerules.am (EXTRA_DIST): Add `gensym.awk'.
                   11312:        * doc/Makefrag.am (EXTRA_DIST): Add `$(mach_TEXINFOS)'.
                   11313:        * configure.ac (AC_CONFIG_LINKS): Move instantiation to...
                   11314:        * configfrag.ac: ... here and change quotation.
                   11315:        * linux/configfrag.ac (AC_CONFIG_LINKS): Change quotation.
                   11316: 
                   11317: 2006-11-29  Thomas Schwinge  <[email protected]>
                   11318: 
                   11319:        * configure: Regenerate.
                   11320:        * Makefile.in: Likewise.
                   11321: 
                   11322:        * configure.ac (disable_smashing_stack_protector): New conditional, set
                   11323:        depending on the compiler accepting `-fstack-protector' or not.
                   11324:        * Makefile.am (CFLAGS): Add `-fno-stack-protector' if
                   11325:        `disable_smashing_stack_protector' is set.
                   11326: 
                   11327: 2006-11-28  Thomas Schwinge  <[email protected]>
                   11328: 
                   11329:        * doc/Makefrag.am ($(srcdir)/doc/version.texi): Oppress a potential
                   11330:        error message from grep.
                   11331: 
                   11332: 2006-11-26  Samuel Thibault  <[email protected]>
                   11333: 
                   11334:        [bug #17346 -- GNU mach can't handle 4GB memory]
                   11335:        * i386/i386at/model_dep.c (mem_size_init): Truncate memory size to
                   11336:        4GiB.
                   11337: 
                   11338: 2006-11-21  Thomas Schwinge  <[email protected]>
                   11339: 
                   11340:        * doc/Makefrag.am (doc/web, html-local, ps-local, pdf-local)
                   11341:        ($(srcdir)/doc/version.texi): New targets to faciliate keeping the web
                   11342:        pages of the GNU Mach Reference Manual updated.
                   11343: 
                   11344: 2006-11-20  Samuel Thibault  <[email protected]>
                   11345: 
                   11346:        [patch #5328 -- GNU Mach asm statements tidy]
                   11347:        * i386/i386/fpe_linkage.c (disable_fpe): Gather dependent asm
                   11348:        statements, add `ax' clobber.
                   11349:        (fpe_exception_fixup): Drop bogus cast from input parameter of lcall
                   11350:        asm statement.
                   11351:        * i386/i386/pio.h (inw, outw): Drop 0x66 prefix an just use the w
                   11352:        instruction variant.
                   11353:        * i386/i386/proc_reg.h: (get_eflags, get_tr, get_ldt): Drop
                   11354:        useless "volatile" from asm statement.
                   11355:        (get_esp): Use direct asm register specification.
                   11356:        * i386/include/mach/i386/cthreads.h (cthread_sp): Likewise.
                   11357:        * i386/intel/pmap.c (pmap_unmap_page_zero): Fix asm clobber into `eax'.
                   11358: 
                   11359:        [patch #5375 -- Fix de4x5 probe]
                   11360:        * linux/src/drivers/net/de4x5.c (pci_probe): Make probe loop stop on
                   11361:        any error, not only device not found.
                   11362: 
                   11363: 2006-11-17  Constantine Kousoulos  <[email protected]>
                   11364:            Thomas Schwinge  <[email protected]>
                   11365: 
                   11366:        [bug #18010 -- GNU Mach: update i386/README-Drivers and doc/mach.texi]
                   11367:        * i386/README-Drivers: Move most of the text into...
                   11368:        * doc/mach.texi: ... here and update a number of things.
                   11369:        (UPDATED): Don't override.
                   11370: 
                   11371: 2006-11-13  Samuel Thibault  <[email protected]>
                   11372: 
                   11373:        * i386/i386at/iopl.c (ioplmmap): Add `int' return type.
                   11374:        * i386/i386at/model_dep.c (halt_all_cpus): Fix typo in declaration.
                   11375:        * kern/assert.h (Assert): Add __attribute__ ((noreturn)) to
                   11376:        declaration.
                   11377:        * kern/debug.c (Debugger): Add __attribute__ ((noreturn)) to
                   11378:        declaration.
                   11379:        (Debugger): Add call to panic().
                   11380:        * kern/debug.h (panic): Add __attribute__ ((noreturn)) to declaration.
                   11381:        * util/putchar.c (putchar): Return printed char.
                   11382: 
                   11383: 2006-11-13  Barry deFreese  <[email protected]>
                   11384: 
                   11385:        * device/chario.c (tty_cts): Add `void' return type.
                   11386:        * device/cons.c (cninit, cnputc): Add `void' return type.
                   11387:        (cngetc, cnmaygetc): Add `int' return type.
                   11388:        * device/net_io.c (net_del_q_info, net_free_dead_infp)
                   11389:        (net_free_dead_entp): Add `void' return type.
                   11390:        * i386/i386/fpu.c (fpnoextflt, fpextovrflt, fpexterrflt, fp_save)
                   11391:        (fp_load, fpintr): Add `void' return type.
                   11392:        * i386/i386/ktss.c (ktss_init): Add `int' type to `exception_stack'.
                   11393:        * i386/i386/loose_ends.c (delay): Add `void' return type.
                   11394:        * i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys)
                   11395:        (copy_from_phys): Add `void' return type.
                   11396:        * i386/i386/pic.c (picinit, form_pic_mask, intnull, prtnull): Add
                   11397:        `void' return type.
                   11398:        * i386/i386/pit.c (clkstart): Add `void' return type.
                   11399:        * i386/i386at/com.c (comparm, comtimer, fix_modem_state)
                   11400:        (commodem_intr): Add `void' return type.
                   11401:        (comintr, commctl, comstop): Add `int' return type.
                   11402:        * i386/i386at/iopl.c (ioplclose): Add `int' return type.
                   11403:        * i386/i386at/kd.c (kd_io_map_openn, kd_io_map_close, feep, pause)
                   11404:        (kd_debug_put, cnpollc, kdclose, kd_handle_ack, kd_resend, kdinit)
                   11405:        (kd_belloff, kd_bellon, kd_putc, kd_setpos, kd_scrollup, kd_scrolldn)
                   11406:        (kd_parseesc, kd_parserest, kd_tab, kd_cls, kd_home, kd_up, kd_down)
                   11407:        (kd_right, kd_left, kd_cr, kd_cltobcur, kd_cltopcurn, kd_cltoecur)
                   11408:        (kd_clfrbcur, kd_delln, kd_insln, kd_delch, kd_erase, kd_eraseln)
                   11409:        (kd_insch, kd_senddata, kd_sendcmd, kd_cmdreg_write, kd_mouse_drain)
                   11410:        (set_kd_state, kd_setleds1, kd_setleds2, cnsetleds, kdreboot): Add
                   11411:        `void' return type.
                   11412:        (kdopen, kdread, kdwrite, kdportdeath, kdsetbell, kdgetkbent, kdintr)
                   11413:        (do_modifier, kdstate2idx, kdstart, kdstop, kd_kbd_magic): Add `int'
                   11414:        return type.
                   11415:        (kd_isupper, kd_islower): Add `boolean_t' return type.
                   11416:        (kd_cmdreg_read): Add `unsigned char' return type.
                   11417:        * i386/i386at/kd_event.c (kbdinit, kbdclose, kdb_in_out, X_kdb_enter)
                   11418:        (X_kdb_exit, X_kdb_enter_init, X_kdb_exit_init): Add `void' return
                   11419:        type.
                   11420:        (kbdopen, kbdioctl, kbdselect, kbdread): Add `int' return type.
                   11421:        * i386/i386at/kd_mouse.c (init_mouse_hw, serial_mouse_open)
                   11422:        (kd_mouse_open, mouseclose, serial_mouse_close, kd_mouse_close)
                   11423:        (mouse_handle_byte, mouse_packet_mouse_system_mouse)
                   11424:        (mouse_packet_microsoft_mouse, ibm_ps2_mouse_open)
                   11425:        (ibm_ps2_mouse_close, mouse_packet_ibm_ps2_mouse, mouse_moved)
                   11426:        (mouse_button): Add `void' return type.
                   11427:        (mouseopen, mouseioctl, mouseselect, mouseread, mouseintr): Add `int'
                   11428:        return type.
                   11429:        * i386/i386at/lpr.c (lprclose, lprpr_addr): Add `void' return type.
                   11430:        (lprprobe, lpropen, lprread, lprwrite, lprportdeath, lprstop, lprpr):
                   11431:        Add `int' return type.
                   11432:        * i386/i386at/model_dep.c (i386at_init, startrtclock): Add `void'
                   11433:        return type.
                   11434:        (timemmap): Add `int' return type.
                   11435:        * i386/i386at/rtc.c (rtcinit, rtcput): Add `void' return type.
                   11436:        (yeartoday, hexdectodec, readtodc, writetodc): Add `int' return type.
                   11437:        * i386/intel/pmap.c (pmap_pageable): Add `void' return type.
                   11438:        * kern/eventcount.c (simpler_thread_setrun): Add `int' type to
                   11439:        `whichrq' variable.
                   11440: 
                   11441: 2006-11-13  Barry deFreese  <[email protected]>
                   11442: 
                   11443:        * i386/i386/locore.h: New file.
                   11444:        * i386/i386/pcb.h: New file.
                   11445:        * i386/i386/pcb.c: Include `pcb.h'.
                   11446:        * i386/i386/pit.c (clkstart): Fix type of s into unsigned long.
                   11447:        * i386/i386/spl.h (spl0, splsched, splx, splsoftclock, splon, sploff)
                   11448:        (splhigh, splimp, spltty, splclock, setsoftclock): Add prototype.
                   11449:        * i386/i386at/kd_event.h: New file.
                   11450:        * i386/i386at/kd_event.c: Include `kd_event.h'.
                   11451:        * i386/i386at/kd_mouse.h: New file.
                   11452:        * i386/i386at/kd_mouse.c: Include `kd_mouse.h'.
                   11453:        (mouseclose): Fix call of `serial_mouse_close' function.
                   11454:        * i386/i386at/kd.c: Include `kd_event.h' and `kd_mouse.h'.
                   11455:        * i386/i386at/kd.h (splx, spltty): Remove prototypes.h
                   11456:        * i386/i386at/lpr.c: Likewise.
                   11457:        * ipc/mach_msg.c: Include `machine/locore.h' and `machine/pcb.h'.
                   11458:        * kern/mach_clock.h: New file.
                   11459:        * kern/mach_clock.c: Include `kern/queue.h', `kern/timer.h' and
                   11460:        `mach_clock.h'.
                   11461:        * kern/mach_factor.h: New file.
                   11462:        * kern/mach_factor.c: Include `mach_factor.h'.
                   11463:        * kern/sched_prim.c: Include `kern/mach_factor.h'.
                   11464:        * kern/thread.c: Include `machine/pcb.h'.
                   11465: 
                   11466: 2006-11-11  Thomas Schwinge  <[email protected]>
                   11467: 
                   11468:        * Makefile.am (gnumach-undef-bad): Depend on the Makefile.
                   11469: 
                   11470: 2006-11-11  Samuel Thibault  <[email protected]>
                   11471: 
                   11472:        Fix I/O port type.
                   11473:        * i386/i386/pic.c (master_icq, master_ocw, slaves_icq, slaves_ocw):
                   11474:        Change variables type from char * to unsigned short.
                   11475:        (picinit): Remove now-useless cast.
                   11476:        * i386/i386at/kd_mouse.c (init_mouse_hw, serial_mouse_close)
                   11477:        (mouseintr): Change variable type from caddr_t to unsigned short,
                   11478:        remove now-useless cast.
                   11479: 
                   11480:        [task #5726 -- GCC built-in functions]
                   11481:        * kern/machine.c: Include `string.h'.
                   11482: 
                   11483:        Fix ``assignment used as truth value'' warnings.
                   11484:        * device/cons.c (cninit): Add parenthesis.
                   11485:        * kern/bootstrap.c (copy_bootstrap): Likewise.
                   11486:        * kern/printf.c (_doprnt): Likewise.
                   11487:        * vm/vm_map.c (vm_map_lookup): Likewise.
                   11488: 
                   11489:        Fix a bunch of ``unused variable'' warnings.
                   11490:        * device/ds_routines.c (ds_device_open): Remove unused `namebuf'
                   11491:        variable.
                   11492:        * device/kmsg.c (kmsgread): Remove unused `err' variable.
                   11493:        * device/net_io.c (net_set_filter): Remove unused `j' variable.
                   11494:        * i386/i386/pcb.c (curr_gdt, curr_ktss): Artificially use parameter of
                   11495:        macro.
                   11496:        * i386/i386/pic.c (picinit): Remove unused `i' variable.
                   11497:        * i386/i386/pit.c (clkstart): Remove unused `flags' variable.
                   11498:        * i386/i386/trap.c (kernel_trap): Remove unused `exc' variable.
                   11499:        (user_trap): Remove unused `map' and `result' variables.
                   11500:        (v86_assist): Remove unused `size' variable.
                   11501:        * i386/i386at/i386at_ds_routines.c (ds_device_open): Remove unused
                   11502:        `dev' variable.
                   11503:        * i386/i386at/kd.c (kdintr): Remove unused `o_pri' variable.
                   11504:        (kdcngetc): Remove unused `i' variable.
                   11505:        * i386/i386at/kd_event.c (kbdgetstat, kbdsetstat): Remove unused
                   11506:        `result' variable.
                   11507:        * i386/i386at/kd_mouse.c (mousegetstat): Likewise.
                   11508:        * i386/i386at/lpr.c (lprattach): Remove unused `tp' variable.
                   11509:        (lprsetstat): Remove unused `dev_addr' and `s' variables.
                   11510:        * i386/intel/pmap.c (pmap_bootstrap): Remove unused `pteva' variable.
                   11511:        (SPLVM, SPLX): Artificially use parameter of macro.
                   11512:        * ipc/ipc_kmsg.c (ipc_kmsg_copyin_body): Remove unused `mr' variable.
                   11513:        * kern/bootstrap.c (boot_script_exec_cmd): Remove unused
                   11514:        `boot_exec_info' and `user_map' variables.
                   11515:        * vm/vm_kern.c (projected_buffer_map): Remove unused `object'
                   11516:        variable.
                   11517: 
                   11518: 2006-11-10  Samuel Thibault  <[email protected]>
                   11519: 
                   11520:        * kern/sched_prim.h (thread_syscall_return): Replace old `volatile'
                   11521:        function qualifier with __attribute__((__noreturn__)).
                   11522: 
                   11523: 2006-11-09  Barry deFreese  <[email protected]>
                   11524: 
                   11525:        [task #5726 -- GCC built-in functions]
                   11526:        * include/printf.h: Move file...
                   11527:        * kern/printf.h: ... here.
                   11528:        * kern/debug.h (panic_init, panic): Add prototypes.
                   11529:        * chips/busses.c: Don't include `printf.h', include `kern/printf.h'
                   11530:        and `kern/debug.h' for panic().
                   11531:        * ddb/db_command.c: Likewise.
                   11532:        * ddb/db_cond.c: Likewise.
                   11533:        * ddb/db_output.c: Likewise.
                   11534:        * device/cirbuf.c: Likewise.
                   11535:        * device/cons.c: Likewise.
                   11536:        * device/dev_name.c: Likewise.
                   11537:        * device/dev_pager.c: Likewise.
                   11538:        * device/device_init.c: Likewise.
                   11539:        * device/dk_label.c: Likewise.
                   11540:        * device/ds_routines.c: Likewise.
                   11541:        * device/net_io.c: Likewise.
                   11542:        * device/subrs.c: Likewise.
                   11543:        * i386/i386/debug_i386.c: Likewise.
                   11544:        * i386/i386/fpe_linkage.c: Likewise.
                   11545:        * i386/i386/fpu.c: Likewise.
                   11546:        * i386/i386/io_map.c: Likewise.
                   11547:        * i386/i386/kttd_interface.c: Likewise.
                   11548:        * i386/i386/mp_desc.c: Likewise.
                   11549:        * i386/i386/pcb.c: Likewise.
                   11550:        * i386/i386/pic.c: Likewise.
                   11551:        * i386/i386/trap.c: Likewise.
                   11552:        * i386/i386at/autoconf.c: Likewise.
                   11553:        * i386/i386at/com.c: Likewise.
                   11554:        * i386/i386at/i386at_ds_routines.c: Likewise.
                   11555:        * i386/i386at/kd.c: Likewise.
                   11556:        * i386/i386at/kd_event.c: Likewise.
                   11557:        * i386/i386at/kd_mouse.c: Likewise.
                   11558:        * i386/i386at/lpr.c: Likewise.
                   11559:        * i386/i386at/model_dep.c: Likewise.
                   11560:        * i386/intel/pmap.c: Likewise.
                   11561:        * ipc/ipc_entry.c: Likewise.
                   11562:        * ipc/ipc_hash.c: Likewise.
                   11563:        * ipc/ipc_kmsg.c: Likewise.
                   11564:        * ipc/ipc_mqueue.c: Likewise.
                   11565:        * ipc/ipc_notify.c: Likewise.
                   11566:        * ipc/ipc_object.c: Likewise.
                   11567:        * ipc/ipc_port.c: Likewise.
                   11568:        * ipc/ipc_pset.c: Likewise.
                   11569:        * ipc/ipc_right.c: Likewise.
                   11570:        * ipc/mach_msg.c: Likewise.
                   11571:        * ipc/mach_port.c: Likewise.
                   11572:        * ipc/mach_rpc.c: Likewise.
                   11573:        * kern/act.c: Likewise.
                   11574:        * kern/ast.c: Likewise.
                   11575:        * kern/bootstrap.c: Likewise.
                   11576:        * kern/debug.c: Likewise.
                   11577:        * kern/eventcount.c: Likewise.
                   11578:        * kern/exception.c: Likewise.
                   11579:        * kern/host.c: Likewise.
                   11580:        * kern/ipc_host.c: Likewise.
                   11581:        * kern/ipc_kobject.c: Likewise.
                   11582:        * kern/ipc_mig.c: Likewise.
                   11583:        * kern/ipc_sched.c: Likewise.
                   11584:        * kern/ipc_tt.c: Likewise.
                   11585:        * kern/kalloc.c: Likewise.
                   11586:        * kern/lock.c: Likewise.
                   11587:        * kern/mach_clock.c: Likewise.
                   11588:        * kern/machine.c: Likewise.
                   11589:        * kern/pc_sample.c: Likewise.
                   11590:        * kern/printf.c: Likewise.
                   11591:        * kern/processor.c: Likewise.
                   11592:        * kern/sched_prim.c: Likewise.
                   11593:        * kern/server_loop.ch: Likewise.
                   11594:        * kern/startup.c: Likewise.
                   11595:        * kern/task.c: Likewise.
                   11596:        * kern/thread.c: Likewise.
                   11597:        * kern/thread_swap.c: Likewise.
                   11598:        * kern/xpr.c: Likewise.
                   11599:        * kern/zalloc.c: Likewise.
                   11600:        * vm/memory_object.c: Likewise.
                   11601:        * vm/vm_debug.c: Likewise.
                   11602:        * vm/vm_fault.c: Likewise.
                   11603:        * vm/vm_kern.c: Likewise.
                   11604:        * vm/vm_map.c: Likewise.
                   11605:        * vm/vm_object.c: Likewise.
                   11606:        * vm/vm_object.h: Likewise.
                   11607:        * vm/vm_pageout.c: Likewise.
                   11608:        * vm/vm_resident.c: Likewise.
                   11609: 
                   11610: 2006-11-08  Thomas Schwinge  <[email protected]>
                   11611: 
                   11612:        * aclocal.m4: Regenerate using GNU Autoconf 2.60 and GNU Automake 1.10.
                   11613:        * INSTALL: Likewise.
                   11614:        * Makefile.in: Likewise.
                   11615:        * configure: Likewise.
                   11616:        * build-aux/config.guess: Likewise.
                   11617:        * build-aux/config.sub: Likewise.
                   11618:        * build-aux/depcomp: Likewise.
                   11619:        * build-aux/install-sh: Likewise.
                   11620:        * build-aux/missing: Likewise.
                   11621:        * build-aux/texinfo.tex: Likewise.
                   11622: 
                   11623:        * Makefrag.am (gnumach.msgids): Remove temporary files.
                   11624: 
                   11625: 2006-11-08  Samuel Thibault  <[email protected]>
                   11626: 
                   11627:        [task #5726 -- GCC built-in functions]
                   11628:        * include/printf.h (iprintf): Fix prototype.
                   11629:        (vprintf): Add prototype.
                   11630:        * kern/printf.c: Include `printf.h'.
                   11631:        (vprintf, printf): Fix prototype and return a dumb value.
                   11632:        * kern/startup.c: Include `printf.h'.
                   11633: 
                   11634: 2006-11-07  Barry deFreese  <[email protected]>
                   11635: 
                   11636:        [task #5726 -- GCC built-in functions]
                   11637:        * include/printf.h: New file.
                   11638:        (printf_init, _doprnt, printnum, sprintf, printf, indent, iprint): New
                   11639:        declarations.
                   11640:        * include/string.h (strchr, strcmp, strcpy, strlen, strncmp, strncpy)
                   11641:        (strrchr, strsep): New extern declarations.
                   11642:        * kern/strings.c: Don't include `kern/strings.h', include `string.h'.
                   11643:        (strncmp, strncpy, strlen): Fix prototypes into using size_t.
                   11644:        * kern/strings.h: Removed file.
                   11645:        * kern/debug.c: Include `printf.h'.
                   11646:        (do_cnputc): New function.
                   11647:        (panic, log): Use do_cnputc instead of cnputc.
                   11648:        * chips/busses.c: Don't include `kern/strings.h', include `printf.h' and
                   11649:        `string.h'.
                   11650:        (_doprnt): Remove extern declaration.
                   11651:        (indent): Remove extern declaration.
                   11652:        * ddb/db_aout.c: Likewise.
                   11653:        * ddb/db_command.c: Likewise.
                   11654:        * ddb/db_lex.c: Likewise.
                   11655:        * ddb/db_macro.c: Likewise.
                   11656:        * ddb/db_output.c: Likewise.
                   11657:        * ddb/db_print.c: Likewise.
                   11658:        * ddb/db_sym.c: Likewise.
                   11659:        * device/dev_name.c: Likewise.
                   11660:        * device/dev_pager.c: Likewise.
                   11661:        * device/dk_label.c: Likewise.
                   11662:        * device/ds_routines.c: Likewise.
                   11663:        * device/net_io.c: Likewise.
                   11664:        * device/subrs.c: Likewise.
                   11665:        * i386/i386/db_trace.c: Likewise.
                   11666:        * i386/i386/debug_i386.c: Likewise.
                   11667:        * i386/i386/fpu.c: Likewise.
                   11668:        * i386/i386/io_map.c: Likewise.
                   11669:        * i386/i386/kttd_interface.c: Likewise.
                   11670:        * i386/i386/pic.c: Likewise.
                   11671:        * i386/i386/trap.c: Likewise.
                   11672:        * i386/i386at/autoconf.c: Likewise.
                   11673:        * i386/i386at/com.c: Likewise.
                   11674:        * i386/i386at/i386at_ds_routines.c: Likewise.
                   11675:        * i386/i386at/kd.c: Likewise.
                   11676:        * i386/i386at/kd_event.c: Likewise.
                   11677:        * i386/i386at/kd_mouse.c: Likewise.
                   11678:        * i386/i386at/lpr.c: Likewise.
                   11679:        * i386/i386at/model_dep.c: Likewise.
                   11680:        * i386/intel/pmap.c: Likewise.
                   11681:        * ipc/ipc_entry.c: Likewise.
                   11682:        * ipc/ipc_hash.c: Likewise.
                   11683:        * ipc/ipc_kmsg.c: Likewise.
                   11684:        * ipc/ipc_notify.c: Likewise.
                   11685:        * ipc/ipc_object.c: Likewise.
                   11686:        * ipc/ipc_port.c: Likewise.
                   11687:        * ipc/ipc_pset.c: Likewise.
                   11688:        * ipc/mach_msg.c: Likewise.
                   11689:        * ipc/mach_port.c: Likewise.
                   11690:        * ipc/mach_rpc.c: Likewise.
                   11691:        * kern/bootstrap.c: Likewise.
                   11692:        * kern/eventcount.c: Likewise.
                   11693:        * kern/ipc_kobject.c: Likewise.
                   11694:        * kern/pc_sample.c: Likewise.
                   11695:        * kern/printf.c: Likewise.
                   11696:        * kern/sched_prim.c: Likewise.
                   11697:        * kern/thread.c: Likewise.
                   11698:        * kern/zalloc.c: Likewise.
                   11699:        * vm/vm_fault.c: Likewise.
                   11700:        * vm/vm_map.c: Likewise.
                   11701:        * vm/vm_object.c: Likewise.
                   11702:        * vm/vm_resident.c: Likewise.
                   11703: 
                   11704: 2006-11-05  Samuel Thibault  <[email protected]>
                   11705: 
                   11706:        * include/string.h: Fix copyright assignment to FSF, keep author's
                   11707:        name.
                   11708: 
                   11709: 2006-11-05  Thomas Schwinge  <[email protected]>
                   11710: 
                   11711:        * linux/dev/README: New file.
                   11712: 
                   11713:        * config.h.in: Regenerate.
                   11714:        * configure: Likewise.
                   11715: 
                   11716:        [task #5956 -- Automake'ify GNU Mach's code base]
                   11717:        * configure.ac <AM_INIT_AUTOMAKE>: Add `no-define' and `1.9'.
                   11718: 
                   11719: 2006-11-05  Barry deFreese  <[email protected]>
                   11720: 
                   11721:        [task #5878 -- Backport code from GNU Mach's trunk to
                   11722:        gnumach-1-branch: i386_set_gdt, i386_get_gdt'']
                   11723:        [sync from HEAD, 2002-10-03]
                   11724:        * i386/include/mach/i386/mach_i386.defs (i386_set_gdt, i386_get_gdt):
                   11725:        New routines.
                   11726:        * i386/i386/user_ldt.c (i386_set_gdt, i386_get_gdt): New functions.
                   11727:        * i386/i386/gdt.h (USER_GDT, USER_GDT_SLOTS): New macros.
                   11728:        (GDTSZ): Compute it from USER_GDT and USER_GDT_SLOTS.
                   11729:        * i386/i386/thread.h: Include `gdt.h'.
                   11730:        (struct i386_machine_state): New member `user_gdt'.
                   11731:        * i386/i386/pcb.c (switch_ktss): Copy those slots into the GDT.
                   11732:        * linux/src/include/linux/head.h (idt,gdt): Remove extern declaration.
                   11733: 
                   11734: 2006-11-05  Samuel Thibault  <[email protected]>
                   11735: 
                   11736:        FPU, CPU and IO stubs cleanup.
                   11737:        * i386/i386/fpu.h (fstcw): New macro.
                   11738:        * i386/i386/locore.S (_fninit, _fstcw, _fldcw, _fnstsw, _fnclex)
                   11739:        (_clts, _fpsave, _fprestore, set_cr3, get_cr3, flush_tlb, get_cr2)
                   11740:        (get_ldt, set_ldt, get_tr, set_tr, _setts, outb, inb, outw, inw, outl)
                   11741:        (inl, loutb, loutw, linb, linw): Remove functions.
                   11742:        * i386/i386/proc_reg.h (flush_tlb): New macro.
                   11743:        * i386/i386/db_interface.c: Include `i386/proc_reg.h'.
                   11744:        * i386/intel/pmap.c: Likewise.
                   11745:        * i386/intel/pmap.h: Likewise.
                   11746:        * i386/i386/fpu.c: Include `i386/pio.h'.
                   11747:        * i386/i386/pic.c: Likewise.
                   11748:        * i386/i386/pit.c: Likewise.
                   11749:        * i386/i386at/iopl.c: Likewise.
                   11750:        * i386/i386at/kd.c: Likewise.
                   11751:        * i386/i386at/kd_event.c: Likewise.
                   11752:        * i386/i386at/kd_mouse.c: Likewise.
                   11753:        * i386/i386at/rtc.c: Likewise.
                   11754: 
                   11755: 2006-11-05  Barry deFreese  <[email protected]>
                   11756: 
                   11757:        [task #5726 -- GCC built-in functions]
                   11758:        * include/string.h: New file.
                   11759:        * include/mach/mig_support.h: Include `string.h'.
                   11760:        [MACH_KERNEL] (bcopy): Remove extern declaration.
                   11761:        [MACH_KERNEL] (memcpy): Remove macro.
                   11762:        * device/cirbuf.c: Include `string.h'.
                   11763:        (q_to_b, b_to_q): Replace bcopy() with memcpy() and bzero() with
                   11764:        memset(), clean memcpy() and memset() invocation.
                   11765:        * device/cons.c (cnputc): Likewise.
                   11766:        * device/dev_pager.c (device_pager_data_request_done): Likewise.
                   11767:        * device/ds_routines.c (device_write_get, ds_read_done): Likewise.
                   11768:        * device/kmsg.c: Likewise.
                   11769:        * device/net_io.c (net_filter, net_set_filter, net_getstat): Likewise.
                   11770:        * i386/i386/fpu.c (fpu_set_state, fpu_get_state, fp_load)
                   11771:        (fp_state_alloc): Likewise.
                   11772:        * i386/i386/iopb.c (io_tss_init, i386_io_port_list): Likewise.
                   11773:        * i386/i386/mp_desc.c (mp_desc_init): Likewise.
                   11774:        * i386/i386/pcb.c (pcb_init, thread_setstatus)
                   11775:        (thread_getstatus): Likewise.
                   11776:        * i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys)
                   11777:        (copy_from_phys): Likewise.
                   11778:        * i386/i386/trap.c (v86_assist): Likewise.
                   11779:        * i386/i386/user_ldt.c (i386_set_ldt, i386_get_ldt): Likewise.
                   11780:        * i386/i386at/immc.c (immc_cnputc): Likewise.
                   11781:        * i386/i386at/kd_event.c (X_kdb_enter_init, X_kdb_exit_init): Likewise.
                   11782:        * i386/intel/pmap.c (pmap_init, pmap_page_table_page_alloc)
                   11783:        (pmap_create): Likewise.
                   11784:        * ipc/ipc_entry.c (ipc_entry_grow_table): Likewise.
                   11785:        * ipc/ipc_kmsg.c (ipc_kmsg_get_from_kernel)
                   11786:        (ipc_kmsg_put_to_kernel): Likewise.
                   11787:        * ipc/ipc_object.c (ipc_object_alloc, ipc_object_alloc_name): Likewise.
                   11788:        * ipc/ipc_port.c (ipc_port_dngrow): Likewise.
                   11789:        * ipc/ipc_space.c: Likewise.
                   11790:        * ipc/mach_debug.c (mach_port_space_info)
                   11791:        (mach_port_space_info): Likewise.
                   11792:        * kern/act.c (act_create): Likewise.
                   11793:        * kern/boot_script.c: Likewise.
                   11794:        * kern/bootstrap.c: Likewise.
                   11795:        * kern/eventcount.c (evc_init): Likewise.
                   11796:        * kern/host.c (host_info, host_processor_sets): Likewise.
                   11797:        * kern/lock.c (lock_init): Likewise.
                   11798:        * kern/lock_mon.c (lock_info_clear): Likewise.
                   11799:        * kern/mach_clock.c (mapable_time_init): Likewise.
                   11800:        * kern/pc_sample.c (get_sampled_pcs): Likewise.
                   11801:        * kern/processor.c (processor_set_things): Likewise.
                   11802:        * kern/syscall_emulation.c (task_set_emulation_vector_internal)
                   11803:        (task_get_emulation_vector, xxx_task_get_emulation_vector): Likewise.
                   11804:        * kern/task.c (task_threads): Likewise.
                   11805:        * kern/xpr.c (xprbootstrap): Likewise.
                   11806:        * kern/zalloc.c (host_zone_info): Likewise.
                   11807:        * vm/vm_debug.c (mach_vm_object_pages): Likewise.
                   11808:        * vm/vm_kern.c (projected_buffer_allocate, copyinmap)
                   11809:        (copyoutmap): Likewise.
                   11810:        * vm/vm_object.c (vm_object_bootstrap): Likewise.
                   11811:        * vm/vm_resident.c (vm_page_grab_contiguous_pages): Likewise.
                   11812: 
                   11813: 2006-11-05  Samuel Thibault  <[email protected]>
                   11814: 
                   11815:        * DEVELOPMENT: Document the following removals.
                   11816: 
                   11817:        Drop MB1/MB2/EXL architecture support.
                   11818:        * i386/i386/pit.h (PITCTR0_PORT, PITCTR1_PORT, PITCTR2_PORT)
                   11819:        (PITCTL_PORT, CLKNUM): Remove MB1/MB2/EXL cases.
                   11820:        [EXL] (time_latch): Remove structure and type.
                   11821:        [EXL] (intr_disable, intr_restore): Remove functions.
                   11822: 
                   11823:        Drop iPSC architecture support.
                   11824:        * i386/i386/hardclock.c: Remove iPSC386 from #if.
                   11825:        * i386/i386/locore.S: Remove iPSC386 delays.
                   11826:        * i386/i386/pic.c: Remove iPSC386 support.
                   11827:        (SLAVEMASK): Rmove iPSC386 case.
                   11828:        * i386/i386/pic.h (ADDR_PIC_BASE, OFF_ICW, OFF_OCW, SIZE_PIC)
                   11829:        (PICM_VECTBASE, PICS_VECTBASE): Remove iPSC386 cases.
                   11830:        [iPSC386] (I_AM_A_SLAVE, I_AM_A_MASTR): Remove macros.
                   11831:        * i386/i386/pit.h: Remove iPSC386 from #if.
                   11832:        [iPSC386] (CLKNUM): Remove macro.
                   11833:        * kern/machine.c (host_get_boot_info): Remove iPSC386 support.
                   11834:        * vm/vm_map.h (VM_MAP_COPY_PAGE_LIST_MAX): Remove iPSC case.
                   11835: 
                   11836:        Drop i860 architecture support.
                   11837:        * i386/i386/pmap.h: Remove i860 comment.
                   11838:        * i386/intel/pmap.c: Remove i860 comments.
                   11839:        [i860]: Don't include `i860ipsc/nodehw.h'.
                   11840:        (INVALIDATE_TLB): Remove i860 case.
                   11841:        (paging_enabled): Remove variable.
                   11842:        (pmap_map): Remove setting INTEL_PTE_NCACHE.
                   11843:        (pmap_bootstrap): Remove i860 support.
                   11844:        (pmap_page_table_page_alloc): Remove setting INTEL_PTE_NCACHE.
                   11845:        (pmap_enter): Remove call to flush function.
                   11846:        (set_dirbase): Remove function.
                   11847:        * i386/intel/pmap.h: Remove i860 comments.
                   11848:        (INTEL_PGBYTES, INTEL_PGSHIFT, intel_btop, intel_ptob)
                   11849:        (intel_round_page, intel_trunc_page, trunc_intel_to_vm)
                   11850:        (round_intel_to_vm, vm_to_intel, INTEL_PTE_VALID, set_dirbase): Remove
                   11851:        i860 cases.
                   11852:        (INTEL_PTE_valid): Remove macro.
                   11853:        * i386/intel/read_fault.c: Remove i860 comment.
                   11854: 
                   11855:        Drop PS2 architecture support.
                   11856:        * i386/i386/fpu.c (fpintr): Remove PS2 from #if.
                   11857:        * i386/i386/gdt.c [PS2] (abios_int_return, abios_th_return, intstack):
                   11858:        Remove extern declarations.
                   11859:        * i386/i386/gdt.h [PS2] (ABIOS_INT_RET, ABIOS_TH_RET, ABIOS_INT_SS)
                   11860:        (ABIOS_TH_SS, ABIOS_FIRST_AVAIL_SEL): Remove macros.
                   11861:        (GDTSZ): Remove PS2 case.
                   11862:        * i386/i386/hardclock.c [PS2]: Don't include `i386/pic.h' and
                   11863:        `i386/pio.h'.
                   11864:        (hardclock): Remove PS2 prototype and code.
                   11865:        * i386/i386/locore.S (RET_OFFSET): Remove PS2 stack layout.
                   11866:        * i386/i386/pic.c (picinit): Remove #ifdef PS2.
                   11867:        * i386/i386/pic.h: Remove PS2 from #if.
                   11868:        * i386/i386/pit.c [PS2] (clock_int_handler): Remove extern declaration.
                   11869:        Don't include `sys/types.h' and `i386ps2/abios.h'.
                   11870:        (clock_request_block, clock_flags, cqbuf): Remove variables.
                   11871:        (clkstart): Remove call to abios_clock_start function.
                   11872:        (COUNT): Don't define.
                   11873:        (abios_clock_start, ackrtclock): Remove functions.
                   11874:        * i386/i386/pit.h: Remove PS2 from #if.
                   11875: 
                   11876: 2006-10-26  Thomas Schwinge  <[email protected]>
                   11877: 
                   11878:        * Makefile.in: Regenerate.
                   11879: 
                   11880:        [task #5956 -- Automake'ify GNU Mach's code base]
                   11881: 
                   11882:        * Makefrag.am (gnumach.msgids): Remove repetition.
                   11883:        * Makerules.am (%.server.msgids, %.user.msgids): Targets renamed from
                   11884:        `%.msgids'.  Also consider MIGCOMSFLAGS respective MIGCOMUFLAGS.
                   11885:        Thanks to Guillem Jover and Leonardo Lopes Pereira for reporting this.
                   11886: 
                   11887:        The Automake build system wants us to have these files in the rcs, so
                   11888:        do that.
                   11889:        * doc/mach.info: New file, generated.
                   11890:        * doc/mach.info-1: Likewise.
                   11891:        * doc/mach.info-2: Likewise.
                   11892:        * doc/stamp-vti: Likewise.
                   11893:        * doc/version.texi: Likewise.
                   11894: 
                   11895: 2006-10-18  Thomas Schwinge  <[email protected]>
                   11896: 
                   11897:        * Makefile.in: Regenerate.
                   11898: 
                   11899:        Install `PREFIX/share/msgids/gnumach.msgids'.
                   11900:        * Makerules.am (%.msgids): Two new rules.
                   11901:        * Makefrag.am (MOSTLYCLEANFILES): Add `gnumach.msgids'.
                   11902:        (gnumach.msgids): New rule.
                   11903:        (exec_msgidsdir, exec_msgids_DATA): New variables.
                   11904: 
                   11905: 2006-10-16  Thomas Schwinge  <[email protected]>
                   11906: 
                   11907:        * configure: Regenerate.
                   11908: 
                   11909:        [bug #18011 -- `make install-data' will build the
                   11910:        ``to-be-generated files'']
                   11911:        * config.status.dep.patch: Do an educated guess instead of using the
                   11912:        `Makefile'.
                   11913:        * configure.ac <config.status.dep.patch>: Update description.
                   11914: 
                   11915: 2006-10-15  Thomas Schwinge  <[email protected]>
                   11916: 
                   11917:        * configure: Regenerate.
                   11918: 
                   11919:        * configure.ac: Update texts snippets: GNU Automake 1.10 has just been
                   11920:        released.
                   11921: 
                   11922:        * i386/include/Makefile.in: Remove unused file.  Thanks to Guillem
                   11923:        Jover for spotting this.
                   11924: 
                   11925:        [task #5956 -- Automake'ify GNU Mach's code base]
                   11926: 
                   11927:        * configure: Regenerate.
                   11928: 
                   11929:        * configure.ac <config.status.dep.patch>: Point to [bug #18011 --
                   11930:        `make install-data' will build the ``to-be-generated files''].
                   11931: 
                   11932:        * Makefile.in: Regenerate.
                   11933: 
                   11934:        * Makefrag.am (include_mach_exec): Rename to `include_mach_eXec'.
                   11935: 
                   11936:        * Makefile.in: New file, generated by `autoreconf'.
                   11937:        * config.h.in: Likewise.
                   11938:        * configure: Updated file, generated by `autoreconf'.
                   11939: 
                   11940:        * INSTALL: File updated, thanks to `autoreconf'.
                   11941:        * aclocal.m4: Likewise.
                   11942: 
                   11943:        * build-aux/compile: New file, thanks to `autoreconf'.
                   11944:        * build-aux/config.guess: Likewise.
                   11945:        * build-aux/config.sub: Likewise.
                   11946:        * build-aux/depcomp: Likewise.
                   11947:        * build-aux/install-sh: Likewise.
                   11948:        * build-aux/mdate-sh: Likewise.
                   11949:        * build-aux/missing: Likewise.
                   11950:        * build-aux/texinfo.tex: Likewise.
                   11951: 
                   11952:        * AUTHORS: New file, copy from the MIG repository.
                   11953: 
                   11954:        * kern/bootstrap.c: Don't include `bootstrap_symbols.h'.
                   11955:        * ddb/db_command.c: Don't include `cpus.h'.
                   11956:        * ddb/db_mp.c: Likewise.
                   11957:        * i386/i386/ast_check.c: Likewise.
                   11958:        * i386/i386/cswitch.S: Likewise.
                   11959:        * i386/i386/db_interface.c: Likewise.
                   11960:        * i386/i386/fpu.c: Likewise.
                   11961:        * i386/i386/fpu.h: Likewise.
                   11962:        * i386/i386/i386asm.sym: Likewise.
                   11963:        * i386/i386/locore.S: Likewise.
                   11964:        * i386/i386/mp_desc.c: Likewise.
                   11965:        * i386/i386/mp_desc.h: Likewise.
                   11966:        * i386/i386/pcb.c: Likewise.
                   11967:        * i386/i386/trap.c: Likewise.
                   11968:        * i386/intel/pmap.c: Likewise.
                   11969:        * include/mach/machine.h: Likewise.
                   11970:        * ipc/ipc_kmsg.c: Likewise.
                   11971:        * ipc/ipc_kmsg.h: Likewise.
                   11972:        * kern/ast.c: Likewise.
                   11973:        * kern/ast.h: Likewise.
                   11974:        * kern/cpu_number.h: Likewise.
                   11975:        * kern/debug.c: Likewise.
                   11976:        * kern/eventcount.c: Likewise.
                   11977:        * kern/host.c: Likewise.
                   11978:        * kern/ipc_sched.c: Likewise.
                   11979:        * kern/lock.c: Likewise.
                   11980:        * kern/lock.h: Likewise.
                   11981:        * kern/lock_mon.c: Likewise.
                   11982:        * kern/mach_clock.c: Likewise.
                   11983:        * kern/mach_factor.c: Likewise.
                   11984:        * kern/machine.c: Likewise.
                   11985:        * kern/priority.c: Likewise.
                   11986:        * kern/processor.c: Likewise.
                   11987:        * kern/processor.h: Likewise.
                   11988:        * kern/sched.h: Likewise.
                   11989:        * kern/sched_prim.c: Likewise.
                   11990:        * kern/startup.c: Likewise.
                   11991:        * kern/syscall_subr.c: Likewise.
                   11992:        * kern/thread.c: Likewise.
                   11993:        * kern/timer.c: Likewise.
                   11994:        * kern/timer.h: Likewise.
                   11995:        * vm/vm_resident.c: Likewise.
                   11996:        * kern/sched_prim.c: Don't include `fast_tas.h'.
                   11997:        * kern/task.c: Likewise.
                   11998:        * kern/task.h: Likewise.
                   11999:        * kern/sched_prim.c: Don't include `hw_footprint.h'.
                   12000:        * kern/thread.c: Likewise.
                   12001:        * kern/thread.h: Likewise.
                   12002:        * kern/counters.c: Don't include `mach_counters.h'.
                   12003:        * kern/counters.h: Likewise.
                   12004:        * ddb/db_ext_symtab.c: Don't include `mach_debug.h'.
                   12005:        * i386/i386/pcb.c: Likewise.
                   12006:        * kern/ipc_kobject.c: Likewise.
                   12007:        * kern/thread.c: Likewise.
                   12008:        * kern/zalloc.c: Likewise.
                   12009:        * kern/ast.c: Don't include `mach_fixpri.h'.
                   12010:        * kern/processor.c: Likewise.
                   12011:        * kern/processor.h: Likewise.
                   12012:        * kern/sched.h: Likewise.
                   12013:        * kern/sched_prim.c: Likewise.
                   12014:        * kern/syscall_subr.c: Likewise.
                   12015:        * kern/thread.c: Likewise.
                   12016:        * kern/thread.h: Likewise.
                   12017:        * kern/host.c: Don't include `mach_host.h'.
                   12018:        * kern/ipc_sched.c: Likewise.
                   12019:        * kern/machine.c: Likewise.
                   12020:        * kern/processor.c: Likewise.
                   12021:        * kern/processor.h: Likewise.
                   12022:        * kern/sched_prim.c: Likewise.
                   12023:        * kern/startup.c: Likewise.
                   12024:        * kern/task.c: Likewise.
                   12025:        * kern/thread.c: Likewise.
                   12026:        * kern/thread.h: Likewise.
                   12027:        * include/mach/mach.defs: Don't include `mach_ipc_compat.h'.
                   12028:        * include/mach/mach_param.h: Likewise.
                   12029:        * include/mach/mach_traps.h: Likewise.
                   12030:        * include/mach/message.h: Likewise.
                   12031:        * include/mach/mig_errors.h: Likewise.
                   12032:        * include/mach/notify.h: Likewise.
                   12033:        * include/mach/port.h: Likewise.
                   12034:        * include/mach/std_types.defs: Likewise.
                   12035:        * include/mach/task_special_ports.h: Likewise.
                   12036:        * include/mach/thread_special_ports.h: Likewise.
                   12037:        * ipc/ipc_kmsg.c: Likewise.
                   12038:        * ipc/ipc_kmsg.h: Likewise.
                   12039:        * ipc/ipc_marequest.c: Likewise.
                   12040:        * ipc/ipc_notify.c: Likewise.
                   12041:        * ipc/ipc_notify.h: Likewise.
                   12042:        * ipc/ipc_object.c: Likewise.
                   12043:        * ipc/ipc_object.h: Likewise.
                   12044:        * ipc/ipc_port.c: Likewise.
                   12045:        * ipc/ipc_port.h: Likewise.
                   12046:        * ipc/ipc_right.c: Likewise.
                   12047:        * ipc/ipc_right.h: Likewise.
                   12048:        * ipc/ipc_space.c: Likewise.
                   12049:        * ipc/ipc_space.h: Likewise.
                   12050:        * ipc/mach_debug.c: Likewise.
                   12051:        * ipc/mach_msg.c: Likewise.
                   12052:        * ipc/mach_msg.h: Likewise.
                   12053:        * ipc/mach_port.c: Likewise.
                   12054:        * kern/ipc_tt.c: Likewise.
                   12055:        * kern/syscall_sw.c: Likewise.
                   12056:        * kern/thread.h: Likewise.
                   12057:        * include/mach_debug/mach_debug.defs: Don't include `mach_ipc_debug.h'.
                   12058:        * ipc/ipc_hash.c: Likewise.
                   12059:        * ipc/ipc_hash.h: Likewise.
                   12060:        * ipc/ipc_marequest.c: Likewise.
                   12061:        * ipc/ipc_marequest.h: Likewise.
                   12062:        * kern/ipc_kobject.c: Don't include `mach_ipc_test.h'.
                   12063:        * ddb/db_access.c: Don't include `mach_kdb.h'.
                   12064:        * ddb/db_aout.c: Likewise.
                   12065:        * ddb/db_break.c: Likewise.
                   12066:        * ddb/db_command.c: Likewise.
                   12067:        * ddb/db_command.h: Likewise.
                   12068:        * ddb/db_cond.c: Likewise.
                   12069:        * ddb/db_examine.c: Likewise.
                   12070:        * ddb/db_expr.c: Likewise.
                   12071:        * ddb/db_ext_symtab.c: Likewise.
                   12072:        * ddb/db_input.c: Likewise.
                   12073:        * ddb/db_lex.c: Likewise.
                   12074:        * ddb/db_macro.c: Likewise.
                   12075:        * ddb/db_mp.c: Likewise.
                   12076:        * ddb/db_output.c: Likewise.
                   12077:        * ddb/db_print.c: Likewise.
                   12078:        * ddb/db_run.c: Likewise.
                   12079:        * ddb/db_sym.c: Likewise.
                   12080:        * ddb/db_task_thread.c: Likewise.
                   12081:        * ddb/db_trap.c: Likewise.
                   12082:        * ddb/db_variables.c: Likewise.
                   12083:        * ddb/db_watch.c: Likewise.
                   12084:        * ddb/db_watch.h: Likewise.
                   12085:        * ddb/db_write_cmd.c: Likewise.
                   12086:        * i386/i386/db_disasm.c: Likewise.
                   12087:        * i386/i386/db_interface.c: Likewise.
                   12088:        * i386/i386/db_trace.c: Likewise.
                   12089:        * i386/i386/i386asm.sym: Likewise.
                   12090:        * i386/i386/locore.S: Likewise.
                   12091:        * i386/i386/trap.c: Likewise.
                   12092:        * i386/i386at/kd.c: Likewise.
                   12093:        * i386/i386at/model_dep.c: Likewise.
                   12094:        * include/mach_debug/mach_debug.defs: Likewise.
                   12095:        * ipc/ipc_kmsg.c: Likewise.
                   12096:        * ipc/ipc_object.c: Likewise.
                   12097:        * ipc/ipc_port.c: Likewise.
                   12098:        * ipc/ipc_pset.c: Likewise.
                   12099:        * kern/bootstrap.c: Likewise.
                   12100:        * kern/debug.c: Likewise.
                   12101:        * kern/exception.c: Likewise.
                   12102:        * kern/lock.c: Likewise.
                   12103:        * kern/xpr.c: Likewise.
                   12104:        * vm/vm_fault.c: Likewise.
                   12105:        * vm/vm_map.c: Likewise.
                   12106:        * vm/vm_object.c: Likewise.
                   12107:        * vm/vm_resident.c: Likewise.
                   12108:        * kern/lock.h: Don't include `mach_ldebug.h'.
                   12109:        * kern/lock_mon.c: Don't include `mach_lock_mon.h'.
                   12110:        * kern/ipc_kobject.c: Don't include `mach_machine_routines.h'.
                   12111:        * kern/lock_mon.c: Don't include `mach_mp_debug.h'.
                   12112:        * vm/memory_object.c: Don't include `mach_pagemap.h'.
                   12113:        * vm/vm_fault.c: Likewise.
                   12114:        * vm/vm_object.c: Likewise.
                   12115:        * vm/vm_object.h: Likewise.
                   12116:        * vm/vm_pageout.c: Likewise.
                   12117:        * i386/i386/trap.c: Don't include `mach_pcsample.h'.
                   12118:        * kern/mach4.srv: Likewise.
                   12119:        * kern/mach_clock.c: Likewise.
                   12120:        * kern/pc_sample.c: Likewise.
                   12121:        * kern/task.c: Likewise.
                   12122:        * kern/thread.c: Likewise.
                   12123:        * vm/vm_fault.c: Likewise.
                   12124:        * device/net_io.c: Don't include `mach_ttd.h'.
                   12125:        * i386/i386/kttd_interface.c: Likewise.
                   12126:        * i386/i386/locore.S: Likewise.
                   12127:        * i386/i386/trap.c: Likewise.
                   12128:        * i386/i386at/autoconf.c: Likewise.
                   12129:        * include/mach_debug/mach_debug.defs: Don't include `mach_vm_debug.h'.
                   12130:        * vm/vm_debug.c: Likewise.
                   12131:        * vm/vm_page.h: Likewise.
                   12132:        * vm/vm_resident.c: Likewise.
                   12133:        * kern/sched_prim.c: Don't include `power_save.h'.
                   12134:        * kern/sched.h: Don't include `simple_clock.h'.
                   12135:        * kern/sched_prim.c: Likewise.
                   12136:        * kern/thread.c: Likewise.
                   12137:        * kern/mach_clock.c: Don't include `stat_time.h'.
                   12138:        * i386/i386/i386asm.sym: Likewise.
                   12139:        * i386/i386/locore.S: Likewise.
                   12140:        * kern/sched.h: Likewise.
                   12141:        * kern/timer.c: Likewise.
                   12142:        * kern/timer.h: Likewise.
                   12143:        * kern/startup.c: Don't include `xpr_debug.h'.
                   12144:        * kern/xpr.h: Likewise.
                   12145:        * i386/i386at/autoconf.c: Don't include `com.h'.
                   12146:        * i386/i386at/com.c: Likewise.
                   12147:        * i386/i386at/conf.c: Likewise.
                   12148:        * i386/i386at/cons_conf.c: Likewise.
                   12149:        * i386/i386/fpe_linkage.c: Don't include `fpe.h'.
                   12150:        * i386/i386/fpu.c: Likewise.
                   12151:        * i386/i386/fpu.h: Likewise.
                   12152:        * i386/i386/trap.c: Likewise.
                   12153:        * i386/i386at/autoconf.c: Don't include `lpr.h'.
                   12154:        * i386/i386at/conf.c: Likewise.
                   12155:        * i386/i386at/lpr.c: Likewise.
                   12156:        * i386/i386/cswitch.S: Don't include `platforms.h'.
                   12157:        * i386/i386/fpu.c: Likewise.
                   12158:        * i386/i386/gdt.c: Likewise.
                   12159:        * i386/i386/hardclock.c: Likewise.
                   12160:        * i386/i386/i386asm.sym: Likewise.
                   12161:        * i386/i386/io_emulate.c: Likewise.
                   12162:        * i386/i386/locore.S: Likewise.
                   12163:        * i386/i386/pic.c: Likewise.
                   12164:        * i386/i386/pic.h: Likewise.
                   12165:        * i386/i386/pit.c: Likewise.
                   12166:        * i386/i386/pit.h: Likewise.
                   12167:        * i386/i386/seg.h: Likewise.
                   12168:        * i386/i386at/model_dep.c: Likewise.
                   12169:        * i386/i386at/com.c: Don't include `rc.h'
                   12170:        * i386/i386at/cons_conf.c: Likewise.
                   12171:        * i386/i386at/pic_isa.c: Likewise.
                   12172:        * device/ds_routines.c: Don't include <i386/linux/device-drivers.h>.
                   12173:        * i386/i386at/i386at_ds_routines.c: Likewise.
                   12174:        * i386/linux/dev/include/linux/autoconf.h: Likewise.
                   12175:        * linux/dev/arch/i386/kernel/setup.c: Likewise.
                   12176:        * linux/dev/init/main.c: Likewise.
                   12177:        * linux/pcmcia-cs/glue/pcmcia_glue.h: Likewise.
                   12178:        * linux/pcmcia-cs/glue/wireless_glue.h: Likewise.
                   12179:        * kern/lock_mon.c: Don't include <time_stamp.h>.
                   12180:        * device/cons.c: Include <device/cons.h> instead of <cons.h>.
                   12181:        * i386/i386at/com.c: Likewise.
                   12182:        * i386/i386at/kd.c: Likewise.
                   12183:        * i386/i386at/cons_conf.c: Likewise.
                   12184:        * i386/i386at/i386at_ds_routines.c: Include <device/device.server.h>
                   12185:        instead of "device_interface.h".
                   12186:        * device/chario.c: Include <device/device_reply.user.h> instead of
                   12187:        "device_reply.h".
                   12188:        * device/ds_routines.c: Likewise.
                   12189:        * linux/dev/glue/block.c: Likewise.
                   12190:        * linux/dev/glue/net.c: Likewise.
                   12191:        * linux/pcmcia-cs/glue/ds.c: Likewise.
                   12192:        * device/cons.c: Include <device/kmsg.h> instead of <kmsg.h>.
                   12193:        * device/kmsg.c: Likewise.
                   12194:        * i386/i386/cswitch.S: Include <i386/cpu_number.h> instead of
                   12195:        "cpu_number.h".
                   12196:        * i386/i386/locore.S: Likewise.
                   12197:        * i386/intel/pmap.c: Likewise.
                   12198:        * ipc/ipc_kmsg.h: Likewise.
                   12199:        * i386/i386/i386asm.sym: Include <i386/gdt.h> instead of "gdt.h".
                   12200:        * i386/i386/idt.c: Likewise.
                   12201:        * i386/i386at/int_init.c: Likewise.
                   12202:        * i386/i386/cswitch.S: Include <i386/i386asm.h> instead of "i386asm.h".
                   12203:        * i386/i386/locore.S: Likewise.
                   12204:        * i386/i386at/boothdr.S: Likewise.
                   12205:        * i386/i386at/interrupt.S: Likewise.
                   12206:        * i386/i386at/idt.h: Include <i386/idt-gen.h> instead of "idt-gen.h".
                   12207:        * i386/i386at/interrupt.S: Include <i386/ipl.h> instead of "ipl.h".
                   12208:        * i386/i386/i386asm.sym: Include <i386/ldt.h> instead of "ldt.h".
                   12209:        * i386/i386/locore.S: Likewise.
                   12210:        * i386/i386/i386asm.sym: Include <i386/mp_desc.h> instead of
                   12211:        "mp_desc.h".
                   12212:        * i386/i386at/interrupt.S: Include <i386/pic.h> instead of "pic.h".
                   12213:        * i386/i386/cswitch.S: Include <i386/proc_reg.h> instead of
                   12214:        "proc_reg.h".
                   12215:        * i386/i386/locore.S: Likewise.
                   12216:        * i386/i386at/model_dep.c: Likewise.
                   12217:        * i386/i386/i386asm.sym: Include <i386/seg.h> instead of "seg.h".
                   12218:        * i386/i386/idt.c: Likewise.
                   12219:        * i386/i386/locore.S: Likewise.
                   12220:        * i386/i386/locore.S: Include <i386/trap.h> instead of "trap.h".
                   12221:        * i386/i386/i386asm.sym: Include <i386/tss.h> instead of "tss.h".
                   12222:        * i386/i386/i386asm.sym: Include <i386/vm_param.h> instead of
                   12223:        "vm_param.h".
                   12224:        * i386/i386/idt.c: Likewise.
                   12225:        * i386/i386at/kd.c: Likewise.
                   12226:        * i386/i386at/model_dep.c: Likewise.
                   12227:        * i386/intel/pmap.c: Likewise.
                   12228:        * i386/i386/i386asm.sym: Include <i386at/idt.h> instead of "idt.h".
                   12229:        * i386/i386/idt.c: Likewise.
                   12230:        * i386/i386at/int_init.c: Likewise.
                   12231:        * ipc/ipc_target.c: Include <kern/sched_prim.h> instead of
                   12232:        "sched_prim.h".
                   12233:        * vm/memory_object.c: Include <vm/memory_object_default.user.h> instead
                   12234:        of "memory_object_default.h".
                   12235:        * vm/vm_object.c: Likewise.
                   12236:        * vm/vm_pageout.c: Likewise.
                   12237:        * vm/memory_object.c: Include <vm/memory_object_user.user.h> instead of
                   12238:        "memory_object_user.h".
                   12239:        * vm/vm_fault.c: Likewise.
                   12240:        * vm/vm_object.c: Likewise.
                   12241:        * vm/vm_pageout.c: Likewise.
                   12242: 
                   12243:        * Makefile.am: New file.
                   12244:        * Makerules.am <configure's findings, System dependent Makerules>
                   12245:        <Compilation flags, Dependency generation, Autoconf support>: Remove
                   12246:        sections.
                   12247:        <Building from foo.cli, Building from foo.srv>: Rewrite:
                   12248:        (%.server.defs.c, %.user.defs.c, %.server.h %.server.c)
                   12249:        (%.user.h %.user.c, %.server.defs, %.user.defs): New targets.
                   12250:        (%.h %_user.c %.cli.d, %_interface.h %_server.c %.srv.d): Remove
                   12251:        targets.
                   12252:        (echo-%): New target.
                   12253:        * Makefrag.am <configure's findings, Rules, Kernel Image, Installation>
                   12254:        <Building the distribution, Autoconf support, Makerules>: Remove
                   12255:        sections.
                   12256:        (enable_kdb, enable_kmsg): Adapt.
                   12257:        <All the source in each directory>
                   12258:        <Header files installed for user use>: Rewrite to adapt to how things
                   12259:        are to be done now.
                   12260:        <Automatically generated source files>: New section.
                   12261:        (i386/Makefrag.am): Include file if appropriate.
                   12262:        * i386/Makefrag.am <configure's findings, Rules, Installation>
                   12263:        <Autoconf support, Makerules>: Remove sections.
                   12264:        (enable_lpr): Adapt.
                   12265:        <Source files for any i386 kernel>: Rewrite to adapt to how things are
                   12266:        to be done now.
                   12267:        * i386/linux/Makefrag.am: New file.
                   12268:        * linux/Makefrag.am: Likewise.
                   12269: 
                   12270:        * Makefile.in: Move file...
                   12271:        * Makefrag.am: ... here.
                   12272:        * i386/Makefile.in: Move file...
                   12273:        * i386/Makefrag.am: ... here.
                   12274:        * i386/linux/Makefile.in: Remove file.
                   12275: 
                   12276:        * doc/Makefile.in: Remove file.
                   12277:        * doc/Makefrag.am: New file.
                   12278:        * tests/Makefrag.am: Likewise.
                   12279:        * tests/test-mbchk.in: Likewise.
                   12280: 
                   12281:        * configfrag.ac: New file.
                   12282:        * tests/configfrag.ac: Likewise.
                   12283:        * Makerules.am (DEFINES): Convert those into...
                   12284:        * configfrag.ac: ... AC_DEFINE instantiations.
                   12285:        * i386/Makerules.in (DEFINES): Convert those into...
                   12286:        * i386/configfrag.ac: ... AC_DEFINE instantiations.
                   12287:        * i386/Makerules.in: Remove file.
                   12288:        * i386/configfrag.ac (AC_PREREQ, AC_INIT, AC_CONFIG_SRCDIR)
                   12289:        (AC_CONFIG_SUBDIRS, AC_CONFIG_FILES, AC_OUTPUT): Don't invoke.
                   12290:        (../version.m4): Don't include.
                   12291:        (--disable-lpr): Rework configuration option.
                   12292:        (--disable-default-device-drivers): Move configuration option to...
                   12293:        * configfrag.ac: ... here.
                   12294:        * configure.ac (AC_CONFIG_AUX_DIR, AM_INIT_AUTOMAKE): Instantiate.
                   12295:        (AC_PREFIX_DEFAULT, AC_CONFIG_SUBDIRS): Don't invoke.
                   12296:        <Output variable `systype'>: Rework the whole section.
                   12297:        <Options> (--enable-kdb, --disable-kmsg): Move into `configfrag.ac' and
                   12298:        adapt.
                   12299:        <Programs> (AM_PROG_AS, AM_PROG_CC_C_O): Instantiate.
                   12300:        (AC_CHECK_PROG): Move instantiation searching for a `mbchk' program
                   12301:        into `tests/configfrag.ac'.
                   12302:        (AC_CHECK_PROG): Instantiate to search for a `patch' program.
                   12303:        <configure fragments> (tests/configfrag.ac, configfrag.ac)
                   12304:        (linux/configfrag.ac): Include files.
                   12305:        (i386/configfrag.ac): Include file if appropriate.
                   12306:        (AC_CONFIG_HEADER): Instantiate for `config.h'.
                   12307:        (AC_CONFIG_FILES): Remove `Makerules' and `doc/Makefile'.
                   12308:        (AC_CONFIG_COMMANDS_POST): Instantiate for `config.status.dep.patch'.
                   12309:        (AC_CONFIG_COMMANDS): Instantiate for
                   12310:        `Makefile.correct_output_files_for_.S_files.patch' and (the
                   12311:        nonexistent) `Makefile.dependency_tracking_for_.S_files.patch'.
                   12312:        * Makefile.dependency_tracking_for_.S_files.patch: New file.
                   12313:        * config.status.dep.patch: Likewise.
                   12314:        * bogus/bootstrap_symbols.h: Remove file.
                   12315:        * configfrag.ac: AC_DEFINE `BOOTSTRAP_SYMBOLS' to `0'.
                   12316:        * bogus/cpus.h: Remove file.
                   12317:        * configfrag.ac: AC_DEFINE `NCPUS' to `1'.  AH_TEMPLATE
                   12318:        `MULTIPROCESSOR'.
                   12319:        * bogus/fast_tas.h: Remove file.
                   12320:        * configfrag.ac: AC_DEFINE `FAST_TAS' to `0'.
                   12321:        * bogus/hw_footprint.h: Remove file.
                   12322:        * configfrag.ac: AC_DEFINE `HW_FOOTPRINT' to `0'.
                   12323:        * bogus/mach_counters.h: Remove file.
                   12324:        * configfrag.ac: AC_DEFINE `MACH_COUNTERS' to `0'.
                   12325:        * bogus/mach_debug.h: Remove file.
                   12326:        * configfrag.ac: AC_DEFINE `MACH_DEBUG' to `1'.
                   12327:        * bogus/mach_fixpri.h: Remove file.
                   12328:        * configfrag.ac: AC_DEFINE `MACH_FIXPRI' to `1'.
                   12329:        * bogus/mach_host.h: Remove file.
                   12330:        * configfrag.ac: AC_DEFINE `MACH_HOST' to `0'.
                   12331:        * bogus/mach_ipc_compat.h: Remove file.
                   12332:        * configfrag.ac: AC_DEFINE `MACH_IPC_COMPAT' to `1'.
                   12333:        * bogus/mach_ipc_debug.h: Remove file.
                   12334:        * configfrag.ac: AC_DEFINE `MACH_IPC_DEBUG' to `1'.
                   12335:        * bogus/mach_ipc_test.h: Remove file.
                   12336:        * configfrag.ac: AC_DEFINE `MACH_IPC_TEST' to `0'.
                   12337:        * bogus/mach_kdb.h: Remove file.
                   12338:        * configfrag.ac (--disable-kdb): AC_DEFINE `MACH_KDB' to `0'.
                   12339:        * bogus/mach_ldebug.h: Remove file.
                   12340:        * configfrag.ac: AC_DEFINE `MACH_LDEBUG' to `0'.
                   12341:        * bogus/mach_lock_mon.h: Remove file.
                   12342:        * configfrag.ac: AC_DEFINE `MACH_LOCK_MON' to `0'.
                   12343:        * bogus/mach_machine_routines.h: Remove file.
                   12344:        * configfrag.ac: Add comment about not AC_DEFINEing
                   12345:        `MACH_MACHINE_ROUTINES' to `0'.
                   12346:        * bogus/mach_mp_debug.h: Remove file.
                   12347:        * configfrag.ac: AC_DEFINE `MACH_MP_DEBUG' to `0'.
                   12348:        * bogus/mach_pagemap.h: Remove file.
                   12349:        * configfrag.ac: AC_DEFINE `MACH_PAGEMAP' to `1'.
                   12350:        * bogus/mach_pcsample.h: Remove file.
                   12351:        * configfrag.ac: AC_DEFINE `MACH_PCSAMPLE' to `1'.
                   12352:        * bogus/mach_ttd.h: Remove file.
                   12353:        * configfrag.ac: AC_DEFINE `MACH_TTD' to `0'.
                   12354:        * bogus/mach_vm_debug.h: Remove file.
                   12355:        * configfrag.ac: AC_DEFINE `MACH_VM_DEBUG' to `1'.
                   12356:        * bogus/power_save.h: Remove file.
                   12357:        * configfrag.ac: AC_DEFINE `POWER_SAVE' to `1'.
                   12358:        * bogus/simple_clock.h: Remove file.
                   12359:        * configfrag.ac: AC_DEFINE `SIMPLE_CLOCK' to `0'.
                   12360:        * bogus/stat_time.h: Remove file.
                   12361:        * configfrag.ac: AC_DEFINE `STAT_TIME' to `1'.
                   12362:        * bogus/xpr_debug.h: Remove file.
                   12363:        * configfrag.ac: AC_DEFINE `XPR_DEBUG' to `1'.
                   12364:        * i386/bogus/com.h: Remove file.
                   12365:        * i386/configfrag.ac: AC_DEFINE `NCOM' to `4'.
                   12366:        * i386/bogus/fpe.h: Remove file.
                   12367:        * i386/configfrag.ac: AC_DEFINE `FPE' to `0'.
                   12368:        * i386/bogus/lpr.h: Remove file.
                   12369:        * i386/configfrag.ac: AC_DEFINE `NLPR' to `1'.
                   12370:        * i386/bogus/mach_machine_routines.h: Remove file.
                   12371:        * i386/configfrag.ac: AC_DEFINE `MACH_MACHINE_ROUTINES' to `1'.
                   12372:        * i386/bogus/platforms.h: Remove file.
                   12373:        * i386/configfrag.ac: AC_DEFINE `AT386' to `1'.
                   12374:        * i386/bogus/rc.h: Remove file.
                   12375:        * i386/configfrag.ac: AC_DEFINE `RCLINE' to `-1' and `RCADDR' to `0x3f8'.
                   12376: 
                   12377:        * Makerules.in: Move file...
                   12378:        * Makerules.am: ... here.
                   12379: 
                   12380:        * linux/configfrag.ac (AC_PREREQ, AC_INIT, AC_CONFIG_SRCDIR)
                   12381:        (AC_CONFIG_HEADER, AC_CANONICAL_HOST, hurd_SYSTYPE, AC_CONFIG_FILES)
                   12382:        (AC_OUTPUT): Don't invoke.
                   12383:        (../../version.m4, ../../Drivers.macros, ../../aclocal.m4): Don't
                   12384:        include.
                   12385:        <case "$host_cpu">: Only evaluate for i386.
                   12386:        (--disable-default-device-drivers): Remove configuraion option.
                   12387:        (LINUX_DEV, __KERNEL__): AC_DEFINE these.
                   12388:        (scsi, net, pcmcia, wireless): Remove AC_DRIVER_CLASS instantiations.
                   12389:        (device_driver_group): New shell function.
                   12390:        (AC_OPTION, AC_OPTION_nodef): New functions.
                   12391:        (linux_DRIVER): Rename function to AC_Linux_DRIVER and adapt.
                   12392:        (linux_DRIVER_nodef): Likewise to AC_Linux_DRIVER_nodef.
                   12393:        <Configuration options>: Adapt to the new functions introduced above
                   12394:        and re-position parts.
                   12395:        <Process device driver groups>: Adapt to the changes related to device
                   12396:        driver groups.
                   12397:        * linux/configure.in <AC_CONFIG_LINKS>: Move to...
                   12398:        * linux/configfrag.ac: ... here.
                   12399:        * linux/configure.in: Remove file.
                   12400:        * linux/configure: Likewise.
                   12401:        * i386/linux/Makerules.in: Likewise.
                   12402:        * Drivers.macros: Likewise.
                   12403: 
                   12404:        * i386/linux/configure.ac: Move file...
                   12405:        * linux/configfrag.ac: ... here.
                   12406:        * i386/linux/configure: Remove file.
                   12407:        * i386/linux/device-drivers.h.in: Likewise.
                   12408: 
                   12409:        * i386/configure.in: Move file...
                   12410:        * i386/configfrag.ac: ... here.
                   12411:        * i386/configure: Remove file.
                   12412: 
                   12413:        * config.guess: Remove file.
                   12414:        * config.sub: Likewise.
                   12415:        * install-sh: Likewise.
                   12416: 
                   12417:        * i386/Files: Remove file.
                   12418:        * i386/Subdirs: Likewise.
                   12419:        * linux/Files: Likewise.
                   12420:        * linux/Subdirs: Likewise.
                   12421: 
                   12422: 2006-10-13  Thomas Schwinge  <[email protected]>
                   12423: 
                   12424:        * configure.in: Move file...
                   12425:        * configure.ac: ... here.
                   12426: 
                   12427:        * Makerules.in (ASFLAGS): Don't define `ASSEMBLER'.
                   12428:        * i386/i386/cpu_number.h: Check for `__ASSEMBLER__' instead of
                   12429:        `ASSEMBLER'.
                   12430:        * i386/i386/debug.h: Likewise.
                   12431:        * i386/i386/ipl.h: Likewise.
                   12432:        * i386/i386/ldt.h: Likewise.
                   12433:        * i386/i386/proc_reg.h: Likewise.
                   12434:        * i386/i386/seg.h: Likewise.
                   12435:        * i386/i386/trap.h: Likewise.
                   12436:        * i386/include/mach/i386/kern_return.h: Likewise.
                   12437:        * i386/include/mach/i386/vm_types.h: Likewise.
                   12438:        * i386/intel/pmap.h: Likewise.
                   12439:        * include/mach/boolean.h: Likewise.
                   12440:        * include/mach/boot.h: Likewise.
                   12441:        * include/mach/error.h: Likewise.
                   12442:        * kern/syscall_emulation.h: Likewise.
                   12443: 
                   12444:        * configure: Regenerate.
                   12445:        * i386/configure: Likewise.
                   12446:        * i386/linux/configure: Likewise.
                   12447:        * linux/configure: Likewise.
                   12448: 
                   12449: 2006-10-12  Thomas Schwinge  <[email protected]>
                   12450: 
                   12451:        * version.m4 (AC_PACKAGE_VERSION): Let's name it `1.3.99'.
                   12452: 
                   12453:        * configure: Regenerate.
                   12454:        * i386/configure: Likewise.
                   12455:        * i386/linux/configure: Likewise.
                   12456:        * linux/configure: Likewise.
                   12457: 
                   12458:        * version.m4: Rewrite.
                   12459:        * configure.in: Adapt to the above.
                   12460:        * i386/configure.in: Likewise.
                   12461:        * i386/linux/configure.ac: Likewise.
                   12462:        * linux/configure.in: Likewise.
                   12463: 
                   12464: 2006-10-09  Thomas Schwinge  <[email protected]>
                   12465: 
                   12466:        * ddb/tr.h: Insert the content of `bogus/mach_assert.h' instead of
                   12467:        including it.
                   12468:        * i386/i386/loose_ends.c: Likewise.
                   12469:        * bogus/mach_assert.h: Remove file.
                   12470: 
                   12471:        * bogus/panic.c: Remove file.
                   12472: 
                   12473:        * linux/src/drivers/scsi/in2000.c (in2000_proc_info) [PROC_INTERFACE]:
                   12474:        Don't consider `__DATE__' and `__TIME__'.
                   12475: 
                   12476: 2006-10-08  Thomas Schwinge  <[email protected]>
                   12477: 
                   12478:        * linux/dev/drivers/scsi/scsi.h: Move file...
                   12479:        * linux/src/drivers/scsi/scsi.h: ... here, overwriting the old file.
                   12480: 
                   12481:        * linux/dev/drivers/scsi/seagate.c: Move file...
                   12482:        * linux/src/drivers/scsi/seagate.c: ... here, overwriting the old file.
                   12483: 
                   12484:        * linux/dev/drivers/scsi/aha152x.c: Move file...
                   12485:        * linux/src/drivers/scsi/aha152x.c: ... here, overwriting the old file.
                   12486: 
                   12487:        * linux/dev/drivers/scsi/sr.c: Move file...
                   12488:        * linux/src/drivers/scsi/sr.c: ... here, overwriting the old file.
                   12489: 
                   12490:        * linux/dev/drivers/scsi/sd_ioctl.c: Move file...
                   12491:        * linux/src/drivers/scsi/sd_ioctl.c: ... here, overwriting the old file.
                   12492: 
                   12493:        * linux/dev/drivers/scsi/sd.c: Move file...
                   12494:        * linux/src/drivers/scsi/sd.c: ... here, overwriting the old file.
                   12495: 
                   12496:        * linux/dev/drivers/scsi/hosts.c: Remove file.
                   12497:        * linux/dev/drivers/scsi/scsi.c: Likewise.
                   12498: 
                   12499:        * linux/dev/drivers/block/ide.c: Move file...
                   12500:        * linux/src/drivers/block/ide.c: ... here, overwriting the old file.
                   12501: 
                   12502:        * linux/dev/drivers/block/ide-cd.c: Remove file.
                   12503:        * linux/src/drivers/block/ide-cd.c (cdrom_sleep): Don't define function
                   12504:        `#ifndef MACH'.
                   12505: 
                   12506: 2006-10-07  Thomas Schwinge  <[email protected]>
                   12507: 
                   12508:        * i386/linux/configure: Regernerate.
                   12509:        * i386/linux/device-drivers.h.in: Likewise.
                   12510: 
                   12511:        * Drivers.macros (AC_DRIVER, AC_DRIVER_nodef): Rewrite to allow options
                   12512:        with dashes in them, make it usable more universally and enhance the
                   12513:        generated comments in header files.
                   12514:        * i386/linux/configure.ac (linux_DRIVER, linux_DRIVER_nodef): Enhance
                   12515:        DESCRIPTION.
                   12516:        (u1434f): Rename to `u14-34f'.
                   12517:        (smcultra): Rename to `smc-ultra'.
                   12518:        (smcultra32): Rename to `smc-ultra32'.
                   12519:        (hpplus): Rename to `hp-plus'.
                   12520:        (ne2kpci): Rename to `ne2k-pci'.
                   12521:        (viarhine): Rename to `via-rhine'.
                   12522:        (intelgige): Rename to `intel-gige'.
                   12523:        (winbond840): Rename to `winbond-840'.
                   12524:        (AC_PCMCIA_OPTION): Remove function.
                   12525:        (pcmcia-isa): Use `AC_DRIVER' instead of `AC_PCMCIA_OPTION'.
                   12526:        * i386/README-Drivers: Update accordingly.
                   12527: 
                   12528: 2006-10-03  Thomas Schwinge  <[email protected]>
                   12529: 
                   12530:        [task #5941 -- Linker script for GNU Mach]
                   12531: 
                   12532:        * Makefile.in (kernel.o): Remove `$(systype)-objfiles-prepend' hackery.
                   12533:        * i386/Makefile.in (sysdep.a): Likewise.
                   12534:        * i386/Makerules.in: Likewise.
                   12535:        (LDFLAGS-kernel): Point to the linker script.
                   12536:        * i386/i386at/boothdr.S (_start): Don't put into `.text', but into
                   12537:        `.text.start' instead.
                   12538:        * i386/ldscript: Change to put `.text' at 0x100000 and put
                   12539:        `.text.start' first into `.text'.
                   12540: 
                   12541:        * i386/ldscript: New file, copied from `/lib/ldscripts/elf_i386.x' of a
                   12542:        GNU Binutils 2.16.1 installation.
                   12543: 
                   12544: 2006-09-25  Stefan Siegl  <[email protected]>
                   12545: 
                   12546:        * linux/dev/glue/net.c (device_get_status): Reworked to not read
                   12547:        from STATUS.  Fill `struct iw_point' correctly if necessary.
                   12548: 
                   12549: 2006-09-23  Stefan Siegl  <[email protected]>
                   12550: 
                   12551:        * i386/linux/configure: Regenerate.
                   12552:        * i386/linux/device-drivers.h.in: Likewise.
                   12553: 
                   12554:        * i386/linux/configure.ac (AC_PCMCIA_OPTION): New function.
                   12555:        (--disable-pcmcia-isa): New configuration option to disable ISA-bus
                   12556:        support in the pcmcia core, which is otherwise enabled now by default.
                   12557:        * doc/mach.texi (Configuration): Briefly document the new configuration
                   12558:        option.
                   12559:        * i386/README-Drivers: Likewise.
                   12560: 
                   12561: 2006-09-20  Thomas Schwinge  <[email protected]>
                   12562: 
                   12563:        * configure: Regenerate.
                   12564:        * i386/configure: Likewise.
                   12565:        * i386/linux/configure: Likewise.
                   12566:        * i386/linux/device-drivers.h.in: Likewise.
                   12567: 
                   12568:        * Drivers.macros (AC_DRIVER_ALIAS): Remove definition.
                   12569:        (AC_DRIVER): Extend to take a `description' parameter and consider
                   12570:        `$enable_default_device_drivers'.
                   12571:        (AC_DRIVER_nodef): New definition.
                   12572:        * configure.in (options kdb, kmsg): Remove redundancy.
                   12573:        * i386/configure.in (option default-device-drivers): New option.
                   12574:        (option lpr): Consider `$enable_default_device_drivers'.
                   12575:        * i386/linux/configure.ac: Rework substantially.  Remove all aliases.
                   12576:        Rename some of the device driver options.
                   12577:        (option default-device-drivers): New option.
                   12578:        (linux_DRIVER): Take care about a `description' parameter and don't
                   12579:        invoke AC_DRIVER_ALIAS.
                   12580:        (linux_DRIVER_nodef): New definition.
                   12581:        Adapt all usages of AC_DRIVER and linux_DRIVER to provide a
                   12582:        `description' parameter.
                   12583:        (g_NCR5380, NCR53c406a, eata_dma, wavelan, atp): Change from AC_DRIVER
                   12584:        to AC_DRIVER_nodef to have these device drivers disabled by default.
                   12585:        * doc/mach.texi: Add a note about the outdatedness to the configuration
                   12586:        option table.
                   12587:        * i386/README-Drivers: Update.
                   12588: 
                   12589: 2006-09-19  Samuel Thibault  <[email protected]>
                   12590: 
                   12591:        [bug #17338 -- GNU Mach vs. GCC 4.1]
                   12592:        * i386/i386/seg.h (struct pseudo_descriptor): Pack structure and
                   12593:        move the padding field to the end.
                   12594:        (lgdt): Pass the whole structure to the lgdt assembly command.
                   12595:        (lidt): Likewise.
                   12596: 
                   12597: 2006-08-06  Thomas Schwinge  <[email protected]>
                   12598: 
                   12599:        * DEVELOPMENT: Update.
                   12600: 
                   12601: 2006-07-31  Stefan Siegl  <[email protected]>
                   12602: 
                   12603:        * doc/mach.texi (Configuration): Document the new PCMCIA drivers a bit
                   12604:        more.
                   12605:        * i386/README-Drivers: Likewise.
                   12606: 
                   12607: 2006-07-27  Thomas Schwinge  <[email protected]>
                   12608: 
                   12609:        * i386/linux/configure: Regenerate.
                   12610: 
                   12611:        * i386/linux/configure.ac: Pull in the pcmcia code only if really
                   12612:        needed.
                   12613: 
                   12614:        * doc/mach.texi (Configuration): Very briefly document the new drivers.
                   12615:        * i386/README-Drivers: Likewise.
                   12616: 
                   12617:        * linux/dev/include/linux/types.h (_MACH_SA_SYS_TYPES_H_): Define.
                   12618: 
                   12619:        * i386/linux/configure: Regenerate.
                   12620:        * i386/linux/device-drivers.h.in: Likewise.
                   12621: 
                   12622: 2006-07-27  Stefan Siegl  <[email protected]>
                   12623: 
                   12624:        * i386/linux/configure.ac (pcmcia, wireless): New driver classes.
                   12625:        (i82365, 3c574_cs, 3c589_cs, axnet_cs, fmvj18x_cs, nmclan_cs, pcnet_cs)
                   12626:        (smc91c92_cs, xirc2ps_cs, orinoco_cs): New drivers.
                   12627:        * i386/linux/Makefile.in (linux-pcmcia-cs-modules-files)
                   12628:        (linux-pcmcia-cs-clients-files, linux-pcmcia-cs-wireless-files): New
                   12629:        variables.  Add `vpath's to the files locations.
                   12630:        (all-linux-files): Add the three new variables.
                   12631:        (linux-pcmcia-cs-modules-flags, linux-pcmcia-cs-clients-flags)
                   12632:        (linux-pcmcia-cs-wireless-flags): New variables.
                   12633:        (linux-flags): Add code to handle the above files and flags.
                   12634: 
                   12635:        * i386/i386at/i386at_ds_routines.c (emulation_list)
                   12636:        [LINUX_DEV && CONFIG_INET && CONFIG_PCMCIA]: Add the Linux pcmcia
                   12637:        emulation structure.
                   12638:        * linux/dev/glue/net.c: Include <linux/wireless.h>.
                   12639:        (device_get_status): Rewrite function.
                   12640:        (device_set_status): New function.
                   12641:        (linux_net_emulation_ops): Add `device_set_status' at the appropriate
                   12642:        position.
                   12643:        * linux/dev/init/main.c (linux_init) [CONFIG_PCMCIA]: Call pcmcia_init.
                   12644: 
                   12645:        * linux/pcmcia-cs/glue/ds.c: New file.
                   12646:        * linux/pcmcia-cs/glue/pcmcia.c: Likewise.
                   12647:        * linux/pcmcia-cs/glue/pcmcia_glue.h: Likewise.
                   12648:        * linux/pcmcia-cs/glue/wireless_glue.h: Likewise.
                   12649: 
                   12650:        * linux/pcmcia-cs/clients/xirc2ps_cs.c (busy_loop): Replace the code by
                   12651:        a call to __udelay.
                   12652:        * linux/pcmcia-cs/include/linux/init.h: Adapt to our Linux environment.
                   12653:        * linux/pcmcia-cs/include/linux/slab.h: Use `#include', not
                   12654:        `#include_next'.
                   12655:        * linux/pcmcia-cs/include/pcmcia/mem_op.h: Adapt to our Linux
                   12656:        environment and fix GCC 4.0 complaints.
                   12657:        * linux/pcmcia-cs/include/pcmcia/version.h: Always assume that
                   12658:        CONFIG_PCMCIA is not defined.
                   12659:        * linux/pcmcia-cs/modules/cs.c (init_pcmcia_cs): Don't make it static.
                   12660:        * linux/pcmcia-cs/modules/ds.c: Use some magic to avoid duplicate
                   12661:        definition `io_req_t'.
                   12662:        (ds_open, ds_release, ds_read, ds_write, ds_select, ds_poll, ds_fops):
                   12663:        Hide functions if MACH is defined.
                   12664:        Likewise for the module handling code.
                   12665:        (ds_ioctl): Use plain `memcpy' if MACH is defined.
                   12666:        (init_pcmcia_ds): Don't register charcater devices if MACH is defined.
                   12667:        Include "../glue/ds.c".
                   12668:        * linux/pcmcia-cs/modules/i82365.c (test_irq): Adapt to GNU Mach.
                   12669:        (init_i82365): Don't make it static.
                   12670:        * linux/pcmcia-cs/modules/pci_fixup.c (pci_devices): Don't define if
                   12671:        MACH is defined.
                   12672:        * linux/pcmcia-cs/wireless/orinoco.c: Adapt to our Linux environment.
                   12673: 
                   12674: 2006-07-27  Thomas Schwinge  <[email protected]>
                   12675: 
                   12676:        Import a number of files from the pcmcia-cs package, version 3.2.8,
                   12677:        available from <http://pcmcia-cs.sourceforge.net/>.
                   12678: 
                   12679:        * linux/pcmcia-cs/clients/3c574_cs.c: Import file.
                   12680:        * linux/pcmcia-cs/clients/3c589_cs.c: Likewise.
                   12681:        * linux/pcmcia-cs/clients/ax8390.h: Likewise.
                   12682:        * linux/pcmcia-cs/clients/axnet_cs.c: Likewise.
                   12683:        * linux/pcmcia-cs/clients/fmvj18x_cs.c: Likewise.
                   12684:        * linux/pcmcia-cs/clients/nmclan_cs.c: Likewise.
                   12685:        * linux/pcmcia-cs/clients/ositech.h: Likewise.
                   12686:        * linux/pcmcia-cs/clients/pcnet_cs.c: Likewise.
                   12687:        * linux/pcmcia-cs/clients/smc91c92_cs.c: Likewise.
                   12688:        * linux/pcmcia-cs/clients/xirc2ps_cs.c: Likewise.
                   12689:        * linux/pcmcia-cs/include/linux/crc32.h: Likewise.
                   12690:        * linux/pcmcia-cs/include/linux/init.h: Likewise.
                   12691:        * linux/pcmcia-cs/include/linux/slab.h: Likewise.
                   12692:        * linux/pcmcia-cs/include/pcmcia/bulkmem.h: Likewise.
                   12693:        * linux/pcmcia-cs/include/pcmcia/bus_ops.h: Likewise.
                   12694:        * linux/pcmcia-cs/include/pcmcia/ciscode.h: Likewise.
                   12695:        * linux/pcmcia-cs/include/pcmcia/cisreg.h: Likewise.
                   12696:        * linux/pcmcia-cs/include/pcmcia/cistpl.h: Likewise.
                   12697:        * linux/pcmcia-cs/include/pcmcia/cs.h: Likewise.
                   12698:        * linux/pcmcia-cs/include/pcmcia/cs_types.h: Likewise.
                   12699:        * linux/pcmcia-cs/include/pcmcia/driver_ops.h: Likewise.
                   12700:        * linux/pcmcia-cs/include/pcmcia/ds.h: Likewise.
                   12701:        * linux/pcmcia-cs/include/pcmcia/mem_op.h: Likewise.
                   12702:        * linux/pcmcia-cs/include/pcmcia/ss.h: Likewise.
                   12703:        * linux/pcmcia-cs/include/pcmcia/version.h: Likewise.
                   12704:        * linux/pcmcia-cs/modules/bulkmem.c: Likewise.
                   12705:        * linux/pcmcia-cs/modules/cirrus.h: Likewise.
                   12706:        * linux/pcmcia-cs/modules/cistpl.c: Likewise.
                   12707:        * linux/pcmcia-cs/modules/cs.c: Likewise.
                   12708:        * linux/pcmcia-cs/modules/cs_internal.h: Likewise.
                   12709:        * linux/pcmcia-cs/modules/ds.c: Likewise.
                   12710:        * linux/pcmcia-cs/modules/ene.h: Likewise.
                   12711:        * linux/pcmcia-cs/modules/i82365.c: Likewise.
                   12712:        * linux/pcmcia-cs/modules/i82365.h: Likewise.
                   12713:        * linux/pcmcia-cs/modules/o2micro.h: Likewise.
                   12714:        * linux/pcmcia-cs/modules/pci_fixup.c: Likewise.
                   12715:        * linux/pcmcia-cs/modules/ricoh.h: Likewise.
                   12716:        * linux/pcmcia-cs/modules/rsrc_mgr.c: Likewise.
                   12717:        * linux/pcmcia-cs/modules/smc34c90.h: Likewise.
                   12718:        * linux/pcmcia-cs/modules/ti113x.h: Likewise.
                   12719:        * linux/pcmcia-cs/modules/topic.h: Likewise.
                   12720:        * linux/pcmcia-cs/modules/vg468.h: Likewise.
                   12721:        * linux/pcmcia-cs/modules/yenta.h: Likewise.
                   12722:        * linux/pcmcia-cs/wireless/hermes.c: Likewise.
                   12723:        * linux/pcmcia-cs/wireless/hermes.h: Likewise.
                   12724:        * linux/pcmcia-cs/wireless/hermes_rid.h: Likewise.
                   12725:        * linux/pcmcia-cs/wireless/ieee802_11.h: Likewise.
                   12726:        * linux/pcmcia-cs/wireless/orinoco.c: Likewise.
                   12727:        * linux/pcmcia-cs/wireless/orinoco.h: Likewise.
                   12728:        * linux/pcmcia-cs/wireless/orinoco_cs.c: Likewise.
                   12729: 
                   12730: 2006-07-24  Thomas Schwinge  <[email protected]>
                   12731: 
                   12732:        * Makerules.in (%.h %_user.c): Add `%.cli.d' to the target list.
                   12733:        Create these files by specifying `-MD' as a flag for mig and rename the
                   12734:        resulting files as needed.
                   12735:        Include these `*.cli.d' files instead of `*.migu.d' files.
                   12736:        (%_interface.h %_server.c): Likewise for `%.srv.d' / `*.migs.d'.
                   12737:        (%.migs.d, %.migu.d): Remove targets.
                   12738:        * Makefile.in (clean): Adapt to the above.
                   12739:        * i386/Makefile.in (clean): Likewise.
                   12740: 
                   12741: 2006-06-30  Samuel Thibault  <[email protected]>
                   12742: 
                   12743:        * i386/i386at/kd_mouse.c (mouse_char_in, mouse_char) Remove variables.
                   12744:        (mouse_char_index) New variable.
                   12745:        (mouse_handle_byte, kd_mouse_read): Use MOUSEBUF instead of MOUSE_CHAR
                   12746:        for storing incoming command characters.
                   12747:        (kd_mouse_read_reset): New function.
                   12748:        (ibm_ps2_mouse_open, ibm_ps2_mouse_close): Call new kd_mouse_read_reset
                   12749:        function.
                   12750: 
                   12751: 2006-06-09  Stefan Siegl  <[email protected]>
                   12752: 
                   12753:        * linux/dev/include/asm-i386/uaccess.h: New dummy file.
                   12754:        * linux/dev/include/linux/pm.h: Likewise.
                   12755:        * linux/dev/include/linux/threads.h: Likewise.
                   12756:        * linux/src/include/linux/symtab_begin.h: New file from Linux 2.0.40.
                   12757:        * linux/src/include/linux/symtab_end.h: Likewise.
                   12758:        * linux/src/include/linux/module.h: Update from Linux 2.0.40 with minor
                   12759:        changes.
                   12760:        * linux/src/include/linux/list.h: New file from Linux 2.2.26.
                   12761:        * linux/src/include/linux/kcomp.h: Likewise with minor changes.
                   12762:        * linux/src/include/linux/wait.h: Update from Linux 2.2.26.
                   12763:        * linux/src/include/linux/wireless.h: Likewise.
                   12764:        * linux/src/include/asm-i386/bitops.h [__KERNEL__] (ffs, hweight32)
                   12765:        (hweight16, hweight8): Copy from Linux 2.2.26.
                   12766: 
                   12767:        * kern/printf.c (_doprnt): Support printing of pointer addresses.
                   12768: 
                   12769: 2006-05-14  Roland McGrath  <[email protected]>
                   12770: 
                   12771:        [sync from HEAD, 2002-06-17]
                   12772:        * device/if_hdr.h: Replace ancient UCB copyright terms with current
                   12773:        approved UCB terms.
                   12774:        * include/sys/reboot.h: Likewise.
                   12775:        * include/device/disk_status.h: Likewise.
                   12776:        * include/device/tape_status.h: Likewise.
                   12777:        * device/net_io.c: Remove advertising clause from UCB copyright terms.
                   12778:        * include/device/audio_status.h: Likewise.
                   12779:        * include/device/bpf.h: Likewise.
                   12780: 
                   12781: 2006-05-14  Thomas Schwinge  <[email protected]>
                   12782: 
                   12783:        * i386/i386at/autoconf.c (bus_device_init) <lpr> [! LINUX_DEV]: Depend
                   12784:        on `MACH_LPR' instead.
                   12785:        * i386/i386at/lpr.c: Fix obsolescent `#else' / `#endif' syntax.
                   12786: 
                   12787: 2006-05-12  Stefan Siegl  <[email protected]>
                   12788: 
                   12789:        * linux/dev/glue/kmem.c (vfree): Panic if `vmalloc_list_lookup' did
                   12790:        NOT succeed.
                   12791: 
                   12792: 2006-05-08  Thomas Schwinge  <[email protected]>
                   12793: 
                   12794:        * DEVELOPMENT: Document Samuel's patch.
                   12795: 
                   12796: 2006-05-08  Samuel Thibault  <[email protected]>
                   12797: 
                   12798:        [bug #7118 -- GNU Mach can't handle 1G memory]
                   12799:        * i386/i386at/model_dep.c (mem_size_init): Limit memory to what can
                   12800:        actually be used (minus a little extra for virtual mappings).
                   12801:        * i386/intel/pmap.c (pmap_bootstrap): Extend the virtual mapping area
                   12802:        according to memory size for at least being able to manage it.  But
                   12803:        look out for wrap and limit it to kernel adresses.  Remove duplicate
                   12804:        computing.
                   12805: 
                   12806: 2006-04-27  Richard Braun  <[email protected]>
                   12807:            Manuel Menal  <[email protected]>
                   12808: 
                   12809:        * device/if_hdr.h (struct ifnet): Added new members `if_snd_port_list'
                   12810:        and `if_snd_port_list_lock'.
                   12811:        * device/net_io.c: Reworked to improve BPF support.  Filters can be
                   12812:        applied to ingress packets, egress packets, or both.
                   12813:        * device/subrs.c: Initialize the `if_snd_port_list' and
                   12814:        `if_snd_port_list_lock'.
                   12815:        * include/device/bpf.h [0]: Enable unconditionally.
                   12816:        Include <sys/types.h>.
                   12817:        (BPF_IN, BPF_OUT): New macros.
                   12818:        * include/device/net_status.h (NETF_TYPE_MASK, NETF_IN, NETF_OUT): New
                   12819:        macros.
                   12820:        (struct net_rcv_msg): New member `sent'.
                   12821:        * linux/dev/glue/net.c: Mark ingress packets as received and inject
                   12822:        egress packets into the packet filters.
                   12823: 
                   12824: 2006-04-26  Thomas Schwinge  <[email protected]>
                   12825: 
                   12826:        * Makefile.in: Replace `make' with `$(MAKE)'.
                   12827:        * i386/Makefile.in: Likewise.
                   12828:        Reported by Leonardo Lopes Pereira <[email protected]>.
                   12829: 
                   12830: 2006-04-08  Thomas Schwinge  <[email protected]>
                   12831: 
                   12832:        * i386/Makefile.in (INCLUDES): Don't add `$(srcdir)/bogus'.
                   12833:        * i386/Makerules.in (INCLUDES): Add
                   12834:        `$(abs_top_srcdir)/$(systype)/bogus'.
                   12835:        Reported by Samuel Thibault <[email protected]>.
                   12836: 
                   12837: 2006-04-02  Thomas Schwinge  <[email protected]>
                   12838: 
                   12839:        * Makerules.in (%_user.c, %_server.c): Those are `.PRECIOUS'.
                   12840:        (%.migs.d, %.migu.d): New targets.
                   12841:        (%.migs_d, %.migu_d, %.migsh_d, %.miguh_d): Remove targets.
                   12842:        Adapt the `include's to the renamed targets.
                   12843:        * Makefile.in (clean): Adapt to the renamed targets.
                   12844:        * i386/Makefile.in (clean): Likewise.
                   12845: 
                   12846:        * i386/Makefile.in (boothdr.o): New target.
                   12847: 
                   12848: 2006-03-21  Thomas Schwinge  <[email protected]>
                   12849: 
                   12850:        * Makefile.in (clean): Also remove `kernel.gz', `kernel.stripped' and
                   12851:        `kernel.stripped.gz'.
                   12852: 
                   12853:        * Makefile.in (kernel.o): Handle `$(systype)-objfiles-prepend'.
                   12854:        * i386/Makefile.in (sysdep.a): Likewise.
                   12855:        * i386/Makerules.in (kernel-objfiles-prepend): Transform variable into
                   12856:        `$(systype)-objfiles-prepend'.
                   12857:        (kernel.o): Remove target.
                   12858: 
                   12859: 2006-03-20  Thomas Schwinge  <[email protected]>
                   12860: 
                   12861:        * DEVELOPMENT: Document the NORMA removal.
                   12862: 
                   12863: 2006-03-20  Leonardo Lopes Pereira  <[email protected]>
                   12864: 
                   12865:        Remove unused and unsupported code.  Consult the file `DEVELOPMENT'
                   12866:        for details.
                   12867: 
                   12868:        [patch #4982 -- remove of unused / unsuported functions of
                   12869:        gnumach-1-branch]
                   12870:        * bogus/norma_device.h: Remove file.
                   12871:        * bogus/norma_ether.h: Likewise.
                   12872:        * bogus/norma_ipc.h: Likewise.
                   12873:        * bogus/norma_task.h: Likewise.
                   12874:        * bogus/norma_vm.h: Likewise.
                   12875:        * include/mach/mach_norma.defs: Likewise.
                   12876:        * include/mach/norma_task.defs: Likewise.
                   12877:        * include/mach/norma_special_ports.h: Likewise.
                   12878:        * Makefile.in (bogus-files): Remove `norma_device.h', `norma_ether.h',
                   12879:        `norma_ipc.h', `norma_task.h' and `norma_vm.h'.
                   12880:        (mach-headers): Remove `mach_norma.defs', `norma_task.defs' and
                   12881:        `norma_special_ports.h'.
                   12882:        * device/ds_routines.c: Don't include <norma_device.h> anymore and
                   12883:        adapt all users of NORMA_DEVICE as if it were always defined to `0'.
                   12884:        * device/net_io.c: Likewise for <norma_ether.h>, NORMA_ETHER.
                   12885:        * kern/machine.c: Likewise.
                   12886:        * ddb/db_command.c: Likevise for <norma_ipc.h>, NORMA_IPC.
                   12887:        * ipc/ipc_init.c: Likewise.
                   12888:        * ipc/ipc_kmsg.c: Likewise.
                   12889:        * ipc/ipc_kmsg.h: Likewise.
                   12890:        * ipc/ipc_mqueue.c: Likewise.
                   12891:        * ipc/ipc_notify.c: Likewise.
                   12892:        * ipc/ipc_port.c: Likewise.
                   12893:        * ipc/ipc_port.h: Likewise.
                   12894:        * ipc/ipc_space.c: Likewise.
                   12895:        * ipc/ipc_space.h: Likewise.
                   12896:        * ipc/mach_msg.c: Likewise.
                   12897:        * kern/ast.c: Likewise.
                   12898:        * kern/debug.c: Likewise.
                   12899:        * kern/exception.c: Likewise.
                   12900:        * kern/startup.c: Likewise.
                   12901:        * vm/memory_object.c: Likewise.
                   12902:        * vm/vm_map.c: Likewise.
                   12903:        * kern/ipc_kobject.c: Likewise for <norma_task.h>, NORMA_TASK.
                   12904:        * kern/task.c: Likewise.
                   12905:        * kern/task.h: Likewise.
                   12906:        * ddb/db_command.c: Likewise for <norma_vm.h>, NORMA_VM.
                   12907:        * device/dev_pager.c: Likewise.
                   12908:        * include/mach/mach_types.defs: Likewise.
                   12909:        * include/mach/mach_types.h: Likewise.
                   12910:        * include/mach/memory_object_default.defs: Likewise.
                   12911:        * include/mach/memory_object.defs: Likewise.
                   12912:        * ipc/ipc_kmsg.c: Likewise.
                   12913:        * kern/ipc_kobject.c: Likewise.
                   12914:        * kern/ipc_mig.c: Likewise.
                   12915:        * kern/startup.c: Likewise.
                   12916:        * vm/memory_object.c: Likewise.
                   12917:        * vm/vm_object.c: Likewise.
                   12918:        * vm/vm_object.h: Likewise.
                   12919:        * vm/vm_pageout.c: Likewise.
                   12920: 
                   12921: 2006-03-19  Thomas Schwinge  <[email protected]>
                   12922: 
                   12923:        * DEVELOPMENT: Document the FIPC removal.
                   12924: 
                   12925: 2006-03-19  Leonardo Lopes Pereira  <[email protected]>
                   12926: 
                   12927:        Remove unused and unsupported code.  Consult the file `DEVELOPMENT'
                   12928:        for details.
                   12929: 
                   12930:        [patch #4982 -- remove of unused / unsuported functions of
                   12931:        gnumach-1-branch]
                   12932:        * ipc/fipc.c: Remove file.
                   12933:        * ipc/fipc.h: Likewise.
                   12934:        * Makefile.in (ipc-cfiles): Remove `fipc.c'.
                   12935:        (ipc-files): Remove `fipc.h'.
                   12936:        * device/device_init.c [FIPC]: Remove code.
                   12937:        * device/net_io.c [FIPC]: Likewise.
                   12938:        * include/mach/syscall_sw.h [FIPC]: Likewise.
                   12939:        * kern/syscall_sw.c [FIPC]: Likewise.
                   12940: 
                   12941: 2006-03-15  Thomas Schwinge  <[email protected]>
                   12942: 
                   12943:        * configure.in: Check for strip and gzip.
                   12944:        * configure: Regenerated.
                   12945:        * Makerules.in (GZIP, STRIP): New variables.
                   12946:        (%.gz, %.stripped): New targets.
                   12947: 
                   12948: 2006-03-04  Roland McGrath  <[email protected]>
                   12949: 
                   12950:        * Makefile.in (DEFS): Substitute once and use the variable elsewhere.
                   12951: 
                   12952: 2006-03-04  Samuel Thibault  <[email protected]>
                   12953: 
                   12954:        [patch #4737 -- User TSS fixup]
                   12955:        * i386/i386/iopb.c: Include "vm_param.h".
                   12956:        (io_tss_init): Fix address and limit of user TSS.
                   12957: 
                   12958: 2006-03-04  Thomas Schwinge  <[email protected]>
                   12959: 
                   12960:        Remove unused and unsupported code.  Consult the file
                   12961:        `DEVELOPMENT' for details.  Partly based on suggestions by
                   12962:        Gianluca Guida <[email protected]>.
                   12963: 
                   12964:        * i386/bogus/par.h: Remove file.
                   12965:        * i386/i386at/if_par.c: Likewise.
                   12966:        * i386/i386at/if_par.h: Likewise.
                   12967:        * i386/i386at/conf.c: Don't include <par.h> anymore and adapt all users
                   12968:        of NPAR as if it were always defined to `0'.
                   12969:        * i386/i386at/lpr.c: Likewise.
                   12970: 
                   12971:        * i386/bogus/de6c.h: Remove file.
                   12972:        * i386/i386at/if_de6c.c: Likewise.
                   12973:        * i386/i386at/if_de6c.h: Likewise.
                   12974:        * i386/i386at/if_de6s.S: Likewise.
                   12975:        * i386/i386at/conf.c: Don't include <de6c.h> anymore and adapt all
                   12976:        users of NDE6C as if it were always defined to `0'.
                   12977:        * i386/i386at/lpr.c: Likewise.
                   12978: 
                   12979: 2006-02-20  Thomas Schwinge  <[email protected]>
                   12980: 
                   12981:        Remove unused and unsupported code.  Consult the file
                   12982:        `DEVELOPMENT' for details.  Partly based on suggestions by
                   12983:        Gianluca Guida <[email protected]>.
                   12984: 
                   12985:        * i386/bogus/blit.h: Remove file.
                   12986:        * i386/i386at/blit.c: Likewise.
                   12987:        * i386/i386at/blitreg.h: Likewise.
                   12988:        * i386/i386at/blituser.h: Likewise.
                   12989:        * i386/i386at/blitvar.h: Likewise.
                   12990:        * i386/i386at/conf.c: Don't include <blit.h> anymore and adapt all
                   12991:        users of NBLIT as if it were always defined to `0'.
                   12992:        * i386/i386at/kd.c: Likewise.
                   12993:        (blit_init): Remove definition.
                   12994:        (blit_present): Likewise and adapt all users as if it were always
                   12995:        defined to `FALSE'.
                   12996:        * i386/Makefile.in (i386at-files): Remove `blit.c'.
                   12997: 
                   12998:        * bogus/net_atm.h: Remove file.
                   12999:        * Makefile.in (bogus-files): Remove `net_atm.h'.
                   13000:        * kern/syscall_sw.c: Don't include <net_atm.h> anymore and adapt all
                   13001:        users of NET_ATM as if it were always defined to `0'.
                   13002:        * kern/task.c: Likewise.
                   13003:        * kern/task.h: Likewise.
                   13004:        * kern/thread.c: Likewise.
                   13005:        * kern/thread.h: Likewise.
                   13006: 
                   13007:        * util/about_to_die.c: Remove file.
                   13008:        * util/config.h: Likewise.
                   13009:        * util/cpu.c: Likewise.
                   13010:        * util/cpu.h: Likewise.
                   13011:        * util/cpu_init.c: Likewise.
                   13012:        * util/cpu_subs.h: Likewise.
                   13013:        * util/debug.h: Likewise.
                   13014:        * util/die.c: Likewise.
                   13015:        * util/phys_mem.h: Likewise.
                   13016:        * util/ref_count.h: Likewise.
                   13017:        * util/cpus.h: Move from here...
                   13018:        * bogus/cpus.h: ... to here.
                   13019:        * Makefile.in (bogus-files): Add `cpus.h'.
                   13020:        (util-cfiles): Only contain `putchar.c' and `puts.c'.
                   13021:        (util-files): Only contain `$(util-cfiles)'.
                   13022: 
                   13023:        * i386/util/NOTES: Remove file.
                   13024:        * i386/util/anno.c: Likewise.
                   13025:        * i386/util/anno.h: Likewise.
                   13026:        * i386/util/cpu.h: Likewise.
                   13027:        * i386/util/cpu_subs.h: Likewise.
                   13028:        * i386/util/cpu_tables_init.c: Likewise.
                   13029:        * i386/util/cpu_tables_load.c: Likewise.
                   13030:        * i386/util/crtn.S: Likewise.
                   13031:        * i386/util/debug.h: Likewise.
                   13032:        * i386/util/gdt.c: Likewise.
                   13033:        * i386/util/gdt.h: Likewise.
                   13034:        * i386/util/gdt_sels.h: Likewise.
                   13035:        * i386/util/i16/debug.h: Likewise.
                   13036:        * i386/util/i16/i16.h: Likewise.
                   13037:        * i386/util/i16/i16_die.c: Likewise.
                   13038:        * i386/util/i16/i16_gdt_init_temp.c: Likewise.
                   13039:        * i386/util/i16/i16_nanodelay.c: Likewise.
                   13040:        * i386/util/i16/i16_puts.c: Likewise.
                   13041:        * i386/util/i16/i16_writehex.c: Likewise.
                   13042:        * i386/util/i386_asm.sym: Likewise.
                   13043:        * i386/util/idt.c: Likewise.
                   13044:        * i386/util/idt.h: Likewise.
                   13045:        * i386/util/idt_inittab.S: Likewise.
                   13046:        * i386/util/idt_inittab.h: Likewise.
                   13047:        * i386/util/ldt.h: Likewise.
                   13048:        * i386/util/trap.h: Likewise.
                   13049:        * i386/util/trap_asm.sym: Likewise.
                   13050:        * i386/util/trap_dump.c: Likewise.
                   13051:        * i386/util/trap_dump_die.c: Likewise.
                   13052:        * i386/util/trap_handler.S: Likewise.
                   13053:        * i386/util/trap_return.S: Likewise.
                   13054:        * i386/util/tss.c: Likewise.
                   13055:        * i386/util/tss.h: Likewise.
                   13056:        * i386/util/tss_dump.c: Likewise.
                   13057:        * i386/util/vm_param.h: Likewise.
                   13058: 
                   13059:        * i386/pc/NOTES: Remove file.
                   13060:        * i386/pc/debug.h: Likewise.
                   13061:        * i386/pc/exit.c: Likewise.
                   13062:        * i386/pc/gdt.h: Likewise.
                   13063:        * i386/pc/gdt_sels.h: Likewise.
                   13064:        * i386/pc/i16/i16_a20.c: Likewise.
                   13065:        * i386/pc/i16/i16_a20.h: Likewise.
                   13066:        * i386/pc/i16/i16_bios.h: Likewise.
                   13067:        * i386/pc/i16/i16_exit.c: Likewise.
                   13068:        * i386/pc/i16/i16_ext_mem.c: Likewise.
                   13069:        * i386/pc/i16/i16_init.c: Likewise.
                   13070:        * i386/pc/i16/i16_main.c: Likewise.
                   13071:        * i386/pc/i16/i16_pic.c: Likewise.
                   13072:        * i386/pc/i16/i16_putchar.c: Likewise.
                   13073:        * i386/pc/i16/i16_raw.c: Likewise.
                   13074:        * i386/pc/i16/i16_raw_test_a20.S: Likewise.
                   13075:        * i386/pc/i16/i16_real_int.S: Likewise.
                   13076:        * i386/pc/i16/i16_switch.h: Likewise.
                   13077:        * i386/pc/i16/phys_mem_collect.c: Likewise.
                   13078:        * i386/pc/i16/phys_mem_sources.h: Likewise.
                   13079:        * i386/pc/i16/raw_exit.c: Likewise.
                   13080:        * i386/pc/i16/raw_real_int.c: Likewise.
                   13081:        * i386/pc/ipl.h: Likewise.
                   13082:        * i386/pc/irq.h: Likewise.
                   13083:        * i386/pc/irq_list.h: Likewise.
                   13084:        * i386/pc/pc_asm.sym: Likewise.
                   13085:        * i386/pc/phys_mem.h: Likewise.
                   13086:        * i386/pc/phys_mem_add.c: Likewise.
                   13087:        * i386/pc/pic.c: Likewise.
                   13088:        * i386/pc/pic.h: Likewise.
                   13089:        * i386/pc/putchar.c: Likewise.
                   13090:        * i386/pc/real.h: Likewise.
                   13091:        * i386/pc/real_tss.c: Likewise.
                   13092:        * i386/pc/real_tss.h: Likewise.
                   13093:        * i386/pc/real_tss_def.S: Likewise.
                   13094:        * i386/pc/rv86/config.h: Likewise.
                   13095:        * i386/pc/rv86/gdt_sels.h: Likewise.
                   13096:        * i386/pc/rv86/idt_irq_init.c: Likewise.
                   13097:        * i386/pc/rv86/rv86_real_int.c: Likewise.
                   13098:        * i386/pc/rv86/rv86_real_int_asm.S: Likewise.
                   13099:        * i386/pc/rv86/rv86_reflect_irq.S: Likewise.
                   13100:        * i386/pc/rv86/rv86_trap_handler.S: Likewise.
                   13101:        * i386/pc/rv86/trap_handler.S: Likewise.
                   13102: 
                   13103:        * i386/imps/Makefile.in: Remove file.
                   13104:        * i386/imps/apic.h: Likewise.
                   13105:        * i386/imps/cpu_number.h: Likewise.
                   13106:        * i386/imps/cpus.h: Likewise.
                   13107:        * i386/imps/imps.c: Likewise.
                   13108:        * i386/imps/impsasm.sym: Likewise.
                   13109: 
                   13110:        * i386/dos/dos_buf.c: Remove file.
                   13111:        * i386/dos/dos_check_err.c: Likewise.
                   13112:        * i386/dos/dos_close.c: Likewise.
                   13113:        * i386/dos/dos_fstat.c: Likewise.
                   13114:        * i386/dos/dos_gettimeofday.c: Likewise.
                   13115:        * i386/dos/dos_io.h: Likewise.
                   13116:        * i386/dos/dos_open.c: Likewise.
                   13117:        * i386/dos/dos_read.c: Likewise.
                   13118:        * i386/dos/dos_rename.c: Likewise.
                   13119:        * i386/dos/dos_seek.c: Likewise.
                   13120:        * i386/dos/dos_tcgetattr.c: Likewise.
                   13121:        * i386/dos/dos_unlink.c: Likewise.
                   13122:        * i386/dos/dos_write.c: Likewise.
                   13123:        * i386/dos/i16/gdt.h: Likewise.
                   13124:        * i386/dos/i16/gdt_sels.h: Likewise.
                   13125:        * i386/dos/i16/i16_crt0.S: Likewise.
                   13126:        * i386/dos/i16/i16_crt0.h: Likewise.
                   13127:        * i386/dos/i16/i16_dos.h: Likewise.
                   13128:        * i386/dos/i16/i16_dos_mem.c: Likewise.
                   13129:        * i386/dos/i16/i16_exit.c: Likewise.
                   13130:        * i386/dos/i16/i16_main.c: Likewise.
                   13131:        * i386/dos/i16/i16_putchar.c: Likewise.
                   13132:        * i386/dos/i16/i16_vcpi.c: Likewise.
                   13133:        * i386/dos/i16/i16_xms.c: Likewise.
                   13134:        * i386/dos/i16/idt.h: Likewise.
                   13135:        * i386/dos/i16/phys_mem_sources.h: Likewise.
                   13136:        * i386/dos/putchar.c: Likewise.
                   13137: 
                   13138:        * chips/atm.c: Remove file.
                   13139:        * chips/atmreg.h: Likewise.
                   13140:        * chips/audio.c: Likewise.
                   13141:        * chips/audio_config.h: Likewise.
                   13142:        * chips/audio_defs.h: Likewise.
                   13143:        * chips/bt431.c: Likewise.
                   13144:        * chips/bt431.h: Likewise.
                   13145:        * chips/bt455.c: Likewise.
                   13146:        * chips/bt455.h: Likewise.
                   13147:        * chips/bt459.c: Likewise.
                   13148:        * chips/bt459.h: Likewise.
                   13149:        * chips/bt478.c: Likewise.
                   13150:        * chips/bt478.h: Likewise.
                   13151:        * chips/build_font.c: Likewise.
                   13152:        * chips/cfb_hdw.c: Likewise.
                   13153:        * chips/cfb_misc.c: Likewise.
                   13154:        * chips/dc503.c: Likewise.
                   13155:        * chips/dc503.h: Likewise.
                   13156:        * chips/dtop.h: Likewise.
                   13157:        * chips/dtop_handlers.c: Likewise.
                   13158:        * chips/dtop_hdw.c: Likewise.
                   13159:        * chips/dz_7085.h: Likewise.
                   13160:        * chips/dz_defs.h: Likewise.
                   13161:        * chips/dz_hdw.c: Likewise.
                   13162:        * chips/eccreg.h: Likewise.
                   13163:        * chips/fb_hdw.c: Likewise.
                   13164:        * chips/fb_misc.c: Likewise.
                   13165:        * chips/fdc_82077.h: Likewise.
                   13166:        * chips/fdc_82077_hdw.c: Likewise.
                   13167:        * chips/frc.c: Likewise.
                   13168:        * chips/ims332.c: Likewise.
                   13169:        * chips/ims332.h: Likewise.
                   13170:        * chips/isdn_79c30.h: Likewise.
                   13171:        * chips/isdn_79c30_hdw.c: Likewise.
                   13172:        * chips/kernel_font.c: Likewise.
                   13173:        * chips/kernel_font.data: Likewise.
                   13174:        * chips/lance.c: Likewise.
                   13175:        * chips/lance.h: Likewise.
                   13176:        * chips/lance_mapped.c: Likewise.
                   13177:        * chips/lk201.c: Likewise.
                   13178:        * chips/lk201.h: Likewise.
                   13179:        * chips/mc_clock.c: Likewise.
                   13180:        * chips/mc_clock.h: Likewise.
                   13181:        * chips/mouse.c: Likewise.
                   13182:        * chips/nc.c: Likewise.
                   13183:        * chips/nc.h: Likewise.
                   13184:        * chips/nw.h: Likewise.
                   13185:        * chips/nw_mk.c: Likewise.
                   13186:        * chips/nw_mk.h: Likewise.
                   13187:        * chips/pm_defs.h: Likewise.
                   13188:        * chips/pm_hdw.c: Likewise.
                   13189:        * chips/pm_misc.c: Likewise.
                   13190:        * chips/scc_8530.h: Likewise.
                   13191:        * chips/scc_8530_hdw.c: Likewise.
                   13192:        * chips/screen.c: Likewise.
                   13193:        * chips/screen.h: Likewise.
                   13194:        * chips/screen_defs.h: Likewise.
                   13195:        * chips/screen_switch.c: Likewise.
                   13196:        * chips/screen_switch.h: Likewise.
                   13197:        * chips/serial_console.c: Likewise.
                   13198:        * chips/serial_defs.h: Likewise.
                   13199:        * chips/sfb_hdw.c: Likewise.
                   13200:        * chips/sfb_misc.c: Likewise.
                   13201:        * chips/spans.c: Likewise.
                   13202:        * chips/spans.h: Likewise.
                   13203:        * chips/tca100.c: Likewise.
                   13204:        * chips/tca100.h: Likewise.
                   13205:        * chips/tca100_if.c: Likewise.
                   13206:        * chips/tca100_if.h: Likewise.
                   13207:        * chips/vs42x_rb.h: Likewise.
                   13208:        * chips/xcfb_hdw.c: Likewise.
                   13209:        * chips/xcfb_misc.c: Likewise.
                   13210:        * chips/xcfb_monitor.h: Likewise.
                   13211:        * Makefile.in (chips-files): Only contain `busses.c' and `busses.h'.
                   13212:        * kern/syscall_sw.c: Don't include <chips/nw_mk.h> anymore.
                   13213: 
                   13214:        * i386/i386at/asm_startup.h: Remove file.
                   13215:        * i386/i386at/phys_mem_grab_page.c: Likewise.
                   13216:        * i386/Makefile.in (i386at-files): Remove `phys_mem_grab_page.c'.
                   13217: 
                   13218:        * i386/bogus/evc.h: Remove file.
                   13219:        * i386/i386at/kd.c: Don't include <evc.h> anymore and adapt all users
                   13220:        of NEVC as if it were always defined to `0'.
                   13221:        (evc1init): Remove definition and adapt all users as if it were always
                   13222:        defined to `FALSE'.
                   13223: 
                   13224:        * i386/bogus/nscsi.h: Remove file.
                   13225:        * i386/i386at/model_dep.c: Don't include <nscsi.h> anymore and adapt
                   13226:        all users of NSCSI as if it were always defined to `0'.
                   13227:        (use_all_mem): Don't define anymore and adapt all users as if it were
                   13228:        always defined to `1'.
                   13229:        (NBBY, NBPW, DMA_MAX): Remove macros.
                   13230:        (alloc_dma_mem): Remove function.
                   13231: 
                   13232:        * i386/bogus/asc.h: Remove file.
                   13233:        * i386/bogus/aha.h: Likewise.
                   13234:        * i386/bogus/eaha.h: Likewise.
                   13235:        * i386/bogus/sbic.h: Likewise.
                   13236:        * i386/bogus/sci.h: Likewise.
                   13237:        * i386/bogus/sii.h: Likewise.
                   13238:        * i386/bogus/siop.h: Likewise.
                   13239:        * i386/i386at/eisa.h: Likewise.
                   13240:        * scsi/adapters/README: Likewise.
                   13241:        * scsi/adapters/scsi_33C93.h: Likewise.
                   13242:        * scsi/adapters/scsi_33C93_hdw.c: Likewise.
                   13243:        * scsi/adapters/scsi_5380.h: Likewise.
                   13244:        * scsi/adapters/scsi_5380_hdw.c: Likewise.
                   13245:        * scsi/adapters/scsi_53C700.h: Likewise.
                   13246:        * scsi/adapters/scsi_53C700_hdw.c: Likewise.
                   13247:        * scsi/adapters/scsi_53C94.h: Likewise.
                   13248:        * scsi/adapters/scsi_53C94_hdw.c: Likewise.
                   13249:        * scsi/adapters/scsi_7061.h: Likewise.
                   13250:        * scsi/adapters/scsi_7061_hdw.c: Likewise.
                   13251:        * scsi/adapters/scsi_89352.h: Likewise.
                   13252:        * scsi/adapters/scsi_89352_hdw.c: Likewise.
                   13253:        * scsi/adapters/scsi_aha15.h: Likewise.
                   13254:        * scsi/adapters/scsi_aha15_hdw.c: Likewise.
                   13255:        * scsi/adapters/scsi_aha17_hdw.c: Likewise.
                   13256:        * scsi/adapters/scsi_dma.h: Likewise.
                   13257:        * scsi/adapters/scsi_user_dma.c: Likewise.
                   13258:        * scsi/adapters/scsi_user_dma.h: Likewise.
                   13259:        * scsi/compat_30.h: Likewise.
                   13260:        * scsi/disk_label.c: Likewise.
                   13261:        * scsi/mapped_scsi.c: Likewise.
                   13262:        * scsi/mapped_scsi.h: Likewise.
                   13263:        * scsi/pc_scsi_label.c: Likewise.
                   13264:        * scsi/rz.c: Likewise.
                   13265:        * scsi/rz.h: Likewise.
                   13266:        * scsi/rz_audio.c: Likewise.
                   13267:        * scsi/rz_cpu.c: Likewise.
                   13268:        * scsi/rz_disk.c: Likewise.
                   13269:        * scsi/rz_disk_bbr.c: Likewise.
                   13270:        * scsi/rz_host.c: Likewise.
                   13271:        * scsi/rz_labels.h: Likewise.
                   13272:        * scsi/rz_tape.c: Likewise.
                   13273:        * scsi/scsi.c: Likewise.
                   13274:        * scsi/scsi.h: Likewise.
                   13275:        * scsi/scsi2.h: Likewise.
                   13276:        * scsi/scsi_alldevs.c: Likewise.
                   13277:        * scsi/scsi_comm.c: Likewise.
                   13278:        * scsi/scsi_cpu.c: Likewise.
                   13279:        * scsi/scsi_defs.h: Likewise.
                   13280:        * scsi/scsi_disk.c: Likewise.
                   13281:        * scsi/scsi_endian.h: Likewise.
                   13282:        * scsi/scsi_jukebox.c: Likewise.
                   13283:        * scsi/scsi_optical.c: Likewise.
                   13284:        * scsi/scsi_printer.c: Likewise.
                   13285:        * scsi/scsi_rom.c: Likewise.
                   13286:        * scsi/scsi_scanner.c: Likewise.
                   13287:        * scsi/scsi_tape.c: Likewise.
                   13288:        * scsi/scsi_worm.c: Likewise.
                   13289:        * i386/i386at/autoconf.c: Don't include <aha.h> and <eaha.h> anymore
                   13290:        and adapt all users of NAHA and NEAHA as if it were always defined to
                   13291:        `0'.
                   13292:        * i386/i386at/conf.c: Likewise.
                   13293:        * Makefile.in (scsi-files): Remove variable and all users of it.
                   13294: 
                   13295:        * i386/bogus/wt.h: Remove file.
                   13296:        * i386/i386at/autoconf.c: Don't include <wt.h> anymore and adapt all
                   13297:        users of NWT as if it were always defined to `0'.
                   13298:        * i386/i386at/conf.c: Likewise.
                   13299: 
                   13300:        * i386/bogus/hpp.h: Remove file.
                   13301:        * i386/bogus/ul.h: Likewise.
                   13302:        * i386/bogus/wd.h: Likewise.
                   13303:        * i386/i386at/gpl/if_hpp.c: Likewise.
                   13304:        * i386/i386at/gpl/if_ns.c: Likewise.
                   13305:        * i386/i386at/gpl/if_nsreg.h: Likewise.
                   13306:        * i386/i386at/gpl/if_ul.c: Likewise.
                   13307:        * i386/i386at/gpl/if_wd.c: Likewise.
                   13308:        * i386/i386at/autoconf.c: Don't include <hpp.h>, <ul.h> and <wd.h>
                   13309:        anymore and adapt all users of NHPP, NUL and NWD as if they were always
                   13310:        defined to `0'.
                   13311:        * i386/i386at/conf.c: Likewise.
                   13312: 
                   13313:        * i386/bogus/at3c501.h: Remove file.
                   13314:        * i386/i386at/if_3c501.c: Likewise.
                   13315:        * i386/i386at/if_3c501.h: Likewise.
                   13316:        * i386/i386at/autoconf.c: Don't include <at3c501.h> anymore and adapt
                   13317:        all users of NAT3C501 as if it were always defined to `0'.
                   13318:        * i386/i386at/conf.c: Likewise.
                   13319: 
                   13320:        * i386/bogus/ns8390.h: Remove file.
                   13321:        * i386/i386at/ds8390.h: Likewise.
                   13322:        * i386/i386at/if_3c503.h: Likewise.
                   13323:        * i386/i386at/if_ns8390.c: Likewise.
                   13324:        * i386/i386at/if_ns8390.h: Likewise.
                   13325:        * i386/i386at/if_wd8003.h: Likewise.
                   13326:        * i386/i386at/autoconf.c: Don't include <ns8390.h> anymore and adapt
                   13327:        all users of NNS8390 as if it were always defined to `0'.
                   13328:        * i386/i386at/conf.c: Likewise.
                   13329: 
                   13330:        * i386/bogus/ne.h: Remove file.
                   13331:        * i386/i386at/if_ne.c: Likewise.
                   13332:        * i386/i386at/if_nereg.h: Likewise.
                   13333:        * i386/i386at/autoconf.c: Don't include <ne.h> anymore and adapt all
                   13334:        users of NNE as if it were always defined to `0'.
                   13335:        * i386/i386at/conf.c: Likewise.
                   13336: 
                   13337:        * i386/bogus/pc586.h: Remove file.
                   13338:        * i386/i386at/i82586.h: Likewise.
                   13339:        * i386/i386at/if_pc586.c: Likewise.
                   13340:        * i386/i386at/if_pc586.h: Likewise.
                   13341:        * i386/i386at/autoconf.c: Don't include <pc586.h> anymore and adapt all
                   13342:        users of NPC586 as if it were always defined to `0'.
                   13343:        * i386/i386at/conf.c: Likewise.
                   13344: 
                   13345:        * i386/bogus/fd.h: Remove file.
                   13346:        * i386/i386at/fd.c: Likewise.
                   13347:        * i386/i386at/fdreg.h: Likewise.
                   13348:        * i386/i386at/nfd.c: Likewise.
                   13349:        * i386/i386at/nfdreg.h: Likewise.
                   13350:        * i386/Makefile.in (i386at-files): Remove `fd.c'.
                   13351:        * i386/i386at/autoconf.c: Don't include <fd.h> anymore and adapt all
                   13352:        users of NFD as if it were always defined to `0'.
                   13353:        * i386/i386at/conf.c: Likewise.
                   13354: 
                   13355:        * i386/bogus/hd.h: Remove file.
                   13356:        * i386/i386at/nhd.c: Likewise.
                   13357:        * i386/i386at/nhdreg.h: Likewise.
                   13358:        * i386/i386at/autoconf.c: Don't include <hd.h> anymore and adapt all
                   13359:        users of NHD as if it were always defined to `0'.
                   13360:        * i386/i386at/conf.c: Likewise.
                   13361: 
                   13362:        * DEVELOPMENT: New file.
                   13363: 
                   13364: 2006-02-05  Thomas Schwinge  <[email protected]>
                   13365: 
                   13366:        * Makerules.in: Don't set no_deps to true if MAKECMDGOALS is empty.
                   13367: 
                   13368: 2006-02-03  Thomas Schwinge  <[email protected]>
                   13369: 
                   13370:        * Makerules.in: Set no_deps to true if we don't need the dependency
                   13371:        files.
                   13372:        * i386/linux/Makefile.in: Do care about linux-flags if no_deps is true;
                   13373:        reverting the change from 2006-01-31.
                   13374: 
                   13375:        * Makefile.in: Include Makerules through top_builddir, so that it will
                   13376:        automatically be rebuilt if needed.
                   13377: 
                   13378:        * Makerules.in (CFLAGS): Added -fno-strict-aliasing.
                   13379:        * i386/linux/Makefile.in (linux-gen-flags): Likewise.
                   13380: 
                   13381: 2006-02-02  Sergio Lopez  <[email protected]>
                   13382: 
                   13383:        * linux/src/drivers/scsi/eata_pio.c (eata_pio_detect): Fix a
                   13384:        off-by-one error when probing.
                   13385:        * linux/src/drivers/scsi/eata_dma.c (eata_detect): Likewise.
                   13386:        * linux/dev/drivers/scsi/eata_dma.c (eata_detect): Likewise.
                   13387: 
                   13388:        * linux/src/drivers/net/apricot.c (apricot_probe): Increase eth_addr
                   13389:        size to 8 so we do not trash the stack when reading from the io ports.
                   13390: 
                   13391: 2006-02-02  Thomas Schwinge  <[email protected]>
                   13392: 
                   13393:        * Makerules.in: Move a comment ...
                   13394:        * Makefile.in: ... here.
                   13395: 
                   13396: 2006-02-01  Thomas Schwinge  <[email protected]>
                   13397: 
                   13398:        * linux/dev/drivers/block/genhd.c (add_bsd_partition): Only define if
                   13399:        both MACH and CONFIG_BSD_DISKLABEL are defined.
                   13400:        Reported by Matheus Morais <[email protected]>.
                   13401: 
                   13402: 2006-01-31  Thomas Schwinge  <[email protected]>
                   13403: 
                   13404:        Cleanup of GNU Mach's build system.  The system dependent parts are now
                   13405:        handled by the respective Makefile and no longer by the top-level one.
                   13406: 
                   13407:        * configure, i386/configure, i386/linux/configure, linux/configure:
                   13408:        Regenerated.
                   13409: 
                   13410:        * Makefile.in: Various cleanups.
                   13411:        (mach/machine, mach_machine): Targets removed.
                   13412:        (AWK, CC, CFLAGS, CPPFLAGS, DEFINES, INCLUDES, INSTALL, INSTALL_DATA)
                   13413:        (INSTALL_PROGRAM, LD, MIG, MIGFLAGS, NM): Variables moved into
                   13414:        Makerules.in.
                   13415:        Do not include $(sysdep)/Makefrag anymore.
                   13416:        (all, check, clean, distclean, mostlyclean, maintainer-clean, install)
                   13417:        (install-headers, install-kernel): Recurse into the system dependent
                   13418:        subdirectory.
                   13419:        (check): Add a basic test using mbchk.
                   13420:        (clean, distclean): Be more explicit in what to delete.
                   13421:        ($(systype)/%): New target.
                   13422:        (kernel.o): Incorporate the system dependent archive.
                   13423:        (installed-sysdep-headers-names, $(installed-sysdep-headers-names)):
                   13424:        Variable and target moved into the system dependent Makefile.in.
                   13425:        (install-headers, mkheaderdirs): Don't care for the system dependent
                   13426:        header files.
                   13427:        (%.symc, %.symc.o, %.h, %_user.c, %_interface.h, %_server.c): Targets
                   13428:        moved into Makerules.in.
                   13429:        Inclusion of dependency files: Likewise.
                   13430:        (%.migs_d, %.migu_d, %.migsh_d, %.miguh_d, make-deps, %.d): Likewise.
                   13431:        Include Makerules.
                   13432:        * Makerules.in: New file, mainly based on Makefile.in.
                   13433:        * configure.in: Do not substitute cross_compiling and not explicitly
                   13434:        substitute LDFLAGS.
                   13435:        Check for cpp, ranlib, ar and mbchk.
                   13436:        Care for the mach/machine symbolic link.
                   13437:        Add Makerules as a config file.
                   13438:        * i386/Makefile.in: Various cleanups.
                   13439:        Merge i386/Makefrag and the system dependent stuff from Makefile.in
                   13440:        into this file.
                   13441:        (all, check, install, install-headers, install-kernel): Recurse into
                   13442:        the system dependent subdirectory.
                   13443:        (sysdep.o): transformed to the new target sysdep.a.
                   13444:        (linux/linux.o): Target removed.
                   13445:        (clean, distclean): Be more explicit in what to delete.
                   13446:        (linux/%): New target.
                   13447:        (install-headers): Install the system dependent header files.
                   13448:        (mkheaderdirs): New target.
                   13449:        Include the top-level Makerules.
                   13450:        * i386/Makefrag: File removed.
                   13451:        * i386/Makerules.in: New file.
                   13452:        * i386/configure.in: Synchronize AC_INIT to the top-level definition.
                   13453:        Do not check for ld and make.
                   13454:        Add Makerules as a config file.
                   13455:        * i386/linux/Makefile.in: Various cleanups.
                   13456:        Replace linux-objs with objfiles.
                   13457:        (check, install, install-headers, install-kernel): New empty targets.
                   13458:        Don't care about linux-flags if no_deps is true.
                   13459:        Inclusion of dependency files removed and instead...
                   13460:        Include the top-level Makerules.
                   13461:        * i386/linux/Makerules.in: New file.
                   13462:        * i386/linux/configure.ac: Synchronize AC_INIT to the top-level
                   13463:        definition.
                   13464:        Do not check for gcc and ld.
                   13465:        Do not explicitly substitute LDFLAGS.
                   13466:        Add Makerules as a config file.
                   13467:        * linux/configure.in: Synchronize AC_INIT to the top-level definition.
                   13468:        Do not create directories using a dummy file.
                   13469:        * linux/dummy.in: File removed.
                   13470: 
                   13471:        * ddb/db_access.h: Include <machine/vm_param.h> instead of
                   13472:        "vm_param.h".
                   13473:        * kern/bootstrap.c: Likewise.
                   13474:        * kern/thread.c: Likewise.
                   13475:        * vm/vm_kern.c: Likewise.
                   13476:        * vm/vm_object.c: Likewise.
                   13477:        * vm/vm_resident.c: Likewise.
                   13478: 
                   13479: 2006-01-26  Thomas Schwinge  <[email protected]>
                   13480: 
                   13481:        * config.guess: Updated from the canonical source.
                   13482:        * config.sub: Likewise.
                   13483: 
                   13484: 2006-01-26  Jeroen Dekkers  <[email protected]>
                   13485: 
                   13486:        * i386/i386/locore.S (trap_push_segs): Switch fs and gs to kernel
                   13487:        data segment too.
                   13488:        (syscall_entry_2): Likewise.
                   13489:        * i386/i386/user_ldt.c (i386_set_ldt): Always copy the master LDT
                   13490:        when there is no old user LDT.
                   13491: 
                   13492: 2006-01-26  Samuel Thibault  <[email protected]>
                   13493: 
                   13494:        * linux/dev/arch/i386/kernel/irq.c (linux_intr): Disable interrupts
                   13495:        if the driver requested it through request_irq().
                   13496: 
                   13497:        * linux/dev/drivers/block/ide.c (read_intr): Set the IRQ handler before
                   13498:        issuing a request.
                   13499:        (write_intr): Likewise.
                   13500:        (multwrite_intr): Likewise.
                   13501: 
                   13502: 2006-01-26  Thomas Schwinge  <[email protected]>
                   13503: 
                   13504:        * i386/linux/Makefile.in: Automatically recreate the `Makefile'.
                   13505: 
                   13506: 2006-01-23  Thomas Schwinge  <[email protected]>
                   13507: 
                   13508:        * i386/linux/configure: Regenerated.
                   13509: 
                   13510:        * i386/linux/configure.ac: Only add a AC_DRIVER_ALIAS if it really is a
                   13511:        alias.
                   13512: 
                   13513: 2006-01-22  Thomas Schwinge  <[email protected]>
                   13514: 
                   13515:        * doc/mach.texi (Configuration): Document the recently added drivers.
                   13516:        * i386/README-Drivers: Likewise.
                   13517: 
                   13518:        * configure, i386/configure, i386/linux/configure, linux/configure,
                   13519:        i386/linux/device-drivers.h.in: Regenerated.
                   13520: 
                   13521:        * linux/src/drivers/net/ne2k-pci.c: Resolve conflicts.
                   13522: 
                   13523: 2006-01-22  Guillem Jover  <[email protected]>
                   13524: 
                   13525:        * i386/linux/configure.ac: Renamed winbond-840 driver to winbond_840.
                   13526:        Enable the starfire, intel_gige and natsemi network drivers.  Remove
                   13527:        "CONFIG_" from cb_chim, starfire, sundance, winbond840, hamachi,
                   13528:        natsemi, myson803 and ns820 driver declarations.  Replace INTER_GIGE
                   13529:        with INTEL_GIGE.
                   13530:        * linux/dev/drivers/net/Space.c: Add conditional probes for natsemi,
                   13531:        ns820, winbond840, hamachi, sundance, starfire, myson803 and intel-gige
                   13532:        drivers.
                   13533: 
                   13534:        * linux/src/include/asm-i386/cache.h: New file from linux 2.2.26.
                   13535:        * linux/dev/include/linux/malloc.h: Include <asm/cache.h>.
                   13536: 
                   13537:        * linux/src/drivers/net/ns820.c (netsami_drv_id): Renamed to ...
                   13538:        (ns820_drv_id): ... this.  Fix all callers.
                   13539:        * linux/src/drivers/net/intel-gige.c
                   13540:        (skel_netdev_probe): Renamed to ...
                   13541:        (igige_probe): ... this.
                   13542:        * linux/dev/drivers/net/eepro100.c: Remove obsoleted file.
                   13543:        * linux/src/drivers/net/eepro100.c (pci_id_tbl): Add PCI ID's from
                   13544:        linux-2.6.14-rc4.
                   13545: 
                   13546: 2006-01-22  Alfred M. Szmidt  <[email protected]>
                   13547: 
                   13548:        * i386/linux/configure.ac: Added `pci-scan.o' to the network driver
                   13549:        class.  (ns820, myson803, sundance, winbond-840, hamachi): New drivers.
                   13550:        * i386/linux/Makefile.in (linux-net-files): Added `cb_shim.c',
                   13551:        `hamachi.c', `intel-gige.c', `myson803.c', `natsemi.c', `ns820.c',
                   13552:        `starfire.c', `sundance.c', `winbond-840.c' and `pci-scan.c'.
                   13553: 
                   13554:        * linux/dev/include/linux/modversions.h: New file.
                   13555: 
                   13556:        * linux/src/drivers/net/cb_shim.c, linux/src/drivers/net/hamachi.c,
                   13557:        linux/src/drivers/net/intel-gige.c, linux/src/drivers/net/myson803.c,
                   13558:        linux/src/drivers/net/natsemi.c, linux/src/drivers/net/ns820.c,
                   13559:        linux/src/drivers/net/starfire.c, linux/src/drivers/net/sundance.c,
                   13560:        linux/src/drivers/net/winbond-840.c,
                   13561:        linux/src/drivers/net/kern_compat.h, linux/src/drivers/net/pci-scan.c,
                   13562:        linux/src/drivers/net/pci-scan.h: New files from netdrivers 3.5 package
                   13563:        (http://www.scyld.com/network).
                   13564: 
                   13565:        * linux/src/drivers/net/3c59x.c, linux/src/drivers/net/eepro100.c,
                   13566:        linux/src/drivers/net/epic100.c, linux/src/drivers/net/ne2k-pci.c,
                   13567:        linux/src/drivers/net/rtl8139.c, linux/src/drivers/net/tulip.c,
                   13568:        linux/src/drivers/net/via-rhine.c, linux/src/drivers/net/yellowfin.c:
                   13569:        Updated files from netdrivers 3.5 (http://www.scyld.com/network).
                   13570: 
                   13571: 2006-01-22  Thomas Schwinge  <[email protected]>
                   13572: 
                   13573:        * linux/src/drivers/net/ne2k-pci.c (ne_block_input, ne_block_output):
                   13574:        Fix previous patch.
                   13575: 
                   13576: 2005-07-12  Guillem Jover  <[email protected]>
                   13577: 
                   13578:        * configure: Regenerated.
                   13579:        * i386/configure: Regenerated.
                   13580: 
                   13581:        * Drivers.macros (AC_DRIVER_CLASS): Use AH_TEMPLATE.
                   13582:        (AC_DRIVER): Set the value for the AC_DEFINE and AC_DEFINE_UNQUOTED
                   13583:        to 1.
                   13584: 
                   13585:        * aclocal.m4 (AC_PROG_CC_LOCAL, AC_PROG_CC_WORKS_LOCAL): Removed.
                   13586:        * version.m4: New file.
                   13587:        * Makefile.in: Use PACKAGE_VERSION, not VERSION.
                   13588:        * doc/Makefile.in: Likewise.
                   13589:        * version.c.in: Likewise. Use PACKAGE_NAME, not "GNUmach".
                   13590:        * i386/linux/Makefile.in (configure): Change its source to
                   13591:        configure.ac.
                   13592: 
                   13593:        * aclocal.m4: Add missing quotations.
                   13594:        * Drivers.macros: Likewise.
                   13595:        * configure.in: Likewise. Include version.m4 and use PACKAGE and
                   13596:        VERSION m4 macros from it.
                   13597:        * i386/configure.in: Likewise.
                   13598:        (AC_INIT): Use new syntax and move source check to AC_CONFIG_SRCDIR.
                   13599:        * i386/linux/configure.ac: Likewise. Use m4_sinclude, not sinclude.
                   13600:        * linux/configure.in: Likewise.
                   13601: 
                   13602:        * i386/configure.in: Update AC_DEFINE to the new three argument form.
                   13603:        * i386/linux/configure.ac: Move AC_DEFINE inside AC_ARG_ENABLE.
                   13604: 
                   13605:        * configure.in: Use AC_CONFIG_LINKS, not AC_LINK_FILES.
                   13606:        * linux/configure.in: Likewise.
                   13607: 
                   13608:        * i386/configure.in: Call AC_CONFIG_FILES and use the new form of
                   13609:        AC_OUTPUT.
                   13610:        * i386/linux/configure.ac: Likewise.
                   13611:        * linux/configure.in: Likewise
                   13612: 
                   13613:        * configure.in: Use AS_HELP_STRING in AC_ARG_ENABLE help strings.
                   13614:        * Drivers.macros: Likewise.
                   13615:        * i386/configure.in: Likewise.
                   13616:        * i386/linux/configure.ac: Likewise.
                   13617: 
                   13618: 2005-07-12  Neal H. Walfield  <[email protected]>
                   13619: 
                   13620:        * configure.in: Update to use autoconf 2.57.
                   13621:        Do not error out if host_os is not GNU.
                   13622:        Update AC_DEFINEs to the required three argument form.
                   13623:        Don't call AC_CHECK_TOOL(CC, gcc) and AC_PROG_CC_LOCAL, just use
                   13624:        AC_PROG_CC.
                   13625:        AC_SUBST(LDFLAGS).
                   13626:        Refactor AC_CONFIG_SUBDIRS to not do variable substitution.
                   13627:        Call AC_CONFIG_FILES and use the new form of AC_OUTPUT.
                   13628:        * i386/configure.in: Require autoconf 2.57.
                   13629:        * linux/configure.in: Likewise.
                   13630:        * i386/linux/Drivers.in: Move from here...
                   13631:        * i386/linux/configure.ac: ... to here to conform to the
                   13632:        environment autoreconf expects.
                   13633:        (hurd_host_CPU): New macro.
                   13634:        Call AC_PROG_CC, not AC_PROG_CC_LOCAL.
                   13635:        AC_SUBST(LD_FLAGS).
                   13636:        (flashpoint): Update AC_DEFINE to the new three argument form.
                   13637:        * Drivers.macros (AC_DRIVER): Update AC_DEFINE to the new three
                   13638:        argument form.
                   13639: 
                   13640: 2005-05-24  Alfred M. Szmidt  <[email protected]>
                   13641: 
                   13642:        * i386/include/mach/i386/asm.h (END): New macro.
                   13643: 
                   13644:        * i386/include/mach/i386/syscall_sw.h (kernel_trap): Call END.
                   13645: 
                   13646: 2005-05-28  Alfred M. Szmidt  <[email protected]>
                   13647: 
                   13648:        * linux/src/drivers/scsi/u14-34f.c (ihdlr): Silence gcc 4.x
                   13649:        errors.
                   13650:        * linux/src/drivers/scsi/qlogicisp.h: Likewise.
                   13651:        * linux/src/drivers/scsi/advansys.c: Likewise.
                   13652:        (advansys_reset, advansys_interrupt, asc_scsi_done_list,
                   13653:        (asc_enqueue, asc_dequeue, asc_dequeue_list, asc_rmqueue,
                   13654:        (asc_isqueued): Likewise.
                   13655:        * linux/src/drivers/scsi/53c78xx.c (NCR53c7xx_queue_command):
                   13656:        Likewise.
                   13657:        * linux/src/drivers/net/ne2k-pci.c (ne_block_input)
                   13658:        (ne_block_output): Likewise.
                   13659:        * linux/src/drivers/net/hp100.c (__initfunc): Likewise.
                   13660:        * linux/src/drivers/net/3c507.c (el16_interrupt): Likewise.
                   13661:        * linux/dev/drivers/scsi/seagate.c (seagate_st0x_queue_command):
                   13662:        Likewise.
                   13663: 
                   13664: 2005-05-26  Alfred M. Szmidt  <[email protected]>
                   13665: 
                   13666:        * device/cons.h (cn_tab) [KERNEL]: Removed extern declaration.
                   13667: 
                   13668:        * linux/dev/include/linux/fs.h (super_blocks): Declare as an
                   13669:        pointer.
                   13670: 
                   13671: 2005-02-10  Guillem Jover  <[email protected]>
                   13672: 
                   13673:        * linux/dev/glue/block.c (rdwr_partial): Remove leftover assert.
                   13674: 
                   13675: 2005-01-22  Guillem Jover  <[email protected]>
                   13676: 
                   13677:        * linux/dev/include/linux/skbuff.h (skb_put, skb_push): Fix errors
                   13678:        for deprecated use of labels at end of compound statements.
                   13679:        * i386/i386/fpe_linkage.c (enable_fpe): Declare prototype.
                   13680: 
                   13681: 2005-01-22  Guillem Jover  <[email protected]>
                   13682: 
                   13683:        * linux/src/drivers/scsi/qlogicisp_asm.c: Remove file with binary
                   13684:        only firmware.
                   13685:        * linux/src/drivers/scsi/qlogicisp.c: Do not include "qlogicisp_asm.c".
                   13686:        (RELOAD_FIRMWARE): Set to 0.
                   13687:        (risc_code_addr01): New variable from qlogicisp_asm.c.
                   13688:        * linux/Files: Remove linux/src/drivers/scsi/qlogicisp_asm.c.
                   13689: 
                   13690: 2004-09-08  Neal H. Walfield  <[email protected]>
                   13691: 
                   13692:        * linux/dev/kernel/printk.c: Include <kern/assert.h>.
                   13693:        (printk): Use vsnprintf, not linux_vsprintf to avoid buffer
                   13694:        overruns.
                   13695: 
                   13696:        * kern/printf.c (struct vsnprintf_cookie): New structure.
                   13697:        (snputc): New function.
                   13698:        (vsnprintf): Likewise.
                   13699: 
                   13700: 2004-11-22  Guillem Jover  <[email protected]>
                   13701: 
                   13702:        * bogus/mach_assert.h: Change #ifdef DEBUG to #ifndef NDEBUG
                   13703:        for assert et al.
                   13704:        * kern/assert.h: Likewise.
                   13705:        * kern/debug.h: Likewise.
                   13706:        * util/debug.h: Likewise.
                   13707: 
                   13708:        * i386/i386/debug.h: Move dump_ss definition out of [DEBUG].
                   13709:        * linux/dev/glue/block.c (rdwr_full): Remove invalid assert.
                   13710: 
                   13711: 2004-09-07  Neal H. Walfield  <[email protected]>
                   13712: 
                   13713:        * linux/dev/glue/block.c (__brelse): Unconditionally kfree BH.
                   13714:        (getblk): Unconditionally kalloc BH.
                   13715: 
                   13716:        * kern/kalloc.c [!NDEBUG] (kalloc_init_called): New static
                   13717:        variable.
                   13718:        (kalloc_init): Assert that kalloc_init_called is zero.
                   13719:        [! NDEBUG] Set kalloc_init_called to 1 on success.
                   13720:        (kalloc): Assert that kalloc_init_called is non-zero.
                   13721:        (kget): Likewise.
                   13722:        (kfree): Likewise.
                   13723: 
                   13724: 2004-11-22  Guillem Jover  <[email protected]>
                   13725: 
                   13726:        * i386/i386/locore.S (discover_x86_cpu_type): Enable function.
                   13727:        Enable ID flag for Cyrix CPU. Use %ebp to save the stack pointer.
                   13728:        Restore EFLAGS just after its last usage.
                   13729:        * i386/i386at/model_dep.c (c_boot_entry): Enable use of
                   13730:        discover_x86_cpu_type. Remove hardcoded cpu_type assignment.
                   13731:        * i386/include/mach/i386/eflags.h
                   13732:        (EFL_VI, EFL_VIP): New bits.
                   13733:        (EFL_AC, EFL_ID): Bits finally added.
                   13734: 
                   13735: 2004-10-26  Guillem Jover  <[email protected]>
                   13736: 
                   13737:        * i386/i386/fpe.b: Remove binary without source.
                   13738:        * i386/i386/fpe.b_elf: Likewise.
                   13739:        * i386/i386/fpe_linkage.c: Disable the code if [! FPE].
                   13740:        * i386/bogus/fpe.h: Add comment about not having an fpe implementation.
                   13741:        * i386/Makefrag (objfiles): Do not add fpe.o.
                   13742:        Remove targets to generate fpe.o.
                   13743: 
                   13744: 2004-02-29  Marcus Brinkmann  <[email protected]>
                   13745: 
                   13746:        * NEWS: Add things that changed so far since 1.3.
                   13747: 
                   13748: 2004-02-02  Marco Gerards  <[email protected]>
                   13749: 
                   13750:        * i386/i386at/kd.c (kdinit): Initialize the input buffer.
                   13751: 
                   13752:        * i386/i386at/kd.h (KDSETLEDS): New macro.
                   13753:        * i386/i386at/kd_event.c (kbdsetstat): Handle KDSETLEDS here to
                   13754:        set the keyboard LEDs state.
                   13755: 
                   13756: 2004-01-19  Marco Gerards  <[email protected]>
                   13757: 
                   13758:        * linux/dev/glue/block.c (init_partition): Don't check for BSD
                   13759:        partitions if the DOS partition is too small.
                   13760: 
                   13761: 2004-01-16  Marco Gerards  <[email protected]>
                   13762: 
                   13763:        * linux/dev/glue/block.c (device_get_status): Correctly calculate
                   13764:        the number of blocks.
                   13765: 
                   13766: 2004-01-15  Alfred M. Szmidt  <[email protected]>
                   13767: 
                   13768:        * linux/dev/include/asm-i386/string.h (memscan): Don't use
                   13769:        multi-line string literals for asm().
                   13770:        * linux/dev/include/asm-i386/segment.h (__generic_memcpy_tofs)
                   13771:        (__generic_memcpy_fromfs): Likewise.
                   13772:        * linux/src/include/asm-i386/floppy.h (floppy_hardint): Likewise.
                   13773:        * i386/i386/proc_reg.h (flush_instr_queue): Likewise.
                   13774:        * i386/i386/gdt.c (gdt_init): Likewise.
                   13775: 
                   13776:        * linux/src/drivers/scsi/aic7xxx.c: Updated from Linux 2.0.39
                   13777:        * linux/src/drivers/scsi/aic7xxx.h: Likewise.
                   13778:        * linux/src/drivers/scsi/aic7xxx_proc.c: Likewise.
                   13779:        * linux/src/drivers/scsi/scsicam.c: Likewise.
                   13780:        * linux/src/include/linux/pci.h: Likewise.
                   13781: 
                   13782:        * linux/src/drivers/scsi/53c7,8xx.h (patch_dsa_32): Don't use
                   13783:        token paste operator (##).
                   13784: 
                   13785:        * Makefile.in (kernel-undef): Match new output format from
                   13786:        nm (binutils) 2.14.x.
                   13787: 
1.1.1.5   root     13788: 2002-05-27  Roland McGrath  <[email protected]>
                   13789: 
                   13790:        * Version 1.3 released.
                   13791: 
                   13792: 2002-05-23  Marcus Brinkmann  <[email protected]>
                   13793: 
                   13794:        * i386/i386at/model_dep.c: Include <kern/cpu_number.h> and
                   13795:        <kern/assert.h>.
                   13796:        (machine_idle): New function.
                   13797:        * bogus/power_save.h (POWER_SAVE): Define to 1.
                   13798: 
                   13799: 2002-05-22  Roland McGrath  <[email protected]>
                   13800: 
                   13801:        * configure.in (VERSION): New substituted variable: set to 1.3 now.
                   13802:        (version.c): Add it to AC_OUTPUT.
                   13803:        * configure: Regenerated.
                   13804:        * Makefile.in (version): New variable, set from that.
                   13805:        Remove vpath directive for version.c, not found in build dir.
                   13806:        (topfiles): version.c -> version.c.in
                   13807:        * doc/Makefile.in (mach-version): Substituted instead of constant.
                   13808:        * version.c: File removed, replaced with ...
                   13809:        * version.c.in: ... this new file.
                   13810:        (version): Make it const.  Use @VERSION@ for the number.
                   13811: 
                   13812:        * Makefile.in (debian-files): Add postinst and prerm.
                   13813:        (dist): Use gzip -9 instead of tar z.
                   13814: 
                   13815:        * linux/Files: Add missing files to the list:
                   13816:                linux/dev/drivers/net/eepro100.c
                   13817:                linux/src/include/asm-i386/hardirq.h
                   13818:                linux/src/include/asm-i386/spinlock.h
                   13819:                linux/src/include/linux/compatmac.h
                   13820:                linux/src/include/linux/spinlock.h
                   13821: 
                   13822:        * linux/src/drivers/net/eth16i.c (eth16i_check_signature): Fix syntax:
                   13823:        #ifdef 0 -> #if 0
                   13824: 
                   13825:        * Makefile.in (%.migs_d, %.migu_d): Fix sed substitution to match
                   13826:        whatever target file name gcc comes up with.
                   13827:        (%.migs_d, %.migu_d, %.symc.o, %_user.c, %_server.c):
                   13828:        Depend on $(before-compile).
                   13829: 
                   13830: 2002-04-24  Marcus Brinkmann  <[email protected]>
                   13831: 
                   13832:        * debian/rules (DOCDIR): Move to
                   13833:        $(PREFIX)/share/doc/$(package-dev).
                   13834: 
                   13835: 2002-04-23  Roland McGrath  <[email protected]>
                   13836: 
                   13837:        * i386/i386/ldt.c (ldt_init): Fix fencepost error in segment limits.
                   13838: 
                   13839: 2002-04-19  Roland McGrath  <[email protected]>
                   13840: 
                   13841:        * gensym.awk: Emit \n\ at the end of lines inside strings.
                   13842:        * Makefile.in (%.symc: %.sym): Depend on gensym.awk.
                   13843: 
                   13844: 2002-03-29  Marcus Brinkmann  <[email protected]>
                   13845: 
                   13846:        * doc/mach.texi: End index entry with full stop.
                   13847: 
                   13848: 2002-03-05  Roland McGrath  <[email protected]>
                   13849: 
                   13850:        * kern/bootstrap.c: Include <alloca.h>.
                   13851: 
                   13852: 2002-03-04  Roland McGrath  <[email protected]>
                   13853: 
                   13854:        * Makefile.in (%_interface.h %_server.c: %.srv): Pass -sheader switch
                   13855:        to mig, not -header.
                   13856: 
                   13857: 2001-11-23  Roland McGrath  <[email protected]>
                   13858: 
                   13859:        * i386/i386at/i386at_ds_routines.c (device_deallocate): Do nothing if
                   13860:        argument is DEVICE_NULL.
                   13861: 
                   13862: 2001-10-21  Marcus Brinkmann  <[email protected]>
                   13863: 
                   13864:        * linux/src/arch/i386/lib/delay.c: Convert HTML entities.
                   13865:        Reported by John Tobey <[email protected]>.
                   13866: 
                   13867: 2001-10-13  Marcus Brinkmann  <[email protected]>
                   13868: 
                   13869:        * debian/changelog: Update for next release.
                   13870: 
                   13871: 2001-10-07  Roland McGrath  <[email protected]>
                   13872: 
                   13873:        * ddb/db_access.c: Fix obsolescent #else/#endif syntax.
                   13874:        * device/dev_name.c: Likewise.
                   13875:        * device/dev_pager.c: Likewise.
                   13876:        * device/ds_routines.c: Likewise.
                   13877:        * i386/i386/i386asm.sym: Likewise.
                   13878:        * include/device/device_reply.defs: Likewise.
                   13879:        * include/mach/memory_object.defs: Likewise.
                   13880:        * include/mach/memory_object_default.defs: Likewise.
                   13881: 
                   13882:        * i386/i386/locore.S: Fix sloppy asm syntax to avoid warnings from
                   13883:        newer assembler (%ecx -> %cl in byte insns).
                   13884: 
                   13885:        * kern/bootstrap.c (bootstrap_create): Fix inverted test logic for
                   13886:        compatibility case.  Ignore trailing newlines after space for
                   13887:        compatibility detection.
                   13888:        Reported by Neal H Walfield <[email protected]>.
                   13889: 
                   13890: 2001-10-06  Marcus Brinkmann  <[email protected]>
                   13891: 
                   13892:        * README: Replace `GNU mach' by `GNU Mach', and remove
                   13893:        obsolete paragraph about kmsg device.
                   13894: 
                   13895: 2001-10-06  Marcus Brinkmann  <[email protected]>
                   13896: 
                   13897:        * doc/mach.texi: Fix direntry.
                   13898: 
                   13899: 2001-10-05  Marcus Brinkmann  <[email protected]>
                   13900: 
                   13901:        * doc/mach.texi: Replace `path name' by `file name' in one place.
                   13902:        Replace `illegal' by `invalid' and `to to' by `to' everwhere.
                   13903: 
                   13904:        * debian/changelog: Prepare for next release.
                   13905: 
                   13906: 2001-10-04  Marcus Brinkmann  <[email protected]>
                   13907: 
                   13908:        * doc: New directory.
                   13909:        * doc/Makefile.in: New file.
                   13910:        * doc/gpl.texi: Likewise.
                   13911:        * doc/fdl.texi: Likewise.
                   13912:        * doc/mach.texi: Likewise.
                   13913:        * configure.in: Add doc/Makefile to AC_OUTPUT call.
                   13914:        * configure: Regenerated.
                   13915: 
                   13916:        * Makefile.in (dist): Create directories doc and debian.
                   13917:        (doc-files): New variable with documentation files.
                   13918:        (debian-files): New variable with Debian packaging files.
                   13919: 
                   13920:        * debian/rules (stamp-build): Build documentation.
                   13921:        (build-gnumach): Install the documentation into the gnumach
                   13922:        package.
                   13923:        * debian/postrm: New file to install info document.
                   13924:        * debian/prerm: New file to install info document.
                   13925: 
                   13926: 2001-10-01  Marcus Brinkmann  <[email protected]>
                   13927: 
                   13928:        * i386/i386/locore.S (tenmicrosec): Remove subroutine.
                   13929:        * i386/i386/pit.c (delaycount): Remove global variable.
                   13930:        (microdata): Likewise.
                   13931:        (clkstart): Do not call findspeed() and microfind().
                   13932:        (findspeed): Remove function.
                   13933:        (spinwait): Likewise.
                   13934:        (microfind): Likewise.  This function triggers a division by zero
                   13935:        trap on AMD K6 350Mhz+ and Athlon 1.1GHz+ machines (and in general
                   13936:        leads to bad results on fast cpus), and nothing uses this code anymore.
                   13937: 
                   13938: 2001-09-30  Roland McGrath  <[email protected]>
                   13939: 
                   13940:        * kern/bootstrap.c (bootstrap_create): Ignore trailing spaces when
                   13941:        checking boot module string for containing none.
                   13942: 
                   13943: 2001-09-18  Marcus Brinkmann  <[email protected]>
                   13944: 
                   13945:        * linux/dev/glue/misc.c: Do not include <linux/types.h> and
                   13946:        <linux/string.h>.
                   13947:        Remove global variable ___strtok.
                   13948:        Remove implementation of strspn, strpbrk, strtok and strstr.
                   13949:        * Makefile.in: Add strpbrk and strtok.
                   13950: 
                   13951: 2001-08-24  Roland McGrath  <[email protected]>
                   13952: 
                   13953:        * kern/bootstrap.c (bootstrap_create): Make setting of boot-args and
                   13954:        root-device no longer conditional on [! OSKIT_MACH].
                   13955:        (bootstrap_create) [! OSKIT_MACH]: Parse FOO=BAR words out of the
                   13956:        multiboot command line and turn those into boot script variables.
                   13957: 
                   13958:        * Makefile.in (clib-routines): Add strsep.
                   13959:        * kern/strings.h (strsep, strchr): Declare them.
                   13960: 
                   13961: 2001-08-23  Roland McGrath  <[email protected]>
                   13962: 
                   13963:        * kern/bootstrap.c (bootstrap_create, user_bootstrap,
                   13964:        boot_script_exec_cmd, boot_script_task_resume): Add printfs at
                   13965:        various stages of startup.
                   13966: 
                   13967: 2001-08-21  Roland McGrath  <[email protected]>
                   13968: 
                   13969:        * i386/i386at/model_dep.c (use_all_mem): Turn variable into macro.
                   13970:        (init_alloc_aligned): Make this function static.
                   13971:        Initially skip memory < 16MB and then wrap around to get it last.
                   13972: 
                   13973: 2001-08-20  Roland McGrath  <[email protected]>
                   13974: 
                   13975:        Support "boot script" functionality in multiboot module strings.
                   13976:        * kern/bootstrap.c: Rewrite merged from oskit-branch.
                   13977:        * kern/boot_script.c, kern/boot_script.h: New files,
                   13978:        copied from boot/ directory in Hurd sources.
                   13979:        * Makefile.in (kern-cfiles): Add boot_script.c here.
                   13980:        (kern-files): Add boot_script.h here.
                   13981:        * NEWS: Mention the new feature.
                   13982: 
                   13983: 2001-08-18  Roland McGrath  <[email protected]>
                   13984: 
                   13985:        * i386/i386at/model_dep.c (boot_info): Define a struct, not a pointer.
                   13986:        (c_boot_entry): Copy the contents into it rather than setting the ptr.
                   13987:        (c_boot_entry, init_alloc_aligned, pmap_valid_page, mem_size_init):
                   13988:        Update uses.
                   13989:        (init_alloc_aligned): Don't need to skip the boot_info memory.
                   13990:        * kern/bootstrap.c (boot_info): Update decl.
                   13991:        (bootstrap_create): Update uses.
                   13992: 
                   13993: 2001-08-18  Marcus Brinkmann  <[email protected]>
                   13994: 
                   13995:        * linux/src/drivers/net/eepro100.c: File updated to version in
                   13996:        Linux 2.2.19.  This time for real.
                   13997: 
                   13998: 2001-08-18  Marcus Brinkmann  <[email protected]>
                   13999: 
                   14000:        * debian/changelog: Update for next package upload.
                   14001:        * debian/control: Add gnumach-dbg package.
                   14002:        * debian/rules: New targets to build gnumach-dbg package.
                   14003:        Fix various bugs.
                   14004: 
                   14005: 2001-08-18  Marcus Brinkmann  <[email protected]>
                   14006: 
                   14007:        * i386/i386at/kd.c (kdintr): In event mode, make it so that
                   14008:        0xE0 scancodes are received.
                   14009:        From Kalle Olavi Niemitalo <[email protected]>.
                   14010: 
                   14011:        * i386/i386at/kd.h: New constants KAX_REVERSE, KAX_UNDERLINE,
                   14012:        KAX_BLINK, KAX_BOLD, KAX_DIM, KAX_INVISIBLE, KAX_COL_UNDERLINE,
                   14013:        KAX_COL_DIM.
                   14014:        * i386/i386at/kd.c: Increase K_MAXESC to 32.
                   14015:        New global variable color_table to map color values.
                   14016:        New globals kd_color and kd_attrflags.
                   14017:        (kdinit): Initialize these variables.
                   14018:        (kd_update_kd_attr): New function.
                   14019:        (kd_parserest): Redone to support more terminal attributes,
                   14020:        including colors.
                   14021: 
                   14022: 2001-08-18  Marcus Brinkmann  <[email protected]>
                   14023: 
                   14024:        * linux/src/drivers/net/eepro100.c: File updated to version in
                   14025:        Linux 2.2.19.
                   14026:        * linux/src/include/asm-i386/spinlock.h: New file from Linux 2.2.19.
                   14027:        * linux/src/include/asm-i386/hardirq.h: Likewise.
                   14028:        * linux/src/include/linux/spinlock.h: Likewise.
                   14029:        * linux/src/include/linux/compatmac.h: Likewise.
1.1.1.6   root     14030:        * linux/dev/drivers/net/eepro100.c: New file, modified version from
                   14031:        the above to glue it in gnumach.
                   14032:        Submitted by Kapil H. Paranjape <[email protected]>.
1.1.1.5   root     14033: 
                   14034: 2001-08-17  Roland McGrath  <[email protected]>
                   14035: 
                   14036:        * Makefile.in (clib-routines): Add strchr.
                   14037:        (kernel-undef-bad): Depend on Makefile.
                   14038: 
                   14039:        * Makefile.in ($(srcdir)/configure, $(srcdir)/config.h.in):
                   14040:        Use $(srcdir) in deps.
                   14041:        (Makefile, config.h, config.status): Likewise.
                   14042: 
                   14043: 2001-07-29  Marcus Brinkmann  <[email protected]>
                   14044: 
                   14045:        * NEWS: Add items for this and other changes.
                   14046:        * configure.in: Define MACH_KMSG by default and document this in
                   14047:        the help output.
                   14048:        * configure: Regenerated.
                   14049:        * debian/rules: Do not enable kmsg explicitely.
                   14050: 
                   14051: 2001-07-18  Marcus Brinkmann  <[email protected]>
                   14052: 
                   14053:        * debian/rules: Add -isp to dpkg-gencontrol invocation.
                   14054:        Move documentation to /share/doc.
                   14055:        * debian/changelog: Update.
                   14056: 
                   14057: 2001-06-28  Marcus Brinkmann  <[email protected]>
                   14058: 
                   14059:        * linux/dev/drivers/block/ide.c (lba_capacity_is_ok): Do not
                   14060:        attempt to correct id->cyls, it is a short and for large disks the
                   14061:        number of cylinders necessary would not fit.  Subsequent checks
                   14062:        for lba support would fail.
                   14063:        (current_capacity): Likewise for drive->cyl.
                   14064:        (do_identify): Store value returned by current_capacity in
                   14065:        CAPACITY.  The check which corrects the number of bios cylinders
                   14066:        is not aggressive enough.  Update it with the check in linux
                   14067:        kernel-2.2.19.
                   14068: 
                   14069: 2001-06-25  Marcus Brinkmann  <[email protected]>
                   14070: 
                   14071:        * i386/bogus/fpe.h (FPE): Define FPE to 0, as the floating point
                   14072:        emulation is broken anyway and blows up plex86.
                   14073: 
                   14074: 2001-06-17  Marcus Brinkmann  <[email protected]>
                   14075: 
                   14076:        * debian/rules: Update to current version.
                   14077: 
                   14078: 2001-06-13  Roland McGrath  <[email protected]>
                   14079: 
                   14080:        * linux/dev/glue/block.c (device_get_status: DEV_GET_RECORDS):
                   14081:        Always return 512 for DEV_GET_SIZE_RECORD_SIZE as DEV_GET_SIZE does.
                   14082: 
                   14083: 2001-05-27  Marcus Brinkmann  <[email protected]>
                   14084: 
                   14085:        * debian/rules: Add --enable-ncr53c8xx to configure.
                   14086: 
                   14087: 1999-10-06  OKUJI Yoshinori  <[email protected]>
                   14088: 
                   14089:        * linux/src/drivers/scsi/tmscsiw.c: Removed.
                   14090:        * linux/src/drivers/scsi/tmscsiw.h: Likewise.
                   14091:        * linux/src/drivers/scsi/dc390w.h: Likewise.
                   14092:        * i386/linux/device-drivers.h.in (CONFIG_SCSI_DC390W): Deleted.
                   14093:        * i386/linux/Drivers.in: Remove linux_DRIVER(dc390w, ...). Now
                   14094:        dc390w, dc390u, and dc390f are aliases to ncr53c8xx.
                   14095:        * i386/linux/configure: Regenerated.
                   14096:        * linux/Files: Likewise.
                   14097:        * i386/linux/Makefile.in (linux-scsi-files): Delete tmscsiw.c.
                   14098:        * linux/dev/drivers/scsi/hosts.c: Do not include dc390w.h.
                   14099:        Reported by Andreas Voegele <[email protected]>.
                   14100: 
                   14101: 2001-05-20  Roland McGrath  <[email protected]>
                   14102: 
                   14103:        * kern/sched_prim.c (state_panic): New function, panic with some
                   14104:        info when a thread's state is bogus.
                   14105:        (thread_wakeup_prim): Use that instead of uninformative panic.
                   14106:        (thread_invoke): Likewise.
                   14107:        (thread_dispatch): Likewise.
                   14108: 
                   14109: 2001-05-12  Marcus Brinkmann  <[email protected]>
                   14110: 
                   14111:        * ipc/ipc_object.c (ipc_object_alloc): Remove initialization of
                   14112:        *namep, which was without effect.
                   14113: 
                   14114: 2001-04-29  Marcus Brinkmann  <[email protected]>
                   14115: 
                   14116:        * debian/changelog: New entries for past Debian uploads.
                   14117:        * debian/rules: Disable eatdma driver (breaks AMD K7), do
                   14118:        not enable com, lpr (com is redundant, lpr doesn't work),
                   14119:        move enabling of kmsg in its own line.
                   14120:        * debian/control: Add build dependency on mig and sharutils.
                   14121: 
                   14122: 2001-04-29  Marcus Brinkmann  <[email protected]>
                   14123: 
                   14124:        * device/chario.c: Set number of elements of tthiwat and ttlowat
                   14125:        to NSPEEDS rather than 16. Initialize the two new elements.
                   14126:        (chario_init): Initialize pdma_timeouts and pdma_water_mark for
                   14127:        B57600 and B115200.
                   14128: 
                   14129: 2001-04-27  Marcus Brinkmann  <[email protected]>
                   14130: 
                   14131:        * include/device/tty_status.h: New macros B57600 and B115200,
                   14132:        increase NSPEED accordingly.
                   14133:        * i386/i386at/com.c (divisorreg): New divisor 1.
                   14134: 
                   14135: 2001-04-04  Roland McGrath  <[email protected]>
                   14136: 
                   14137:        * ddb/db_access.h: Fix obsolescent #else/#endif syntax.
                   14138:        * ddb/db_aout.c: Likewise.
                   14139:        * ddb/db_break.c: Likewise.
                   14140:        * ddb/db_break.h: Likewise.
                   14141:        * ddb/db_command.c: Likewise.
                   14142:        * ddb/db_command.h: Likewise.
                   14143:        * ddb/db_cond.c: Likewise.
                   14144:        * ddb/db_examine.c: Likewise.
                   14145:        * ddb/db_expr.c: Likewise.
                   14146:        * ddb/db_ext_symtab.c: Likewise.
                   14147:        * ddb/db_input.c: Likewise.
                   14148:        * ddb/db_lex.c: Likewise.
                   14149:        * ddb/db_macro.c: Likewise.
                   14150:        * ddb/db_mp.c: Likewise.
                   14151:        * ddb/db_output.c: Likewise.
                   14152:        * ddb/db_print.c: Likewise.
                   14153:        * ddb/db_run.c: Likewise.
                   14154:        * ddb/db_sym.c: Likewise.
                   14155:        * ddb/db_task_thread.c: Likewise.
                   14156:        * ddb/db_task_thread.h: Likewise.
                   14157:        * ddb/db_trap.c: Likewise.
                   14158:        * ddb/db_variables.c: Likewise.
                   14159:        * ddb/db_watch.c: Likewise.
                   14160:        * ddb/db_watch.h: Likewise.
                   14161:        * ddb/db_write_cmd.c: Likewise.
                   14162:        * device/dev_pager.c: Likewise.
                   14163:        * device/device_port.h: Likewise.
                   14164:        * device/device_types_kernel.h: Likewise.
                   14165:        * device/ds_routines.h: Likewise.
                   14166:        * device/errno.h: Likewise.
                   14167:        * device/if_ether.h: Likewise.
                   14168:        * device/if_hdr.h: Likewise.
                   14169:        * device/io_req.h: Likewise.
                   14170:        * device/net_io.c: Likewise.
                   14171:        * device/net_io.h: Likewise.
                   14172:        * i386/i386/ast_check.c: Likewise.
                   14173:        * i386/i386/cswitch.S: Likewise.
                   14174:        * i386/i386/db_disasm.c: Likewise.
                   14175:        * i386/i386/db_interface.c: Likewise.
                   14176:        * i386/i386/db_trace.c: Likewise.
                   14177:        * i386/i386/debug.h: Likewise.
                   14178:        * i386/i386/debug_i386.c: Likewise.
                   14179:        * i386/i386/debug_trace.S: Likewise.
                   14180:        * i386/i386/eflags.h: Likewise.
                   14181:        * i386/i386/gdt.h: Likewise.
                   14182:        * i386/i386/hardclock.c: Likewise.
                   14183:        * i386/i386/idt-gen.h: Likewise.
                   14184:        * i386/i386/ipl.h: Likewise.
                   14185:        * i386/i386/ktss.h: Likewise.
                   14186:        * i386/i386/kttd_interface.c: Likewise.
                   14187:        * i386/i386/ldt.h: Likewise.
                   14188:        * i386/i386/lock.h: Likewise.
                   14189:        * i386/i386/locore.S: Likewise.
                   14190:        * i386/i386/mp_desc.h: Likewise.
                   14191:        * i386/i386/pic.c: Likewise.
                   14192:        * i386/i386/pic.h: Likewise.
                   14193:        * i386/i386/pio.h: Likewise.
                   14194:        * i386/i386/pit.h: Likewise.
                   14195:        * i386/i386/seg.h: Likewise.
                   14196:        * i386/i386/thread.h: Likewise.
                   14197:        * i386/i386/trap.c: Likewise.
                   14198:        * i386/i386/trap.h: Likewise.
                   14199:        * i386/i386/vm_param.h: Likewise.
                   14200:        * i386/i386/vm_tuning.h: Likewise.
                   14201:        * i386/i386at/autoconf.c: Likewise.
                   14202:        * i386/i386at/blit.c: Likewise.
                   14203:        * i386/i386at/conf.c: Likewise.
                   14204:        * i386/i386at/fd.c: Likewise.
                   14205:        * i386/i386at/idt.h: Likewise.
                   14206:        * i386/i386at/immc.c: Likewise.
                   14207:        * i386/i386at/kd.c: Likewise.
                   14208:        * i386/i386at/kd_event.c: Likewise.
                   14209:        * i386/i386at/kd_mouse.c: Likewise.
                   14210:        * i386/i386at/model_dep.c: Likewise.
                   14211:        * i386/i386at/rtc.c: Likewise.
                   14212:        * i386/include/mach/i386/asm.h: Likewise.
                   14213:        * i386/include/mach/i386/eflags.h: Likewise.
                   14214:        * i386/include/mach/i386/mach_i386.defs: Likewise.
                   14215:        * i386/include/mach/i386/multiboot.h: Likewise.
                   14216:        * i386/include/mach/i386/trap.h: Likewise.
                   14217:        * i386/include/mach/i386/vm_types.h: Likewise.
                   14218:        * i386/include/mach/sa/stdarg.h: Likewise.
                   14219:        * i386/intel/pmap.c: Likewise.
                   14220:        * i386/intel/pmap.h: Likewise.
                   14221:        * include/alloca.h: Likewise.
                   14222:        * include/device/device_types.defs: Likewise.
                   14223:        * include/device/device_types.h: Likewise.
                   14224:        * include/device/disk_status.h: Likewise.
                   14225:        * include/device/net_status.h: Likewise.
                   14226:        * include/mach/mach.defs: Likewise.
                   14227:        * include/mach/memory_object.defs: Likewise.
                   14228:        * include/mach/std_types.defs: Likewise.
                   14229:        * include/mach_debug/hash_info.h: Likewise.
                   14230:        * include/mach_debug/ipc_info.h: Likewise.
                   14231:        * include/mach_debug/mach_debug.defs: Likewise.
                   14232:        * include/mach_debug/mach_debug_types.defs: Likewise.
                   14233:        * include/mach_debug/mach_debug_types.h: Likewise.
                   14234:        * include/mach_debug/vm_info.h: Likewise.
                   14235:        * include/mach_debug/zone_info.h: Likewise.
                   14236:        * include/sys/ioctl.h: Likewise.
                   14237:        * include/sys/time.h: Likewise.
                   14238:        * ipc/ipc_entry.h: Likewise.
                   14239:        * ipc/ipc_hash.h: Likewise.
                   14240:        * ipc/ipc_init.c: Likewise.
                   14241:        * ipc/ipc_kmsg.c: Likewise.
                   14242:        * ipc/ipc_kmsg.h: Likewise.
                   14243:        * ipc/ipc_marequest.c: Likewise.
                   14244:        * ipc/ipc_marequest.h: Likewise.
                   14245:        * ipc/ipc_mqueue.c: Likewise.
                   14246:        * ipc/ipc_mqueue.h: Likewise.
                   14247:        * ipc/ipc_notify.c: Likewise.
                   14248:        * ipc/ipc_notify.h: Likewise.
                   14249:        * ipc/ipc_object.c: Likewise.
                   14250:        * ipc/ipc_object.h: Likewise.
                   14251:        * ipc/ipc_port.c: Likewise.
                   14252:        * ipc/ipc_port.h: Likewise.
                   14253:        * ipc/ipc_pset.c: Likewise.
                   14254:        * ipc/ipc_pset.h: Likewise.
                   14255:        * ipc/ipc_right.c: Likewise.
                   14256:        * ipc/ipc_right.h: Likewise.
                   14257:        * ipc/ipc_space.c: Likewise.
                   14258:        * ipc/ipc_space.h: Likewise.
                   14259:        * ipc/mach_debug.c: Likewise.
                   14260:        * ipc/mach_msg.c: Likewise.
                   14261:        * ipc/mach_msg.h: Likewise.
                   14262:        * ipc/mach_port.c: Likewise.
                   14263:        * kern/act.c: Likewise.
                   14264:        * kern/assert.h: Likewise.
                   14265:        * kern/ast.c: Likewise.
                   14266:        * kern/ast.h: Likewise.
                   14267:        * kern/bootstrap.c: Likewise.
                   14268:        * kern/counters.c: Likewise.
                   14269:        * kern/counters.h: Likewise.
                   14270:        * kern/debug.h: Likewise.
                   14271:        * kern/exception.c: Likewise.
                   14272:        * kern/host.h: Likewise.
                   14273:        * kern/ipc_host.c: Likewise.
                   14274:        * kern/ipc_host.h: Likewise.
                   14275:        * kern/ipc_kobject.c: Likewise.
                   14276:        * kern/ipc_mig.c: Likewise.
                   14277:        * kern/ipc_tt.c: Likewise.
                   14278:        * kern/ipc_tt.h: Likewise.
                   14279:        * kern/kalloc.h: Likewise.
                   14280:        * kern/lock_mon.c: Likewise.
                   14281:        * kern/mach_clock.c: Likewise.
                   14282:        * kern/mach_factor.c: Likewise.
                   14283:        * kern/mach_param.h: Likewise.
                   14284:        * kern/machine.c: Likewise.
                   14285:        * kern/processor.c: Likewise.
                   14286:        * kern/profile.c: Likewise.
                   14287:        * kern/queue.h: Likewise.
                   14288:        * kern/sched.h: Likewise.
                   14289:        * kern/startup.c: Likewise.
                   14290:        * kern/syscall_emulation.h: Likewise.
                   14291:        * kern/syscall_subr.c: Likewise.
                   14292:        * kern/syscall_subr.h: Likewise.
                   14293:        * kern/syscall_sw.c: Likewise.
                   14294:        * kern/syscall_sw.h: Likewise.
                   14295:        * kern/task.h: Likewise.
                   14296:        * kern/thread_swap.h: Likewise.
                   14297:        * kern/time_out.h: Likewise.
                   14298:        * kern/time_stamp.c: Likewise.
                   14299:        * kern/time_stamp.h: Likewise.
                   14300:        * kern/timer.c: Likewise.
                   14301:        * kern/timer.h: Likewise.
                   14302:        * kern/xpr.c: Likewise.
                   14303:        * kern/xpr.h: Likewise.
                   14304:        * kern/zalloc.c: Likewise.
                   14305:        * kern/zalloc.h: Likewise.
                   14306:        * linux/dev/drivers/block/ide.c: Likewise.
                   14307:        * linux/dev/include/linux/blk.h: Likewise.
                   14308:        * linux/src/include/linux/cdrom.h: Likewise.
                   14309:        * linux/src/include/linux/md.h: Likewise.
                   14310:        * util/cpu.h: Likewise.
                   14311:        * vm/memory_object.c: Likewise.
                   14312:        * vm/memory_object.h: Likewise.
                   14313:        * vm/pmap.h: Likewise.
                   14314:        * vm/vm_debug.c: Likewise.
                   14315:        * vm/vm_external.h: Likewise.
                   14316:        * vm/vm_fault.c: Likewise.
                   14317:        * vm/vm_fault.h: Likewise.
                   14318:        * vm/vm_kern.h: Likewise.
                   14319:        * vm/vm_map.c: Likewise.
                   14320:        * vm/vm_map.h: Likewise.
                   14321:        * vm/vm_object.h: Likewise.
                   14322:        * vm/vm_pageout.c: Likewise.
                   14323:        * vm/vm_pageout.h: Likewise.
                   14324:        * vm/vm_user.h: Likewise.
                   14325: 
                   14326: 2001-01-28  Roland McGrath  <[email protected]>
                   14327: 
                   14328:        * kern/zalloc.c (zalloc): Change panics for exhausted zone to include
                   14329:        the zone name.
                   14330: 
                   14331: 2001-01-09  Marcus Brinkmann  <[email protected]>
                   14332: 
                   14333:        * include/device/device_types.h: New get_status call
                   14334:        DEV_GET_RECORDS to get the number of records of a device (rather
                   14335:        than the number of bytes). Accordingly define
                   14336:        DEV_GET_RECORDS_DEVICE_RECORDS, DEV_GET_RECORDS_RECORD_SIZE and
                   14337:        DEV_GET_RECORDS_COUNT.
                   14338: 
                   14339:        * linux/dev/glue/block.c (device_get_status): Handle
                   14340:        DEV_GET_RECORDS.
                   14341: 
                   14342: 2000-11-26  David Welch  <[email protected]>
                   14343: 
                   14344:        * i386/Makefrag (i386-installed-headers): Removed dead files
                   14345:        from the list of headers to be installed
                   14346: 
                   14347: 2000-11-26  Marcus Brinkmann  <[email protected]>
                   14348: 
                   14349:        * linux/src/drivers/net/tulip.c: Updated to version
                   14350:        from Linux 2.2.17 (I am amazed that 2.2.x drivers work).
                   14351:        Suggested by Jason Henry Parker <[email protected]>.
                   14352: 
                   14353: 2000-10-29  Roland McGrath  <[email protected]>
                   14354: 
                   14355:        Remove numerous dead header files.
                   14356:        Suggested by Igor Khavkine <[email protected]>.
                   14357:        * i386/include/mach/i386/bios.h: Dead file removed.
                   14358:        * i386/include/mach/i386/code16.h: Dead file removed.
                   14359:        * i386/include/mach/i386/debug_reg.h: Dead file removed.
                   14360:        * i386/include/mach/i386/dpmi.h: Dead file removed.
                   14361:        * i386/include/mach/i386/far_ptr.h: Dead file removed.
                   14362:        * i386/include/mach/i386/paging.h: Dead file removed.
                   14363:        * i386/include/mach/i386/pio.h: Dead file removed.
                   14364:        * i386/include/mach/i386/pmode.h: Dead file removed.
                   14365:        * i386/include/mach/i386/proc_reg.h: Dead file removed.
                   14366:        * i386/include/mach/i386/seg.h: Dead file removed.
                   14367:        * i386/include/mach/i386/time_stamp.h: Dead file removed.
                   14368:        * i386/include/mach/i386/tss.h: Dead file removed.
                   14369:        * i386/include/mach/i386/vcpi.h: Dead file removed.
                   14370:        * i386/include/mach/proc_ops.h: Dead file removed.
                   14371:        * i386/include/mach/sa/sys/varargs.h: Dead file removed.
                   14372:        * i386/include/mach/setjmp.h: Dead file removed.
                   14373:        * include/mach/proc_ops.h: Dead file removed.
                   14374:        * Makefile.in (mach-headers): Remove proc_ops.h.
                   14375:        * i386/Makefrag (i386-installed-headers): Likewise.
                   14376:        (installed-headers): Don't touch this any more.
                   14377:        * i386/Files: Update for removed files.
                   14378: 
                   14379: 2000-09-29  Marcus Brinkmann  <[email protected]>
                   14380: 
                   14381:        * i386/i386at/conf.c (dev_name_list): Don't use MACH_COM to check
                   14382:        if com support is enabled, but NCOM, as it used to be.
                   14383: 
                   14384: 2000-09-24  OKUJI Yoshinori  <[email protected]>
                   14385: 
                   14386:        * linux/dev/glue/block.c: Reverted the changes at 2000-08-17.
                   14387:        Reported by Brent Fulgham <[email protected]>.
                   14388: 
                   14389: 2000-09-19  Marcus Brinkmann  <[email protected]>
                   14390: 
                   14391:        * linux/dev/glue/block.c (init_partition): Move initialization
                   14392:        of MASK until it is asserted that gd is non-NULL.
                   14393: 
                   14394: 2000-08-17  OKUJI Yoshinori  <[email protected]>
                   14395: 
                   14396:        * linux/dev/glue/block.c (rdwr_partial): Mask the minor device
                   14397:        number with MINOR_SHIFT bits, when indexing the array of
                   14398:        partitions. Reported by Marius Vollmer <[email protected]>.
                   14399:        (init_partition): Likewise.
                   14400:        (check_limit): Likewise.
                   14401:        (device_get_status): Likewise.
                   14402: 
                   14403: 2000-07-27  Marcus Brinkmann  <[email protected]>
                   14404: 
                   14405:        * Fix omissions in last change:
                   14406:        * linux/src/arch/i386/lib/delay.S: Now really delete the file.
                   14407:        * linux/src/arch/i386/lib/delay.c: Now really add the file.
                   14408: 
                   14409: 2000-07-04  Marcus Brinkmann <[email protected]>
                   14410: 
                   14411:        * debian/changelog: Add entry for new Debian upload.
1.1.1.6   root     14412:        * linux/dev/drivers/scsi/seagate.c (WRITE_CONTROL, WRITE_DATA):
                   14413:        Added from linux 2.2.15.
                   14414:        (__asm__ constructs): Replace with equivalent C code from linux 2.2.15
                   14415:        to support gcc-2.95.
                   14416:        * linux/src/drivers/scsi/in2000.h: Update asm code to linux 2.2.15.
1.1.1.5   root     14417:        * linux/src/drivers/scsi/ppa.c: Replace asm code with equivalent
                   14418:        C code from linux 2.2.15.
                   14419: 
                   14420: 2000-02-06  Stefan Weil <[email protected]>
                   14421: 
                   14422:        * device/subrs.c: Fixed compiler warning.
                   14423:        * ddb/db_output.c, kern/bootstrap.c, kern/debug.c, kern/printf.c:
                   14424:        Replaced varargs.h by stdarg.h. Fixed prototypes (const char *fmt).
                   14425:        * ddb/db_output.h: Use prototype for db_printf.
                   14426:        * i386/Files: removed varargs.h.
                   14427:        * i386/i386/pit.h: Fixed compiler warning.
                   14428:        * i386/i386at/model_dep.c: Tried to fix compiler warning.
                   14429:        * i386/include/mach/sa/sys/varargs.h: Removed.
                   14430:        * i386/linux/Makefile.in: Removed delay.S, added delay.c.
                   14431:        * linux/dev/include/asm-i386/segment.h: Support gcc-2.95.
                   14432:        * linux/dev/include/asm-i386/string.h,
                   14433:        linux/src/include/asm-i386/string.h: Update from linux-2.2.14.
                   14434:        * linux/dev/lib/vsprintf.c: Fixed compiler warning.
                   14435:        * linux/src/include/asm-i386/delay.h: Update from linux-2.2.14.
                   14436:        * linux/src/arch/i386/lib/delay.c: Copy from linux-2.2.14.
                   14437:        * linux/src/include/asm-i386/string.h: Update from linux-2.2.14.
                   14438: 
                   14439: 1999-10-08  Thomas Bushnell, BSG  <[email protected]>
                   14440: 
                   14441:        * linux/src/drivers/net/3c59x.c: Updated to version 0.99L of the
                   14442:        driver from ftp://cesdis.gsfc.nasa.gov/linux/drivers/3c59x.c, in
                   14443:        order to support the 3c509c card, as requested by Jeff Bailey
                   14444:        <[email protected]>.
                   14445: 
                   14446: 1999-09-17  Thomas Bushnell, BSG  <[email protected]>
                   14447: 
                   14448:        * linux/dev/drivers/block/ide.c (do_request) [MACH]: In "bad
                   14449:        access" printf, actually print the number of sectors of the
                   14450:        partition.
                   14451: 
                   14452: 1999-10-05  Roland McGrath  <[email protected]>
                   14453: 
                   14454:        * i386/intel/pmap.c (pmap_bootstrap): Use _start instead of start.
                   14455:        * i386/i386/trap.c (kernel_trap): Likewise.
                   14456: 
                   14457: 1999-10-04  Roland McGrath  <[email protected]>
                   14458: 
                   14459:        * configure.in: Remove AC_CHECK_TOOL(MAKE,...) check.
                   14460:        * Makefile.in (MAKE): Variable removed.  We require GNU make anyway,
                   14461:        and it always sets MAKE.
                   14462:        * configure: Regenerated.
                   14463: 
                   14464:        * Makefile.in (clib-routines.o, check-clib-routines, clib-routines.d):
                   14465:        Remove these rules, replace with:
                   14466:        (kernel.o): New target, relocatable object linked from kernel objects.
                   14467:        (kernel-undef, kernel-undef-bad): New targets, glean undefined symbols
                   14468:        from kernel.o.
                   14469:        (clib-routines.o): New target, use those to select symbols from libc.
                   14470:        (clib-routines): Add some symbols; move defn to kernel linking page.
                   14471:        This variable is now a list of symbols allowed to be undefined,
                   14472:        rather than a prescriptive list of symbols always grabbed from libc.
                   14473:        (kernel): Rewrite this rules to just link kernel.o and clib-routines.o
                   14474:        together to make the kernel image.
                   14475: 
                   14476: 1999-09-15  Mark Kettenis  <[email protected]>
                   14477: 
                   14478:        * i386/i386/user_ldt.c: Fix user LDT management.
                   14479:        (i386_set_ldt): Prevent thrashing the LDT for the current thread.
                   14480:        Correctly calculate size of new LDT.  Set base adress of the LDT
                   14481:        descriptor to the linear address of the LDT instead of the kernel
                   14482:        virtual address.  Copy descriptors from the default LDT if there
                   14483:        is no old LDT for the current thread.  Call switch_ktss if we are
                   14484:        setting a new LDT for the current thread.
                   14485:        (i386_get_ldt): Fix bug in copying out the descriptors.
                   14486: 
                   14487: 1999-09-09  Thomas Bushnell, BSG  <[email protected]>
                   14488: 
                   14489:        * linux/src/drivers/net/rtl8139.c (RX_BUF_LEN_IDX): Reduce from 3
                   14490:        to 2.  (64K exceeds the limits in linux/dev/glue/kmem.c:kmalloc.)
                   14491:        (rtl8129_open): If we fail to get the memory we need, then free
                   14492:        the IRQ before returning.
                   14493:        Reported by Daniel Kobras <[email protected]>.
                   14494: 
                   14495: 1999-09-07  Thomas Bushnell, BSG  <[email protected]>
                   14496: 
                   14497:        * linux/src/drivers/net/yellowfin.c (yellowfin_probe): Return
                   14498:        correct value.  Reported by Marcus Brinkmann
                   14499:        <[email protected]>.
                   14500: 
                   14501:        * linux/dev/drivers/net/Space.c: Declare tc515_probe.  Reported by
                   14502:        Marcus Brinkmann <[email protected]>.
                   14503: 
                   14504: 1999-09-04  Thomas Bushnell, BSG  <[email protected]>
                   14505: 
                   14506:        * vm/vm_resident.c (vm_page_grab): Only block unprivileged
                   14507:        allocations over vm_page_external_limit if they are actually
                   14508:        external allocations.  Reported by Mark Kettenis
                   14509:        ([email protected]>.
                   14510: 
                   14511: 1999-08-10  Thomas Bushnell, BSG  <[email protected]>
                   14512: 
                   14513:        * i386/i386at/model_dep.c (init_alloc_aligned): Revert previous
                   14514:        change except for the one to AVAIL_NEXT.  All the rest of the
                   14515:        previous code was correct.  Correction from Momchil Velikov
                   14516:        ([email protected]).
                   14517: 
                   14518: 1999-07-23  Roland McGrath  <[email protected]>
                   14519: 
                   14520:        * Drivers.macros (AC_DRIVER): Use `test' instead of `[ ... ]'.
                   14521:        Reported by "Momchil 'Velco' Velikov" <[email protected]>.
                   14522: 
                   14523: 1999-07-20  Roland McGrath  <[email protected]>
                   14524: 
                   14525:        * linux/dev/drivers/block/genhd.c (check_partition): Change message
                   14526:        to say these are only the DOS partitions.
                   14527:        * i386/linux/dev/include/linux/autoconf.h (CONFIG_BSD_DISKLABEL,
                   14528:        CONFIG_SMD_DISKLABEL): #undef these.  The dev/glue/block.c code
                   14529:        deals with BSD disklabels and expects the Linux genhd.c code to
                   14530:        handle only the DOS partitions; having genhd.c do BSD disklabels
                   14531:        too just confuses things.
                   14532: 
                   14533:        Force subdirectory targets so they get recompiled properly.
                   14534:        * i386/Makefile.in (linux/linux.o): Depend on FORCE instead of linux.
                   14535:        (FORCE): New target.
                   14536:        * i386/Makefrag (i386/sysdep.o, FORCE): Likewise.
                   14537: 
                   14538: 1999-07-11  Thomas Bushnell, BSG  <[email protected]>
                   14539: 
                   14540:        * i386/i386at/model_dep.c (init_alloc_aligned): Make the checks
                   14541:        correctly for addresses falling into skip regions.  Reported by
                   14542:        Momchil Velikov ([email protected]).
                   14543: 
                   14544: 1999-07-01  Thomas Bushnell, BSG  <[email protected]>
                   14545: 
                   14546:        * i386/linux/Makefile.in: For each .o file in $(linux-objs)
                   14547:        include a corresponding .d file, unless `no_deps' is `t'.
                   14548:        (make-deps): New function.
                   14549:        (%.d): New pattern rules for building %.d from %.c and %.S.
                   14550: 
                   14551: 1999-06-29  Thomas Bushnell, BSG  <[email protected]>
                   14552: 
                   14553:        * vm/vm_resident.c (vm_page_grab): Don't bounce requests when
                   14554:        vm_page_external_count == vm_page_external_limit, so that before
                   14555:        initialization is complete we can still allocate memory without
                   14556:        relying on current_thread.
                   14557:        (vm_page_wait): Also block if we are over the external page
                   14558:        limit.
                   14559:        * vm/vm_pageout.c (vm_pageout_scan): Rewrite the
                   14560:        scan-for-pages-to-pageout loop to not crash when we hit the end of
                   14561:        the inactive queue; instead jump back to the
                   14562:        pause-for-a-little-while code.
                   14563: 
                   14564: 1999-06-27  Thomas Bushnell, BSG  <[email protected]>
                   14565: 
                   14566:        * vm/vm_resident.c (vm_page_external_count): Define variable.
                   14567:        (vm_page_grab): New argument `external'.  All callers changed.
                   14568:        Keep track of number of externally managed pages.  Don't let
                   14569:        non-privileged threads exceed the externally-managed page limit.
                   14570:        (vm_page_grab_contiguous_pages): New argument `external'.  All
                   14571:        callers changed.  Keep track of number of externally managed
                   14572:        pages.  Don't let non-privileged threads exceed the
                   14573:        externally-managed page limit.
                   14574:        (vm_page_convert): New argument `external', handed off to
                   14575:        vm_page_grab.  All callers changed.
                   14576:        (vm_page_release): New argument `external'.  All callers
                   14577:        changed. Keep track of number of externally managed pages.
                   14578:        (vm_page_bootstrap): Initialize M->external.
                   14579:        (vm_page_external_limit): Define new variable.
                   14580:        (vm_page_grab_phys_addr, vm_page_alloc): Add new arg for
                   14581:        vm_page_grab.
                   14582:        (vm_page_free): Provide new arg to vm_page_release.
                   14583:        * vm/vm_page.h (vm_page_external_limit, vm_page_external_count):
                   14584:        New variables.
                   14585:        (struct vm_page): New members `external' and `extcounted'.
                   14586:        (vm_page_grab, vm_page_release, vm_page_convert): Specify new
                   14587:        argument.
                   14588:        * vm/vm_pageout.c (vm_pageout): Initialize vm_page_external_limit
                   14589:        and vm_page_external_target.
                   14590:        (VM_PAGE_EXTERNAL_LIMIT, VM_PAGE_EXTERNAL_TARGET): New macro.
                   14591:        (vm_page_external_target): New variable.
                   14592:        (vm_pageout_scan): Regard "too many externally managed pages" as a
                   14593:        reason to keep doing work, but if that's the only reason we're
                   14594:        doing work, then the only thing we do is schedule cleaning of
                   14595:        pages.  Help keep track of the number of externally managed pages
                   14596:        that we care about.
                   14597:        * i386/intel/pmap.c (pmap_page_table_page_alloc): Add new arg for
                   14598:        vm_page_grab.
                   14599:        * linux/dev/glue/block.c (alloc_buffer, device_read): Likewise.
                   14600:        * vm/vm_map.c (vm_map_copy_steal_pages): Likewise.
                   14601:        * vm/vm_fault.c (vm_fault_page): Add new args for vm_page_grab and
                   14602:        vm_page_convert.
                   14603: 
                   14604:        * vm/vm_pageout.c (VM_PAGEOUT_BURST_WAIT): Reduce to 10ms/page.
                   14605:        (VM_PAGEOUT_EMPTY_WAIT): Reduce to 75 ms.
                   14606:        (VM_PAGE_FREE_RESERVED): Increase to 50 pages.
                   14607:        (VM_PAGEOUT_RESERVED_INTERNAL): Adjust to `(reserve) - 25'.
                   14608:        (VM_PAGEOUT_RESERVED_REALLY): Adjust to `(reserve) - 40'.
                   14609: 
1.1.1.4   root     14610: 1999-06-21  Thomas Bushnell, BSG  <[email protected]>
                   14611: 
                   14612:        * i386/Files: Don't mention i386/pc/Makerules,
                   14613:        i386/include/Makerules, or i386/util/Makerules.
                   14614: 
                   14615:        * Makefile.in (all-real-archs): Delete variable.
                   14616:        (dist): No longer make `machine' symlink.
                   14617: 
                   14618:        * Makefile.in (dist): Sanify file permissions before building tar
1.1.1.5   root     14619:        file.
1.1.1.4   root     14620: 
                   14621:        * i386/Subdirs: Remove i386/i386at/boot.
                   14622: 
                   14623: Sun Jun 20 18:33:59 1999  Thomas Bushnell, BSG  <[email protected]>
                   14624: 
                   14625:        * version.c (version): Updated to version 1.2.
1.1.1.5   root     14626: 
1.1.1.4   root     14627:        * i386/Files: Regenerated.
                   14628:        * i386/Subdirs: Regenerated.
1.1.1.5   root     14629: 
1.1.1.4   root     14630:        * linux/Files: New file.
                   14631:        * linux/Subdirs: New file.
                   14632:        * Makefile.in (all-archs): Add `linux'.
                   14633:        (all-real-archs): New variable.
                   14634:        (dist): Create `machine' symlink only on
                   14635:        $(all-real-archs).
                   14636: 
                   14637:        * Makefile.in (dist): Use `cp' instead of `ln'.
                   14638: 
                   14639:        * config.guess: Updated from autoconf 2.13.
                   14640:        * config.sub: Likewise.
                   14641: 
                   14642: 1999-06-16  Thomas Bushnell, BSG  <[email protected]>
                   14643: 
                   14644:        * linux/dev/drivers/net/Space.c (ethif_probe): Probe tc59x_probe
                   14645:        (CONFIG_VORTEX) after el3_probe (CONFIG_EL3), because the latter
                   14646:        card matches the former probe, but the driver doesn't work with
                   14647:        it.  Reported by Marcus Brinkmann <[email protected]>.
                   14648: 
                   14649:        * Drivers.macros (AC_DRIVER): Only turn on driver if $enableval is
                   14650:        not `no'.  Reported by Kalle Olavi Niemitalo <[email protected]>.
                   14651: 
                   14652: 1999-06-15  Thomas Bushnell, BSG  <[email protected]>
                   14653: 
                   14654:        * ipc/ipc_init.c (ipc_bootstrap): Don't make the IOT_PORT zone
                   14655:        exhaustible, because allocation of ports for internal objects
                   14656:        panics if zalloc fails.
                   14657: 
                   14658: 1999-06-07  OKUJI Yoshinori  <[email protected]>
                   14659: 
                   14660:        * linux/dev/drivers/block/genhd.c [MACH] (mach_minor): New variable.
                   14661:        (add_bsd_partition): New function.
                   14662:        (bsd_disklabel_partition) [MACH]: Call add_bsd_partition.
                   14663:        (msdos_partition) [MACH]: Set mach_minor to MINOR before
                   14664:        calling bsd_disklabel_partition.
                   14665:        * linux/dev/drivers/block/ide.c (do_request) [MACH]: Fix "bad access"
                   14666:        message.
                   14667: 
                   14668: 1999-06-02  Roland McGrath  <[email protected]>
                   14669: 
                   14670:        * kern/bootstrap.c (build_args_and_stack): If kernel_cmdline is
                   14671:        nonempty, give the bootstrap task an environment variable of
                   14672:        "MULTIBOOT_CMDLINE=kernel command line" on its stack.
                   14673: 
                   14674: 1999-05-29  Roland McGrath  <[email protected]>
                   14675: 
                   14676:        * kern/startup.c (start_kernel_threads): Call record_time_stamp to
                   14677:        reset the kernel task's creation_time field, so it's not zero.
                   14678: 
                   14679: 1999-05-24  Mark Kettenis  <[email protected]>
                   14680: 
                   14681:        * i386/i386/fpu.c (fp_free): Clear task switch flag before calling
                   14682:        fwait.
                   14683:        (fpu_get_state): Only save FPU state info if the live FPU state
                   14684:        belongs to our target, i.e. if THREAD is the current thread.
                   14685:        (fp_load): Print warning if we try to load an invalid FPU state,
                   14686:        and reset the FPU to some sane state instead.
                   14687: 
                   14688: 1999-05-23  Roland McGrath  <[email protected]>
                   14689: 
                   14690:        * kern/task.c (task_info): Allow count for TASK_BASIC_INFO to be less
                   14691:        two words, not just one.  The new member creation_time is two words.
                   14692: 
                   14693: 1999-05-22  Roland McGrath  <[email protected]>
                   14694: 
                   14695:        * linux/configure: Regenerated.
                   14696: 
                   14697: 1999-05-21  Roland McGrath  <[email protected]>
                   14698: 
                   14699:        * linux/configure.in: Fix names dummy -> dummy.in in AC_OUTPUT call.
                   14700: 
                   14701: 1999-05-14  Roland McGrath  <[email protected]>
                   14702: 
                   14703:        * i386/linux/Drivers.in (linux_DRIVER): New macro, does AC_DRIVER and
                   14704:        defines alias for Linux module name.  Use that for all single-module
                   14705:        Linux drivers, so we don't forget to define any of the aliases for the
                   14706:        Linux module names.
                   14707:        * i386/linux/configure: Regenerated.
                   14708: 
                   14709: 1999-04-28  OKUJI Yoshinori  <okuji@localhost>
                   14710: 
                   14711:        * linux/dev/drivers/block/genhd.c (bsd_disklabel_partition) [MACH]:
                   14712:        Print BSD slices, using Mach device syntax instead of Linux extented
                   14713:        partition syntax.
                   14714: 
                   14715: 1999-05-01  Mark Kettenis  <[email protected]>
                   14716: 
                   14717:        * linux/dev/glue/block.c (device_get_status): Always set
                   14718:        status_count to DEV_GET_STATUS_COUNT if flavor is DEV_GET_SIZE.
                   14719: 
                   14720: 1999-04-30  Roland McGrath  <[email protected]>
                   14721: 
                   14722:        * i386/linux/Drivers.in: Don't create asm-${systype} symlinks here.
                   14723:        * linux/configure.in: New file.  Create them here instead.
                   14724:        * linux/dummy.in: New file, used by configure.
                   14725:        * linux/configure: New file (generated by autoconf).
                   14726:        * configure.in: Configure in linux subdir.
                   14727:        * configure: Regenerated.
                   14728: 
                   14729:        * i386/configure.in: Require only autoconf 2.12, not 2.13.
                   14730:        * i386/configure: Regenerated.
                   14731: 
                   14732:        * aclocal.m4 (hurd_SYSTYPE): New macro.
                   14733:        * i386/linux/Drivers.in: Use it.
                   14734:        * i386/linux/configure: Regenerated.
                   14735: 
                   14736: Wed Apr 28 02:17:51 1999  Thomas Bushnell, BSG  <[email protected]>
                   14737: 
                   14738:        * linux/src/drivers/net/3c59x.c: Upgrade to Linux 2.2.1 version.
                   14739:        (vortex_start_xmit): Don't frob VP->stat.tx_bytes.
                   14740:        (boomerang_start_xmit): Likewise.
                   14741:        (vortex_rx): Don't frob VP->stats.rx_bytes.
                   14742:        (boomerang_rx): Likewise.
                   14743:        Requested by Jeff Bailey ([email protected]).
                   14744: 
                   14745: Mon Apr 26 02:13:02 1999  Thomas Bushnell, BSG  <[email protected]>
                   14746: 
                   14747:        * Makefile.in (objfiles): Don't add $(systype)/sysdep.o here.
                   14748:        ($(systype)/sysdep.o): Delete rule.
                   14749:        (clean, distclean, mostlyclean, maintainerclean, install-headers,
                   14750:        install-kernel): Don't do recursive make here.
                   14751:        * i386/Makefrag (objfiles): Add i386/sysdep.o to the list.
                   14752:        (i386/sysdep.o): New rule.
                   14753:        (clean): Depend on i386-clean.
                   14754:        (distclean): Depend on i386-distclean.
                   14755:        (mostlyclean): Depend on i386-mostlyclean.
                   14756:        (maintainerclean): Depend on i386-maintainerclean.
                   14757:        (install-headers): Depend on i386-install-headers.
                   14758:        (install-kernel): Depend on i386-install-kernel.
                   14759:        (i386-clean, i386-distclean, i386-mostlyclean,
                   14760:        i386-maintainerclean, i386-install-kernel, i386-install-headers):
                   14761:        New rules.
                   14762: 
                   14763: 1999-04-14  OKUJI Yoshinori  <[email protected]>
                   14764: 
                   14765:        * version.c (version): Update to 1.1.92.
                   14766: 
                   14767: Sun Mar 14 18:53:01 1999  Thomas Bushnell, BSG  <[email protected]>
                   14768: 
                   14769:        * device/ds_routines.c (ds_read_done): When touching memory to
                   14770:        mark it dirty, make sure we say "volatile" so the compiler doesn't
                   14771:        optimize it out.
                   14772: 
                   14773: 1999-04-12  OKUJI Yoshinori  <[email protected]>
                   14774: 
                   14775:        * i386/linux/Drivers.in: Fix the source paths for `asm' symbolic
                   14776:        links. Reported by KONISHI Toru <[email protected]>.
                   14777: 
                   14778:        * linux/dev/drivers/block/ide.c (init_hwif_data) [MACH]: Print Mach
                   14779:        device name instead of Linux one.
                   14780:        * linux/dev/drivers/block/genhd.c (disk_name): Likewise.
                   14781:        * linux/dev/drivers/scsi/sd.c (sd_init_onedisk): Likewise.
                   14782:        (sd_detect): Likewise.
                   14783:        * linux/dev/drivers/sr.c (sr_detect): Likewise.
                   14784:        (get_sectorsize): Likewise.
                   14785: 
                   14786: 1999-03-01  OKUJI Yoshinori  <[email protected]>
                   14787: 
                   14788:        Version 1.1.91.
                   14789: 
                   14790:        * version.c (version): Update to 1.1.91.
                   14791: 
                   14792: 1999-03-01  OKUJI Yoshinori  <[email protected]>
                   14793: 
                   14794:        * i386/linux/Drivers.in: Fix linking paths.
                   14795:        * i386/linux/Makefile.in: Corrent include paths and fix
                   14796:        Drivers.macros location.
                   14797: 
                   14798: 1999-02-28  OKUJI Yoshinori  <[email protected]>
                   14799: 
                   14800:        * Makefile.in (clean): Don't move device-drivers.h, because it is
                   14801:        not in the top directory any longer.
                   14802:        (distclean): Remove config.cache and config.log.
                   14803:        * i386/Makefile.in (distclean): Remove config.status, config.log
                   14804:        and Makefile.
                   14805:        * i386/linux/Makefile.in (distclean): Remove config.status,
                   14806:        config.log, Makefile and device-drivers.h.
                   14807: 
                   14808: 1999-02-27  OKUJI Yoshinori  <[email protected]>
                   14809: 
                   14810:        * i386/linux/Drivers.in: Don't link dev/include/asm-i386 to
                   14811:        dev/include/asm. Check if directories already exist before
                   14812:        mkdir_p's. Link directories manually, because AC_LINK_FILES
                   14813:        is weak in linking files from non-current directories.
                   14814: 
                   14815:        * i386/i386at/i386at_ds_routines.c: Include
                   14816:        <i386/linux/device-drivers.h> instead of <linux/device-drivers.h>.
                   14817:        * device/ds_routines.c [LINUX_DEV]: Likewise.
                   14818:        * i386/linux/Makefile.in (linux-gen-flags): Fix an extra slash.
                   14819:        (distclean): Remove asm links.
                   14820:        * linux/src/COPYING: Copied from linux-2.0.36.
                   14821: 
                   14822: 1999-02-27  OKUJI Yoshinori  <[email protected]>
                   14823: 
                   14824:        * Makefile.in: Omit to detect if com or lpr is used, and don't use
                   14825:        linux.o.
                   14826:        (objfiles): Add $(systype)/sysdep.o.
                   14827:        (clean): Chain the target to $(systype).
                   14828:        (distclean): Likewise.
                   14829:        (mostlyclean): Likewise.
                   14830:        (maintainer-clean): Likewise.
                   14831:        (install-headers): Likewise.
                   14832:        (install-kernel): Likewise.
                   14833:        * configure.in: AC_CONFIG_SUBDIRS ${systype} instead of linux.
                   14834:        (--disable-linuxdev): Deleted.
                   14835:        (--disable-com): Likewise.
                   14836:        (--enable-lpr): Likewise.
                   14837:        * i386/Makefile.in: New file.
                   14838:        * i386/configure.in: Likewise.
                   14839:        * i386/Makefrag (DEFINES): Add -DLINUX_DEV.
                   14840:        (objfiles): Always add com.o. If MACH_LPR is defined, then add lpr.o.
                   14841:        * linux/Drivers.in: Moved to ...
                   14842:        * i386/linux/Drivers.in: ... here. Include ../../aclocal.m4.
                   14843:        (mkdir_p): New function to create the linux include dirs.
                   14844:        * linux/Makefile.in: Moved to ...
                   14845:        * i386/linux/Makefile.in: ... here, and modify so that paths
                   14846:        are valid.
                   14847:        (clean): New target.
                   14848:        (distclean): Likewise.
                   14849:        (mostlyclean): Likewise.
                   14850:        (maintainer-clean): Likewise.
                   14851:        * linux/src/include/linux/autoconf.h: Removed.
                   14852:        * linux/dev/include/linux/autoconf.h: Moved to ...
                   14853:        * i386/linux/dev/include/linux/autoconf.h: ... here.
                   14854:        * linux/dev/arch/i386/linux_emul.h: Moved to ...
                   14855:        * i386/linux/dev/include/linux_emul.h: ... here.
                   14856:        * linux/device-drivers.h.in: Moved to ...
                   14857:        * i386/linux/device-drivers.h.in: ... here.
                   14858:        * linux/aclocal.m4: Removed.
                   14859:        * linux/configure: Likewise.
                   14860: 
                   14861: 1999-02-14  Gordon Matzigkeit  <[email protected]>
                   14862: 
                   14863:        * Makefile.in (install-kernel): Be sure that $(bootdir) is
                   14864:        created before installing the kernel.
                   14865: 
                   14866: 1999-02-06  OKUJI Yoshinori  <[email protected]>
                   14867: 
                   14868:        * configure.in: Enable com by default, because current kbd and
                   14869:        mouse can't be linked without com. Reported by M. Meiarashi
                   14870:        <[email protected]>.
                   14871: 
                   14872: 1999-02-05  OKUJI Yoshinori  <[email protected]>
                   14873: 
                   14874:        Version 1.1.90.
                   14875: 
                   14876:        * version.c (version): Update to 1.1.90.
                   14877: 
                   14878: 1999-02-04  OKUJI Yoshinori  <[email protected]>
                   14879: 
                   14880:        * device/kmsg.c (kmsginit): Add a missing semicolon.
                   14881:        (kmsggetstat): Fix typos,
                   14882:        DEV_GET_DEVICE_SIZE -> DEV_GET_SIZE_DEVICE_SIZE and
                   14883:        DEV_GET_RECORD_SIZE -> DEV_GET_SIZE_RECORD_SIZE.
                   14884:        (kmsg_putchar): Fix a typo kmsg_done_init -> kmsg_init_done.
                   14885:        * linux/dev/glue/block.c (device_get_status): Allocate a hd_geometry
                   14886:        on the stack.
                   14887:        * linux/dev/drivers/block/ide.c: New file.
                   14888:        * linux/dev/drivers/scsi/sd_ioctl.c: New file.
                   14889: 
                   14890: 1999-02-02  OKUJI Yoshinori  <[email protected]>
                   14891: 
                   14892:        * i386/i386at/kd_event.c (kbdgetstat): Fix a typo
                   14893:        DEV_GET_SIZES -> DEV_GET_SIZE.
                   14894:        * i386/i386at/kd_mouse.c (mousegetstat): Likewise.
                   14895:        * device/kmsg.c (kmsggetstat): Likewise.
                   14896: 
                   14897: 1999-02-01  OKUJI Yoshinori  <[email protected]>
                   14898: 
                   14899:        * linux/dev/glue/block.c (dev_getstat): Fix a missing `struct'.
                   14900:        * device/cons.c (cninit): Don't call kmsginit.
                   14901:        * kmsg.c (kmsg_buffer): Defined as static.
                   14902:        (kmsg_write_offset): Likewise.
                   14903:        (kmsg_read_offset): Likewise.
                   14904:        (kmsg_read_queue): Likewise.
                   14905:        (kmsg_in_use): Likewise.
                   14906:        (kmsg_lock): Likewise.
                   14907:        (kmsginit): Likewise, and call queue_init instead of setting
                   14908:        PREV and NEXT manually.
                   14909:        (kmsg_done_init): New variable.
                   14910:        (kmsg_putchar): Call kmsginit if not initialized yet.
                   14911:        (kmsggetstat): New function.
                   14912:        * kmsg.h (kmsggetstat): Add the prototype.
                   14913:        * i386/i386at/kd_event.c (kbdgetstat): Handle DEV_GET_SIZE.
                   14914:        (kbdread): Check if the amount a user specify is a multiple
                   14915:        of sizeof(kd_event).
                   14916:        * i386/i386at/kd_mouse.c (mousegetstat): New function.
                   14917:        (mouseread): Check if the amount a user specify is a multiple
                   14918:        of sizeof(kd_event).
                   14919:        * i386/i386at/conf.c (dev_name_list): Set the mouse getstat entry
                   14920:        to mousegetstat and the kmsg getstat entry to kmsggetstat.
                   14921:        Use MACH_COM instead of NCOM to determine if com is used.
                   14922:        Use MACH_LPR instead of NLPR to determine if lpr is used.
                   14923:        * configure.in (--enable-com): New option.
                   14924:        (--enable-lpr): Likewise.
                   14925:        * Makefile.in (enable_com): New variable.
                   14926:        (enable_lpr): Likewise.
                   14927:        * i386/Makefrag (i386at-files): Remove com.c.
                   14928:        (objfiles): Add com.o if enable_com is yes, and lpr.o if enable_lpr
                   14929:        is yes.
                   14930: 
                   14931: Tue Jan 26 21:36:10 1999  Thomas Bushnell, BSG  <[email protected]>
                   14932: 
                   14933:        * kern/exception.c (exception_no_server): Correctly comment out
                   14934:        the suspend code.  (This should have happened on 17 April 1997,
                   14935:        but apparently I did it backwards.)
                   14936: 
                   14937: 1999-01-26  OKUJI Yoshinori  <[email protected]>
                   14938: 
                   14939:        * device/kmsg.c (kmsgopen): Added simple_lock and simple_unlock.
                   14940:        (ksmgclose): Likewise.
                   14941: 
                   14942: 1999-01-25  OKUJI Yoshinori  <[email protected]>
                   14943: 
                   14944:        * Makefile.in (install-headers): New target for installing only
                   14945:        the headers.
                   14946:        (install-kernel): New target for installing only the kernel.
                   14947:        (mkheaderdirs): New target for making the headers
                   14948:        installation directories.
                   14949:        (mkkerneldirs): New target for making the kernel
                   14950:        installation directory.
                   14951:        (install): Do nothing by itself, but depend on install-kernel
                   14952:        and install-headers.
                   14953: 
                   14954: 1999-01-24  OKUJI Yoshinori  <[email protected]>
                   14955: 
                   14956:        * device/kmsg.h (KMSGBUFSIZE): Deleted.
                   14957:        * device/kmsg.c: Rewritten completely to provide stream interface.
                   14958:        * linux/dev/glue/block.c (device_getstat): Added V_GETPARMS support.
                   14959:        * config.guess: New version from automake-1.4.
                   14960:        * config.sub: Likewise.
                   14961:        * install-sh: Likewise.
                   14962: 
                   14963:        Some changes were merged from gnumach-m68k by
                   14964:        Aymeric Vincent <[email protected]>.
                   14965: 
                   14966:        * Makefile.in (clean): Don't hang if device-drivers.h doesn't exist.
                   14967:        * linux/Makefile.in (CPPFLAGS): Fix a typo.
                   14968: 
                   14969: 1999-01-16  OKUJI Yoshinori  <[email protected]>
                   14970: 
                   14971:        * device/kmsg.c: Fixed the copyright notice.
                   14972:        (MACH_KMSG): Removed.
                   14973:        * Makefile.in (enable_kmsg): New variable.
                   14974:        (objfiles): Add kmsg.o, if and only if enable_kmsg is yes.
                   14975: 
                   14976: 1999-01-10  OKUJI Yoshinori  <[email protected]>
                   14977: 
                   14978:        * i386/i386at/kd.c: Applied a keymap patch. Reported by
                   14979:        Marcus Brinkmann <[email protected]>.
                   14980:        * i386/i386at/kd.h: Likewise.
                   14981: 
                   14982: 1998-12-30  OKUJI Yoshinori  <[email protected]>
                   14983: 
                   14984:        * linux/dev/glue/net.c (dev_alloc_skb): Change the skb arragement.
                   14985:        (dev_kfree_skb): Free only skb.
                   14986:        (device_write): Keep skb elements up-to-date.
                   14987: 
                   14988: 1998-12-18  OKUJI Yoshinori  <[email protected]>
                   14989: 
                   14990:        * Makefile.in (objfiles): Add kmsg.o.
                   14991:        * device/cons.c: Include <device/io_req.h>.
                   14992:        * device/kmsg.c: Rewritten almost entirely.
                   14993: 
                   14994: 1998-12-06  OKUJI Yoshinori  <[email protected]>
                   14995: 
                   14996:        Add kmsg device.
                   14997: 
                   14998:        * Makefile.in (device-files): Add kmsg.c and kmsg.h.
                   14999:        * configure.in (--enable-kmsg): New option.
                   15000:        * device/cons.c: Include kmsg.h.
                   15001:        (cninit): Call kmsginit if MACH_KMSG is defined.
                   15002:        (cnputc): Call kmsg_putchar if MACH_KMSG is defined.
                   15003:        * device/kmsg.c: New file.
                   15004:        * device/kmsg.h: Likewise.
                   15005:        * i386/i386at/conf.c (dev_name_list): Add kmsg entry.
                   15006: 
                   15007: 1998-12-02  OKUJI Yoshinori  <[email protected]>
                   15008: 
                   15009:        * configure.in: Fix linuxdev option handling.
                   15010:        * linux/Drivers.in: Remove linuxdev option and fix linking files.
                   15011:        * linux/Makefile.in: Replace @DEFS@ with -DLINUX_DEV.
                   15012:        * linux/dev/arch/i386/kernel/irq.c: Include missing header files.
                   15013:        * linux/dev/arch/i386/kernel/setup.c: Include <device-drivers.h>.
                   15014:        * linux/dev/glue/kmem.c: Add printf declaration.
                   15015:        * linux/dev/glue/misc.c: Include <linux/types.h>.
                   15016:        * linux/dev/init/main.c: Call linux_sched_init instead of sched_init.
                   15017:        * linux/dev/kernel/sched.c: Add timer_bh declaration.
                   15018:        (tqueue_bh): Fix the argument.
                   15019:        (linux_sched_init): Renamed from sched_init.
                   15020: 
                   15021: 1998-12-01  OKUJI Yoshinori  <[email protected]>
                   15022: 
                   15023:        * i386/i386at/i386at_ds_routines.c: Include <linux/device-drivers.h>
                   15024:        only if LINUX_DEV is defined. Reported by UCHIYAMA Yasushi
                   15025:        <[email protected]>.
                   15026:        * device/ds_routines.c: Likewise.
                   15027:        * configure.in: AC_CONFIG_SUBDIRS(linux) instead of linuxdev.
                   15028:        (--disable-linuxdev): New option.
                   15029:        * linux/Makefile.in (CPPFLAGS): Remove -DLINUX_DEV, and add @DEFS@.
                   15030:        (objfiles): Add linux.o only if LINUX_DEV is defined.
                   15031:        * linux/Drivers.in (--disable-linuxdev): New option.
                   15032:        * i386/Makefrag (DEFINES): Remove -DLINUX_DEV.
                   15033: 
                   15034: 1998-11-30  OKUJI Yoshinori  <[email protected]>
                   15035: 
                   15036:        Clean up linux emulation code to make it architecture-independent
                   15037:        as much as possible.
                   15038: 
                   15039:        * linux: Renamed from linuxdev.
                   15040:        * Makefile.in (objfiles): Add linux.o instead of linuxdev.o.
                   15041:        (MAKE): New variable. Used for the linux.o target.
                   15042:        * configure.in: Add AC_CHECK_TOOL(MAKE, make).
                   15043:        * i386/i386/spl.h: Include <i386/ipl.h>, for compatibility with
                   15044:        OSF Mach 3.0. Suggested by Elgin Lee <[email protected]>.
                   15045:        * linux/src: Renamed from linux/linux.
                   15046:        * linux/dev: Renamed from linux/mach.
                   15047:        * linux/Drivers.in (AC_INIT): Use dev/include/linux/autoconf.h,
                   15048:        instead of mach/include/linux/autoconf.h.
                   15049:        * Makefile.in (all): Target ../linux.o instead of ../linuxdev.o.
                   15050:        * linux/dev/drivers/block/genhd.c: Include <machine/spl.h> instead
                   15051:        of <i386/ipl.h>.
                   15052:        * linux/dev/drivers/net/auto_irq.c: Remove unneeded header files,
                   15053:        <i386/ipl.h> and <i386/pic.h>.
                   15054:        * linux/dev/init/main.c: Many i386-dependent codes moved to ...
                   15055:        * linux/dev/arch/i386/irq.c: ... here.
                   15056:        * linux/dev/arch/i386/setup.c: New file.
                   15057:        * linux/dev/arch/i386/linux_emul.h: Likewise.
                   15058:        * linux/dev/arch/i386/glue/timer.c: Merged into sched.c.
                   15059:        * linux/dev/arch/i386/glue/sched.c: Include <machine/spl.h> instead
                   15060:        of <i386/ipl.h>, and moved to ...
                   15061:        * linux/dev/kernel/sched.c: ... here.
                   15062:        * linux/dev/arch/i386/glue/block.c: Include <machine/spl.h> and
                   15063:        <linux_emul.h>, instead of i386-dependent header files, and
                   15064:        moved to ...
                   15065:        * linux/dev/glue/blocl.c: ... here.
                   15066:        * linux/dev/arch/i386/glue/net.c: Include <machine/spl.h> and
                   15067:        <linux_emul.h>, instead of i386-dependent header files, and
                   15068:        moved to ...
                   15069:        * linux/dev/glue/net.c: ... here.
                   15070:        * linux/dev/arch/i386/glue/misc.c: Remove `x86' and moved to ...
                   15071:        * linux/dev/glue/misc.c: ... here.
                   15072:        * linux/dev/arch/i386/glue/kmem.c: Moved to ...
                   15073:        * linux/dev/glue/kmem.c: ... here.
                   15074: 
                   15075: 1998-11-25  OKUJI Yoshinori  <[email protected]>
                   15076: 
                   15077:        * linuxdev/mach/init/main.c (linux_init): Call reserve_mach_irqs.
                   15078:        * linuxdev/mach/arch/i386/kernel/irq.c (probe_irq_on): Fix ivect
                   15079:        mishandling.
                   15080:        (probe_irq_off): Disable unnecessary IRQs. Reported by
                   15081:        UCHIYAMA Yasushi <[email protected]>.
                   15082:        (reserve_mach_irqs): New function.
                   15083: 
                   15084: 1998-11-24  OKUJI Yoshinori  <[email protected]>
                   15085: 
                   15086:        * linuxdev/arch/i386/linux_init.c (linux_init): Check ivect
                   15087:        before set linux_bad_intr.
                   15088:        * linuxdev/arch/i386/linux_irq.c (probe_irq_on): Allocate only
                   15089:        if ivect is null, and set linux_intr_pri to intpri.
                   15090: 
                   15091:        * linuxdev: Heavily changed. It becomes more Linux-like file
                   15092:        hierarchy as suggested by Roland McGrath <[email protected]>.
                   15093:        * linuxdev/linux: Contain original Linux source files.
                   15094:        * linuxdev/mach: Contain modified source files for Mach.
                   15095:        * linuxdev/mach/arch/i386/glue: XXX Contain files that are
                   15096:        not easy to segregate.
                   15097:        * Makefile.in: Call `make -C linuxdev all', instead of include
                   15098:        linuxdev/Makefrag.
                   15099: 
                   15100: 1998-11-23  OKUJI Yoshinori  <[email protected]>
                   15101: 
                   15102:        * linuxdev/arch/i386/linux_irq.c (linux_bad_intr): New function.
                   15103:        (free_irq): Set linux_bad_intr into ivect[irq].
                   15104:        * linuxdev/arch/i386/linux_init.c (linux_init):
                   15105:        Set linux_bad_intr as the default interrupt handler.
                   15106: 
                   15107:        * linuxdev/include/asm-i386/string.h (strstr): Fix the
                   15108:        egcs/gcc 2.8.x bug and a linkage problem. Reported by
                   15109:        Roland McGrath <[email protected]>.
                   15110: 
                   15111: 1998-11-18  OKUJI Yoshinori  <[email protected]>
                   15112: 
                   15113:        * linuxdev/Drivers.in: Fix a typo.
                   15114:        * linuxdev/Makefrag: Likewise.
                   15115:        * linuxdev/arch/i386/linux_block.c (set_blocksize): Likewise.
                   15116: 
                   15117:        * linuxdev/arch/i386/linux_kmem.c (vfree): Cast void * to
                   15118:        vm_offset_t.
                   15119:        * linuxdev/drivers/net/wavelan.p.h: Include
                   15120:        <linuxdev/drivers/net/i82586.h>, instead of <drivers/net/i82586.h>.
                   15121:        * linuxdev/drivers/scsi/aha152x.c: Define AUTOCONF.
                   15122:        * linuxdev/configure: Regenerate.
                   15123: 
                   15124: 1998-11-17  OKUJI Yoshinori  <[email protected]>
                   15125: 
                   15126:        * linuxdev/arch/i386/linux_misc.c (strstr): New function.
                   15127:        Because inline version strstr is not used when use
                   15128:        egcs/gcc 2.8.x. Reported by UCHIYAMA Yasushi <[email protected]>.
                   15129: 
                   15130:        * linuxdev/arch/i386/linux_irq.c (unmask_irq): Fix a typo.
                   15131: 
                   15132: 1998-11-17  OKUJI Yoshinori  <[email protected]>
                   15133: 
                   15134:        * i386/README-Drivers: Update to Linux 2.0.36 device drivers.
                   15135:        * linuxdev/Drivers.in: Likewise.
                   15136:        * linuxdev/Makefrag: Likewise.
                   15137:        * linuxdev/arch/i386/linux_lib.S: Likewise.
                   15138:        * linuxdev/device-drivers.h.in: Likewise.
                   15139:        * linuxdev/drivers/block/floppy.c: Likewise.
                   15140:        * linuxdev/drivers/block/ide.c: Likewise.
                   15141:        * linuxdev/drivers/block/ide.h: Likewise.
                   15142:        * linuxdev/drivers/net/3c505.h: Likewise.
                   15143:        * linuxdev/drivers/net/3c509.c: Likewise.
                   15144:        * linuxdev/drivers/net/3c515.c: Likewise.
                   15145:        * linuxdev/drivers/net/3c59x.c: Likewise.
                   15146:        * linuxdev/drivers/net/Space.c: Likewise.
                   15147:        * linuxdev/drivers/net/apricot.c: Likewise.
                   15148:        * linuxdev/drivers/net/de4x5.c: Likewise.
                   15149:        * linuxdev/drivers/net/eepro.c: Likewise.
                   15150:        * linuxdev/drivers/net/eepro100.c: Likewise.
                   15151:        * linuxdev/drivers/net/eexpress.c: Likewise.
                   15152:        * linuxdev/drivers/net/epic100.c: Likewise.
                   15153:        * linuxdev/drivers/net/eth16i.c: Likewise.
                   15154:        * linuxdev/drivers/net/hp100.c: Likewise.
                   15155:        * linuxdev/drivers/net/lance.c: Likewise.
                   15156:        * linuxdev/drivers/net/ne2k-pci.c: Likewise.
                   15157:        * linuxdev/drivers/net/pcnet32.c: Likewise.
                   15158:        * linuxdev/drivers/net/rtl8139.c: Likewise.
                   15159:        * linuxdev/drivers/net/tlan.c: Likewise.
                   15160:        * linuxdev/drivers/net/tulip.c: Likewise.
                   15161:        * linuxdev/drivers/net/wavelan.c: Likewise.
                   15162:        * linuxdev/drivers/pci/pci.c: Likewise.
                   15163:        * linuxdev/drivers/scsi/BusLogic.c: Likewise.
                   15164:        * linuxdev/drivers/scsi/FlashPoint.c: Likewise.
                   15165:        * linuxdev/drivers/scsi/aha152x.c: Likewise.
                   15166:        * linuxdev/drivers/scsi/aha1542.c: Likewise.
                   15167:        * linuxdev/drivers/scsi/aic7xxx/sequencer.h: Likewise.
                   15168:        * linuxdev/drivers/scsi/aic7xxx.c: Likewise.
                   15169:        * linuxdev/drivers/scsi/aic7xxx_proc.c: Likewise.
                   15170:        * linuxdev/drivers/scsi/aic7xxx_reg.h: Likewise.
                   15171:        * linuxdev/drivers/scsi/dtc.c: Likewise.
                   15172:        * linuxdev/drivers/scsi/eata.c: Likewise.
                   15173:        * linuxdev/drivers/scsi/eata.h: Likewise.
                   15174:        * linuxdev/drivers/scsi/eata_dma.c: Likewise.
                   15175:        * linuxdev/drivers/scsi/gdth.c: Likewise.
                   15176:        * linuxdev/drivers/scsi/gdth.h: Likewise.
                   15177:        * linuxdev/drivers/scsi/gdth_proc.c: Likewise.
                   15178:        * linuxdev/drivers/scsi/gdth_proc.h: Likewise.
                   15179:        * linuxdev/drivers/scsi/hosts.c: Likewise.
                   15180:        * linuxdev/drivers/scsi/in2000.c: Likewise.
                   15181:        * linuxdev/drivers/scsi/in2000.h: Likewise.
                   15182:        * linuxdev/drivers/scsi/ncr53c8xx.c: Likewise.
                   15183:        * linuxdev/drivers/scsi/ppa.h: Likewise.
                   15184:        * linuxdev/drivers/scsi/scsi.c: Likewise.
                   15185:        * linuxdev/drivers/scsi/scsicam.c: Likewise.
                   15186:        * linuxdev/drivers/scsi/sd.c: Likewise.
                   15187:        * linuxdev/drivers/scsi/seagate.c: Likewise.
                   15188:        * linuxdev/drivers/scsi/u14-34f.c: Likewise.
                   15189:        * linuxdev/drivers/scsi/u14-34f.h: Likewise.
                   15190:        * linuxdev/drivers/scsi/wd7000.c: Likewise.
                   15191:        * linuxdev/drivers/scsi/wd7000.h: Likewise.
                   15192:        * linuxdev/include/asm-i386/irq.h: Likewise.
                   15193:        * linuxdev/include/asm-i386/processor.h: Likewise.
                   15194:        * linuxdev/include/asm-i386/ptrace.h: Likewise.
                   15195:        * linuxdev/include/asm-i386/system.h: Likewise.
                   15196:        * linuxdev/include/asm-i386/unistd.h: Likewise.
                   15197:        * linuxdev/include/linux/fs.h: Likewise.
                   15198:        * linuxdev/include/linux/genhd.h: Likewise.
                   15199:        * linuxdev/include/linux/interrupt.h: Likewise.
                   15200:        * linuxdev/include/linux/ip.h: Likewise.
                   15201:        * linuxdev/include/linux/pci.h: Likewise.
                   15202:        * linuxdev/include/linux/version.h: Likewise.
                   15203:        * linuxdev/include/linux/wireless.h: Likewise.
                   15204: 
                   15205:        * linuxdev/drivers/net/via-rhine.c: New file.
                   15206:        * linuxdev/drivers/scsi/aic7xxx_seq.c: Likewise.
                   15207:        * linuxdev/include/linux/rose.h: Likewise.
                   15208: 
                   15209:        * linuxdev/drivers/scsi/aic7xxx_seq.h: Removed.
                   15210:        * linuxdev/configure: Regenerate.
                   15211:        * linuxdev/include/asm-i386/string.h: Fix the egcs/gcc 2.8.x problem,
                   15212:        according to http://www.suse.de/~florian/kernel+egcs.html.
                   15213: 
                   15214: 1998-11-14  OKUJI Yoshinori  <[email protected]>
                   15215: 
                   15216:        * Makefile.in (clib-routines.o): Add -L option to search libc.a.
                   15217:        Reported by TAKEUCHI Yoji <[email protected]>.
                   15218: 
                   15219:        * linuxdev/drivers/pci/bios32.c: Moved to ...
                   15220:        * linuxdev/arch/i386/linux_bios32.c: ... here. Because it is
                   15221:        i386-specific code.
                   15222:        * linuxdev/include/asm: Moved to ...
                   15223:        * linuxdev/include/asm-i386: ... here.
                   15224: 
                   15225:        * i386/README-Drivers: Update to Linux 2.0.35 device drivers.
                   15226:        * linuxdev/Drivers.in: Likewise.
                   15227:        * linuxdev/configure: Likewise.
                   15228:        * linuxdev/device-drivers.h.in: Likewise.
                   15229:        * linuxdev/Makefrag: Likewise.
                   15230:        * linuxdev/arch/i386/linux_autoirq.c: Likewise.
                   15231:        * linuxdev/arch/i386/linux_block.c: Likewise.
                   15232:        * linuxdev/arch/i386/linux_dma.c: Likewise.
                   15233:        * linuxdev/arch/i386/linux_init.c: Likewise.
                   15234:        * linuxdev/arch/i386/linux_irq.c: Likewise.
                   15235:        * linuxdev/arch/i386/linux_kmem.c: Likewise.
                   15236:        * linuxdev/arch/i386/linux_misc.c: Likewise.
                   15237:        * linuxdev/arch/i386/linux_net.c: Likewise.
                   15238:        * linuxdev/arch/i386/linux_port.c: Likewise.
                   15239:        * linuxdev/arch/i386/linux_printk.c: Likewise.
                   15240:        * linuxdev/arch/i386/linux_sched.c: Likewise.
                   15241:        * linuxdev/arch/i386/linux_timer.c: Likewise.
                   15242:        * linuxdev/arch/i386/linux_version.c: Likewise.
                   15243:        * linuxdev/arch/i386/linux_vsprintf.c: Likewise.
                   15244:        * linuxdev/drivers/block/cmd640.c: Likewise.
                   15245:        * linuxdev/drivers/block/floppy.c: Likewise.
                   15246:        * linuxdev/drivers/block/genhd.c: Likewise.
                   15247:        * linuxdev/drivers/block/ide-cd.c: Likewise.
                   15248:        * linuxdev/drivers/block/ide.c: Likewise.
                   15249:        * linuxdev/drivers/block/ide.h: Likewise.
                   15250:        * linuxdev/drivers/block/ide_modes.h: Likewise.
                   15251:        * linuxdev/drivers/block/rz1000.c: Likewise.
                   15252:        * linuxdev/drivers/block/triton.c: Likewise.
                   15253:        * linuxdev/drivers/net/3c501.c: Likewise.
                   15254:        * linuxdev/drivers/net/3c503.c: Likewise.
                   15255:        * linuxdev/drivers/net/3c505.c: Likewise.
                   15256:        * linuxdev/drivers/net/3c507.c: Likewise.
                   15257:        * linuxdev/drivers/net/3c509.c: Likewise.
                   15258:        * linuxdev/drivers/net/3c59x.c: Likewise.
                   15259:        * linuxdev/drivers/net/8390.c: Likewise.
                   15260:        * linuxdev/drivers/net/8390.h: Likewise.
                   15261:        * linuxdev/drivers/net/Space.c: Likewise.
                   15262:        * linuxdev/drivers/net/ac3200.c: Likewise.
                   15263:        * linuxdev/drivers/net/apricot.c: Likewise.
                   15264:        * linuxdev/drivers/net/at1700.c: Likewise.
                   15265:        * linuxdev/drivers/net/atp.c: Likewise.
                   15266:        * linuxdev/drivers/net/atp.h: Likewise.
                   15267:        * linuxdev/drivers/net/de4x5.c: Likewise.
                   15268:        * linuxdev/drivers/net/de4x5.h: Likewise.
                   15269:        * linuxdev/drivers/net/de600.c: Likewise.
                   15270:        * linuxdev/drivers/net/de620.c: Likewise.
                   15271:        * linuxdev/drivers/net/depca.c: Likewise.
                   15272:        * linuxdev/drivers/net/dev.c: Likewise.
                   15273:        * linuxdev/drivers/net/e2100.c: Likewise.
                   15274:        * linuxdev/drivers/net/eepro.c: Likewise.
                   15275:        * linuxdev/drivers/net/eepro100.c: Likewise.
                   15276:        * linuxdev/drivers/net/eexpress.c: Likewise.
                   15277:        * linuxdev/drivers/net/eth16i.c: Likewise.
                   15278:        * linuxdev/drivers/net/ewrk3.c: Likewise.
                   15279:        * linuxdev/drivers/net/ewrk3.h: Likewise.
                   15280:        * linuxdev/drivers/net/hp-plus.c: Likewise.
                   15281:        * linuxdev/drivers/net/hp.c: Likewise.
                   15282:        * linuxdev/drivers/net/hp100.c: Likewise.
                   15283:        * linuxdev/drivers/net/hp100.h: Likewise.
                   15284:        * linuxdev/drivers/net/i82586.h: Likewise.
                   15285:        * linuxdev/drivers/net/lance.c: Likewise.
                   15286:        * linuxdev/drivers/net/ne.c: Likewise.
                   15287:        * linuxdev/drivers/net/net_init.c: Likewise.
                   15288:        * linuxdev/drivers/net/ni52.c: Likewise.
                   15289:        * linuxdev/drivers/net/ni52.h: Likewise.
                   15290:        * linuxdev/drivers/net/ni65.c: Likewise.
                   15291:        * linuxdev/drivers/net/ni65.h: Likewise.
                   15292:        * linuxdev/drivers/net/seeq8005.c: Likewise.
                   15293:        * linuxdev/drivers/net/seeq8005.h: Likewise.
                   15294:        * linuxdev/drivers/net/sk_g16.c: Likewise.
                   15295:        * linuxdev/drivers/net/sk_g16.h: Likewise.
                   15296:        * linuxdev/drivers/net/smc-ultra.c: Likewise.
                   15297:        * linuxdev/drivers/net/tulip.c: Likewise.
                   15298:        * linuxdev/drivers/net/wavelan.c: Likewise.
                   15299:        * linuxdev/drivers/net/wavelan.h: Likewise.
                   15300:        * linuxdev/drivers/net/wd.c: Likewise.
                   15301:        * linuxdev/drivers/net/znet.c: Likewise.
                   15302:        * linuxdev/drivers/pci/pci.c: Likewise.
                   15303:        * linuxdev/drivers/scsi/53c7,8xx.h: Likewise.
                   15304:        * linuxdev/drivers/scsi/53c78xx.c: Likewise.
                   15305:        * linuxdev/drivers/scsi/53c8xx_d.h: Likewise.
                   15306:        * linuxdev/drivers/scsi/AM53C974.c: Likewise.
                   15307:        * linuxdev/drivers/scsi/AM53C974.h: Likewise.
                   15308:        * linuxdev/drivers/scsi/BusLogic.c: Likewise.
                   15309:        * linuxdev/drivers/scsi/BusLogic.h: Likewise.
                   15310:        * linuxdev/drivers/scsi/NCR53c406a.c: Likewise.
                   15311:        * linuxdev/drivers/scsi/NCR53c406a.h: Likewise.
                   15312:        * linuxdev/drivers/scsi/advansys.c: Likewise.
                   15313:        * linuxdev/drivers/scsi/advansys.h: Likewise.
                   15314:        * linuxdev/drivers/scsi/aha152x.c: Likewise.
                   15315:        * linuxdev/drivers/scsi/aha152x.h: Likewise.
                   15316:        * linuxdev/drivers/scsi/aha1542.c: Likewise.
                   15317:        * linuxdev/drivers/scsi/aha1542.h: Likewise.
                   15318:        * linuxdev/drivers/scsi/aha1740.c: Likewise.
                   15319:        * linuxdev/drivers/scsi/aha1740.h: Likewise.
                   15320:        * linuxdev/drivers/scsi/aic7xxx.c: Likewise.
                   15321:        * linuxdev/drivers/scsi/aic7xxx.h: Likewise.
                   15322:        * linuxdev/drivers/scsi/aic7xxx_seq.h: Likewise.
                   15323:        * linuxdev/drivers/scsi/constants.h: Likewise.
                   15324:        * linuxdev/drivers/scsi/eata.c: Likewise.
                   15325:        * linuxdev/drivers/scsi/eata.h: Likewise.
                   15326:        * linuxdev/drivers/scsi/eata_dma.c: Likewise.
                   15327:        * linuxdev/drivers/scsi/eata_dma.h: Likewise.
                   15328:        * linuxdev/drivers/scsi/eata_generic.h: Likewise.
                   15329:        * linuxdev/drivers/scsi/eata_pio.c: Likewise.
                   15330:        * linuxdev/drivers/scsi/eata_pio.h: Likewise.
                   15331:        * linuxdev/drivers/scsi/fdomain.c: Likewise.
                   15332:        * linuxdev/drivers/scsi/fdomain.h: Likewise.
                   15333:        * linuxdev/drivers/scsi/g_NCR5380.c: Likewise.
                   15334:        * linuxdev/drivers/scsi/g_NCR5380.h: Likewise.
                   15335:        * linuxdev/drivers/scsi/hosts.c: Likewise.
                   15336:        * linuxdev/drivers/scsi/hosts.h: Likewise.
                   15337:        * linuxdev/drivers/scsi/in2000.c: Likewise.
                   15338:        * linuxdev/drivers/scsi/in2000.h: Likewise.
                   15339:        * linuxdev/drivers/scsi/pas16.c: Likewise.
                   15340:        * linuxdev/drivers/scsi/pas16.h: Likewise.
                   15341:        * linuxdev/drivers/scsi/scsi.c: Likewise.
                   15342:        * linuxdev/drivers/scsi/scsi.h: Likewise.
                   15343:        * linuxdev/drivers/scsi/scsi_ioctl.c: Likewise.
                   15344:        * linuxdev/drivers/scsi/scsi_proc.c: Likewise.
                   15345:        * linuxdev/drivers/scsi/scsicam.c: Likewise.
                   15346:        * linuxdev/drivers/scsi/sd.c: Likewise.
                   15347:        * linuxdev/drivers/scsi/sd.h: Likewise.
                   15348:        * linuxdev/drivers/scsi/sd_ioctl.c: Likewise.
                   15349:        * linuxdev/drivers/scsi/seagate.c: Likewise.
                   15350:        * linuxdev/drivers/scsi/seagate.h: Likewise.
                   15351:        * linuxdev/drivers/scsi/sr.c: Likewise.
                   15352:        * linuxdev/drivers/scsi/sr_ioctl.c: Likewise.
                   15353:        * linuxdev/drivers/scsi/t128.c: Likewise.
                   15354:        * linuxdev/drivers/scsi/t128.h: Likewise.
                   15355:        * linuxdev/drivers/scsi/u14-34f.c: Likewise.
                   15356:        * linuxdev/drivers/scsi/u14-34f.h: Likewise.
                   15357:        * linuxdev/drivers/scsi/ultrastor.c: Likewise.
                   15358:        * linuxdev/drivers/scsi/ultrastor.h: Likewise.
                   15359:        * linuxdev/drivers/scsi/wd7000.c: Likewise.
                   15360:        * linuxdev/drivers/scsi/wd7000.h: Likewise.
                   15361:        * linuxdev/include/asm-i386/bitops.h: Likewise.
                   15362:        * linuxdev/include/asm-i386/delay.h: Likewise.
                   15363:        * linuxdev/include/asm-i386/dma.h: Likewise.
                   15364:        * linuxdev/include/asm-i386/errno.h: Likewise.
                   15365:        * linuxdev/include/asm-i386/fcntl.h: Likewise.
                   15366:        * linuxdev/include/asm-i386/floppy.h: Likewise.
                   15367:        * linuxdev/include/asm-i386/ioctl.h: Likewise.
                   15368:        * linuxdev/include/asm-i386/floppy.h: Likewise.
                   15369:        * linuxdev/include/asm-i386/irq.h: Likewise.
                   15370:        * linuxdev/include/asm-i386/processor.h: Likewise.
                   15371:        * linuxdev/include/asm-i386/ptrace.h: Likewise.
                   15372:        * linuxdev/include/asm-i386/resource.h: Likewise.
                   15373:        * linuxdev/include/asm-i386/segment.h: Likewise.
                   15374:        * linuxdev/include/asm-i386/sigcontext.h: Likewise.
                   15375:        * linuxdev/include/asm-i386/signal.h: Likewise.
                   15376:        * linuxdev/include/asm-i386/socket.h: Likewise.
                   15377:        * linuxdev/include/asm-i386/statfs.h: Likewise.
                   15378:        * linuxdev/include/asm-i386/string.h: Likewise.
                   15379:        * linuxdev/include/asm-i386/system.h: Likewise.
                   15380:        * linuxdev/include/asm-i386/termios.h: Likewise.
                   15381:        * linuxdev/include/asm-i386/types.h: Likewise.
                   15382:        * linuxdev/include/asm-i386/unistd.h: Likewise.
                   15383:        * linuxdev/include/linux/autoconf.h: Likewise.
                   15384:        * linuxdev/include/linux/binfmts.h: Likewise.
                   15385:        * linuxdev/include/linux/bios32.h: Likewise.
                   15386:        * linuxdev/include/linux/blk.h: Likewise.
                   15387:        * linuxdev/include/linux/blkdev.h: Likewise.
                   15388:        * linuxdev/include/linux/cdrom.h: Likewise.
                   15389:        * linuxdev/include/linux/config.h: Likewise.
                   15390:        * linuxdev/include/linux/etherdevice.h: Likewise.
                   15391:        * linuxdev/include/linux/fd.h: Likewise.
                   15392:        * linuxdev/include/linux/fdreg.h: Likewise.
                   15393:        * linuxdev/include/linux/fs.h: Likewise.
                   15394:        * linuxdev/include/linux/genhd.h: Likewise.
                   15395:        * linuxdev/include/linux/hdreg.h: Likewise.
                   15396:        * linuxdev/include/linux/if.h: Likewise.
                   15397:        * linuxdev/include/linux/if_arp.h: Likewise.
                   15398:        * linuxdev/include/linux/if_ether.h: Likewise.
                   15399:        * linuxdev/include/linux/if_tr.h: Likewise.
                   15400:        * linuxdev/include/linux/igmp.h: Likewise.
                   15401:        * linuxdev/include/linux/in.h: Likewise.
                   15402:        * linuxdev/include/linux/inet.h: Likewise.
                   15403:        * linuxdev/include/linux/interrupt.h: Likewise.
                   15404:        * linuxdev/include/linux/ioport.h: Likewise.
                   15405:        * linuxdev/include/linux/ip.h: Likewise.
                   15406:        * linuxdev/include/linux/kernel.h: Likewise.
                   15407:        * linuxdev/include/linux/locks.h: Likewise.
                   15408:        * linuxdev/include/linux/major.h: Likewise.
                   15409:        * linuxdev/include/linux/malloc.h: Likewise.
                   15410:        * linuxdev/include/linux/mc146818rtc.h: Likewise.
                   15411:        * linuxdev/include/linux/mm.h: Likewise.
                   15412:        * linuxdev/include/linux/module.h: Likewise.
                   15413:        * linuxdev/include/linux/mount.h: Likewise.
                   15414:        * linuxdev/include/linux/net.h: Likewise.
                   15415:        * linuxdev/include/linux/netdevice.h: Likewise.
                   15416:        * linuxdev/include/linux/nfs.h: Likewise.
                   15417:        * linuxdev/include/linux/notifier.h: Likewise.
                   15418:        * linuxdev/include/linux/pagemap.h: Likewise.
                   15419:        * linuxdev/include/linux/pci.h: Likewise.
                   15420:        * linuxdev/include/linux/personality.h: Likewise.
                   15421:        * linuxdev/include/linux/proc_fs.h: Likewise.
                   15422:        * linuxdev/include/linux/quota.h: Likewise.
                   15423:        * linuxdev/include/linux/route.h: Likewise.
                   15424:        * linuxdev/include/linux/sched.h: Likewise.
                   15425:        * linuxdev/include/linux/skbuff.h: Likewise.
                   15426:        * linuxdev/include/linux/socket.h: Likewise.
                   15427:        * linuxdev/include/linux/sockios.h: Likewise.
                   15428:        * linuxdev/include/linux/string.h: Likewise.
                   15429:        * linuxdev/include/linux/time.h: Likewise.
                   15430:        * linuxdev/include/linux/timer.h: Likewise.
                   15431:        * linuxdev/include/linux/tqueue.h: Likewise.
                   15432:        * linuxdev/include/linux/tty.h: Likewise.
                   15433:        * linuxdev/include/linux/types.h: Likewise.
                   15434:        * linuxdev/include/linux/uio.h: Likewise.
                   15435:        * linuxdev/include/linux/version.h: Likewise.
                   15436:        * linuxdev/include/linux/wait.h: Likewise.
                   15437:        * linuxdev/include/net/af_unix.h: Likewise.
                   15438:        * linuxdev/include/net/ax25.h: Likewise.
                   15439:        * linuxdev/include/net/ax25call.h: Likewise.
                   15440:        * linuxdev/include/net/icmp.h: Likewise.
                   15441:        * linuxdev/include/net/ip.h: Likewise.
                   15442:        * linuxdev/include/net/ip_alias.h: Likewise.
                   15443:        * linuxdev/include/net/ip_forward.h: Likewise.
                   15444:        * linuxdev/include/net/ipx.h: Likewise.
                   15445:        * linuxdev/include/net/netlink.h: Likewise.
                   15446:        * linuxdev/include/net/netrom.h: Likewise.
                   15447:        * linuxdev/include/net/nrcall.h: Likewise.
                   15448:        * linuxdev/include/net/p8022.h: Likewise.
                   15449:        * linuxdev/include/net/protocol.h: Likewise.
                   15450:        * linuxdev/include/net/psnap.h: Likewise.
                   15451:        * linuxdev/include/net/raw.h: Likewise.
                   15452:        * linuxdev/include/net/route.h: Likewise.
                   15453:        * linuxdev/include/net/sock.h: Likewise.
                   15454:        * linuxdev/include/net/tcp.h: Likewise.
                   15455:        * linuxdev/include/net/udp.h: Likewise.
                   15456: 
                   15457:        * linuxdev/arch/i386/linux_soft.c: Removed.
                   15458:        * linuxdev/drivers/scsi/NCR5380.src: Likewise.
                   15459:        * linuxdev/drivers/scsi/aic7xxx_proc.src: Likewise.
                   15460:        * linuxdev/drivers/scsi/aic7xxx_reg.h: Likewise.
                   15461:        * linuxdev/drivers/scsi/eata_dma_proc.src: Likewise.
                   15462:        * linuxdev/drivers/scsi/eata_pio_proc.src: Likewise.
                   15463:        * linuxdev/drivers/scsi/qlogic.c: Likewise.
                   15464:        * linuxdev/drivers/scsi/qlogic.h: Likewise.
                   15465:        * linuxdev/drivers/scsi/scsi_debug.c: Likewise.
                   15466:        * linuxdev/drivers/scsi/scsi_debug.h: Likewise.
                   15467:        * linuxdev/drivers/scsi/scsi_ioctl.h: Likewise.
                   15468:        * linuxdev/include/linux/math_emu.h: Likewise.
                   15469:        * linuxdev/include/linux/minix_fs.h: Likewise.
                   15470:        * linuxdev/include/linux/minix_fs_sb.h: Likewise.
                   15471:        * linuxdev/include/linux/scsi.h: Likewise.
                   15472:        * linuxdev/include/linux/scsicam.h: Likewise.
                   15473:        * linuxdev/include/linux/vm86.h: Likewise.
                   15474: 
                   15475:        * linuxdev/arch/i386/linux_ctype.c: New file.
                   15476:        * linuxdev/arch/i386/linux_lib.S: Likewise.
                   15477:        * linuxdev/arch/i386/linux_softirq.c: Likewise.
                   15478:        * linuxdev/drivers/net/3c515.c: Likewise.
                   15479:        * linuxdev/drivers/net/epic100.c: Likewise.
                   15480:        * linuxdev/drivers/net/eth82586.h: Likewise.
                   15481:        * linuxdev/drivers/net/fmv18x.c: Likewise.
                   15482:        * linuxdev/drivers/net/ne2k-pci.c: Likewise.
                   15483:        * linuxdev/drivers/net/pcnet32.c: Likewise.
                   15484:        * linuxdev/drivers/net/rtl8139.c: Likewise.
                   15485:        * linuxdev/drivers/net/smc-ultra32.c: Likewise.
                   15486:        * linuxdev/drivers/net/smc9194.c: Likewise.
                   15487:        * linuxdev/drivers/net/smc9194.h: Likewise.
                   15488:        * linuxdev/drivers/net/tlan.c: Likewise.
                   15489:        * linuxdev/drivers/net/tlan.h: Likewise.
                   15490:        * linuxdev/drivers/net/wavelan.p.h: Likewise.
                   15491:        * linuxdev/drivers/net/yellowfin.c: Likewise.
                   15492:        * linuxdev/drivers/scsi/FlashPoint.c: Likewise.
                   15493:        * linuxdev/drivers/scsi/NCR5380.c: Likewise.
                   15494:        * linuxdev/drivers/scsi/NCR5380.h: Likewise.
                   15495:        * linuxdev/drivers/scsi/aic7xxx/scsi_message.h: Likewise.
                   15496:        * linuxdev/drivers/scsi/aic7xxx/sequencer.h: Likewise.
                   15497:        * linuxdev/drivers/scsi/aic7xxx_proc.c: Likewise.
                   15498:        * linuxdev/drivers/scsi/dc390.h: Likewise.
                   15499:        * linuxdev/drivers/scsi/dc390w.h: Likewise.
                   15500:        * linuxdev/drivers/scsi/dtc.c: Likewise.
                   15501:        * linuxdev/drivers/scsi/dtc.h: Likewise.
                   15502:        * linuxdev/drivers/scsi/eata_dma_proc.c: Likewise.
                   15503:        * linuxdev/drivers/scsi/eata_pio_proc.c: Likewise.
                   15504:        * linuxdev/drivers/scsi/gdth.c: Likewise.
                   15505:        * linuxdev/drivers/scsi/gdth.h: Likewise.
                   15506:        * linuxdev/drivers/scsi/gdth_ioctl.h: Likewise.
                   15507:        * linuxdev/drivers/scsi/gdth_proc.c: Likewise.
                   15508:        * linuxdev/drivers/scsi/gdth_proc.h: Likewise.
                   15509:        * linuxdev/drivers/scsi/ncr53c8xx.c: Likewise.
                   15510:        * linuxdev/drivers/scsi/ncr53c8xx.h: Likewise.
                   15511:        * linuxdev/drivers/scsi/ppa.c: Likewise.
                   15512:        * linuxdev/drivers/scsi/ppa.h: Likewise.
                   15513:        * linuxdev/drivers/scsi/qlogicfas.c: Likewise.
                   15514:        * linuxdev/drivers/scsi/qlogicfas.h: Likewise.
                   15515:        * linuxdev/drivers/scsi/qlogicisp.c: Likewise.
                   15516:        * linuxdev/drivers/scsi/qlogicisp.h: Likewise.
                   15517:        * linuxdev/drivers/scsi/qlogicisp_asm.c: Likewise.
                   15518:        * linuxdev/drivers/scsi/scripts.h: Likewise.
                   15519:        * linuxdev/drivers/scsi/scsiio.c: Likewise.
                   15520:        * linuxdev/drivers/scsi/scsiiom.c: Likewise.
                   15521:        * linuxdev/drivers/scsi/tmscsim.c: Likewise.
                   15522:        * linuxdev/drivers/scsi/tmscsim.h: Likewise.
                   15523:        * linuxdev/drivers/scsi/tmscsiw.c: Likewise.
                   15524:        * linuxdev/drivers/scsi/tmscsiw.h: Likewise.
                   15525:        * linuxdev/include/asm-i386/atomic.h: Likewise.
                   15526:        * linuxdev/include/asm-i386/checksum.h: Likewise.
                   15527:        * linuxdev/include/asm-i386/ioctls.h: Likewise.
                   15528:        * linuxdev/include/asm-i386/math_emu.h: Likewise.
                   15529:        * linuxdev/include/asm-i386/posix_types.h: Likewise.
                   15530:        * linuxdev/include/asm-i386/semaphore.h: Likewise.
                   15531:        * linuxdev/include/asm-i386/sockios.h: Likewise.
                   15532:        * linuxdev/include/asm-i386/string-486.h: Likewise.
                   15533:        * linuxdev/include/asm-i386/termbits.h: Likewise.
                   15534:        * linuxdev/include/asm-i386/unaligned.h: Likewise.
                   15535:        * linuxdev/include/asm-i386/vm86.h: Likewise.
                   15536:        * linuxdev/include/linux/affs_hardblocks.h: Likewise.
                   15537:        * linuxdev/include/linux/atalk.h: Likewise.
                   15538:        * linuxdev/include/linux/ax25.h: Likewise.
                   15539:        * linuxdev/include/linux/compile.h: Likewise.
                   15540:        * linuxdev/include/linux/ctype.h: Likewise.
                   15541:        * linuxdev/include/linux/fddidevice.h: Likewise.
                   15542:        * linuxdev/include/linux/icmp.h: Likewise.
                   15543:        * linuxdev/include/linux/if_fddi.h: Likewise.
                   15544:        * linuxdev/include/linux/ipx.h: Likewise.
                   15545:        * linuxdev/include/linux/md.h: Likewise.
                   15546:        * linuxdev/include/linux/netrom.h: Likewise.
                   15547:        * linuxdev/include/linux/posix_types.h: Likewise.
                   15548:        * linuxdev/include/linux/random.h: Likewise.
                   15549:        * linuxdev/include/linux/ucdrom.h: Likewise.
                   15550:        * linuxdev/include/linux/udp.h: Likewise.
                   15551:        * linuxdev/include/linux/wireless.h: Likewise.
                   15552:        * linuxdev/include/net/br.h: Likewise.
                   15553:        * linuxdev/include/net/gc.h: Likewise.
                   15554:        * linuxdev/include/net/ip_masq.h: Likewise.
                   15555:        * linuxdev/include/net/p8022tr.h: Likewise.
                   15556:        * linuxdev/include/net/p8022trcall.h: Likewise.
                   15557:        * linuxdev/include/net/rose.h: Likewise.
                   15558:        * linuxdev/include/net/rosecall.h: Likewise.
                   15559:        * linuxdev/include/net/slhc_vj.h: Likewise.
                   15560:        * linuxdev/include/net/spx.h: Likewise.
                   15561:        * linuxdev/include/scsi/scsi.h: Likewise.
                   15562:        * linuxdev/include/scsi/scsi_ioctl.h: Likewise.
                   15563:        * linuxdev/include/scsi/scsicam.h: Likewise.
                   15564: 
                   15565: 1998-11-06  OKUJI Yoshinori  <[email protected]>
                   15566: 
                   15567:        * i386/i386at/gpl/linux: Moved to ...
                   15568:        * linuxdev: ... here.
                   15569:        * i386/Makefrag: Linux drivers specific code moved to ...
                   15570:        * linuxdev/Makefrag: ... here.
                   15571:        * i386/Files: Recreated.
                   15572:        * i386/Subdirs: Likewise.
                   15573:        * linuxdev/drivers: New directory.
                   15574:        * linuxdev/arch: Likewise.
                   15575:        * linuxdev/arch/i386: Likewise.
                   15576:        * linuxdev/{block,scsi,net,pci}: Moved to ...
                   15577:        * linuxdev/drivers/{block,scsi,net,pci}: ... here.
                   15578:        * i386/{Drivers.in,device-drivers.h.in,driverlist.in}: Moved to ...
                   15579:        * linuxdev/{Drivers.in,device-drivers.h.in,driverlist.in}: ... here.
                   15580:        * linuxdev/{linux_emul.h,linux_*.c}: Moved to ...
                   15581:        * linuxdev/arch/i386/{linux_emul.h,linux_*.c}: ... here.
                   15582:        * linuxdev/arch/i386/linux_block.c: Include <linux_emul.h>, instead
                   15583:        of <i386at/gpl/linux/linux_emul.h>.
                   15584:        * linuxdev/arch/i386/linux_init.c: Likewise.
                   15585:        * linuxdev/arch/i386/linux_kmem.c: Likewise.
                   15586:        * linuxdev/arch/i386/linux_misc.c: Likewise.
                   15587:        * linuxdev/arch/i386/linux_net.c: Likewise.
                   15588:        * linuxdev/arch/i386/linux_sched.c: Likewise.
                   15589:        * device/ds_routines.c: Include <linuxdev/device-drivers.h>, instead
                   15590:        of <i386/device-drivers.h>.
                   15591:        * linuxdev/arch/i386/linux_init.c: Likewise.
                   15592:        * linuxdev/include/linux/autoconf.h: Likewise.
                   15593:        * Makefile.in: Include $(srcdir)/linuxdev/Makefrag.
                   15594:        * linuxdev/Drivers.in (AC_INIT): Use include/linux/autoconf.h,
                   15595:        instead of i386/i386asm.sym.
                   15596: 
                   15597: 1998-10-28  Roland McGrath  <[email protected]>
                   15598: 
                   15599:        * include/mach/multiboot.h: Contents were doubled.
                   15600: 
                   15601: 1998-10-24  Roland McGrath  <[email protected]>
                   15602: 
                   15603:        * Makefile.in (mach_machine): Don't depend on config.status, since it
                   15604:        is always newer than the symlink target.
                   15605: 
                   15606:        * i386/Makefrag ($(systype)/device-drivers.h): Depend on
                   15607:        $(systype)/driverlist, and have no commands.
                   15608: 
                   15609:        * configure.in (--enable-kdb): Fix help text; handle --disable-kdb.
                   15610:        Remove BUILD_CC checks and lex/yacc checks (which were for mig).
                   15611:        (installed_clib): Remove these checks.
                   15612:        (LD, NM, MIG): Use AC_CHECK_TOOL for these.
                   15613: 
                   15614:        * Makefile.in (all, clean, mostlyclean, install, dist,
                   15615:        %_interface.h rule, all *mig* rules): Remove all commands, deps,
                   15616:        and rules related to mig, which is now in a separate distribution.
                   15617: 
                   15618:        * Makefile.in (before-compile): Add mach/machine.
                   15619:        (mach/machine, mach_machine): New rules to make symlink so
                   15620:        #include <mach/machine/foo.h> works.
                   15621: 
                   15622:        * Makefile.in (NM): New variable, substituted by configure.
                   15623:        (check-clib-routines): Use $(NM) instead of literal "nm".
                   15624:        Fix awk script to grok __ defns and weak defns of desired symbols.
                   15625:        (clib-routines.o): Use $(CC) -r -nostartfiles -nostdlib -static
                   15626:        instead of $(LD) -r.  Use -lc instead of $(installed-clib).
                   15627:        (installed-clib): Variable removed.
                   15628: 
                   15629:        * i386/Makefrag: Use -include for linux-flags, so no warning.
                   15630: 
                   15631:        * device/chario.c: Add forward decl for ttstart.
                   15632: 
                   15633:        * i386/i386/db_trace.c: Use explicit int in decl.
                   15634: 
                   15635:        * device/ds_routines.c (device_write_trap, device_writev_trap,
                   15636:        ds_trap_write_done): Cast arg to zfree.
                   15637: 
                   15638:        * kern/ipc_tt.c (mach_ports_lookup): Remove unnecessary cast.
                   15639: 
                   15640: 1998-10-04  Roland McGrath  <[email protected]>
                   15641: 
                   15642:        * include/mach/message.h: Use __typeof instead of typeof.
                   15643: 
                   15644: 1998-09-06  Roland McGrath  <[email protected]>
                   15645: 
                   15646:        * kern/time_out.h: Include <mach/time_value.h> for time_value_t defn.
                   15647: 
                   15648: 1998-07-19  Roland McGrath  <[email protected]>
                   15649: 
                   15650:        * mig: Subdirectory removed, now in separate dist.
                   15651: 
                   15652: Fri Apr 24 14:24:15 1998  Thomas Bushnell, n/BSG  <[email protected]>
                   15653: 
                   15654:        * i386/i386/pcb.c (thread_setstatus): Set STATE before validating
                   15655:        segment registers.  Reported by UCHIYAMA Fasushi ([email protected]).
                   15656: 
                   15657: Fri Apr 24 13:19:40 1998  Thomas Bushnell n/BSG  <[email protected]>
                   15658: 
                   15659:        * kern/debug.c (panic): Increase "seconds" in delay to 1000; machines
                   15660:        are faster now.
                   15661: 
                   15662:        * i386/i386at/gpl/linux/linux_kmem.c: Increase MEM_CHUNKS to 7.
                   15663: 
                   15664: Wed Aug 20 16:05:19 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15665: 
                   15666:        * kern/thread.h (struct thread): New member `creation_time'.
                   15667:        * include/mach/thread_info.h: New member `creation_time'.
                   15668:        * kern/thread.c (thread_create): Set creation time stamp.
                   15669:        (thread_info) [THREAD_BASIC_INFO]: Fill in new creation time
                   15670:        field.  Carefully preserve compatibility with old callers.
                   15671: 
                   15672:        * kern/task.h (struct task): New member `creation_time'.
                   15673:        * include/mach/task_info.h: New member `creation_time'.
                   15674:        * kern/task.c (task_create): Set creation time stamp.
                   15675:        (task_info) [TASK_BASIC_INFO]: Fill in new creation time field.
                   15676:        Carefully preserve compatibility with old callers.
                   15677: 
                   15678:        * kern/mach_clock.c (record_time_stamp): New function.
                   15679:        * kern/time_out.h (record_time_stamp): Add prototype.
                   15680: 
                   15681: Sun Aug  3 18:25:38 1997  Shantanu Goel  <[email protected]>
                   15682: 
                   15683:        * i386/i386/thread.h (struct pcb): Added new field `data' used
                   15684:        by Linux driver emulation.
                   15685: 
                   15686:        * i386/i386at/gpl/linux/include/linux/blk.h (end_request):
                   15687:        Revamped Mach specific code.  Don't use `errors' field in request.
                   15688:        Don't call driver's request function.
                   15689: 
                   15690:        * i386/i386at/gpl/linux/include/linux/fs.h (struct buffer_head):
                   15691:        Deleted old Mach-specific definition.  Use original Linux defintion.
                   15692: 
                   15693:        * i386/i386at/gpl/linux/linux_block.c:  Rewritten extensively.
                   15694:        (collect_buffer_pages): Deleted.
                   15695:        (alloc_buffer, free_buffer): Rewritten to use Mach page allocator.
                   15696:        (getblk, __brelse): Use Mach kernel allocator.
                   15697:        (check_for_error): Deleted.
                   15698:        (ll_rw_block): Allocate request structure on stack.
                   15699:        (rdwr_partial, rdwr_full, do_rdwr) New routines.
                   15700:        (block_read, block_write): Rewritten to use new routine do_rdwr.
                   15701:        (find_name): New routine.
                   15702:        (read_bsd_label, read_vtoc): New routines.
                   15703:        (init_partition): New routine.
                   15704:        (device_open): Rewritten for modularity.  Allocate Linux block
                   15705:        variables on the stack.
                   15706:        (check_limit): New routine.
                   15707:        (device_read, device_write): Rewritten extensively.  Map user
                   15708:        pages into kernel buffer before passing to driver.  This is in
                   15709:        preparation for general Linux block driver support.  Allocate
                   15710:        Linux block variables on the stack.
                   15711: 
                   15712:        * i386/i386at/gpl/linux/linux_kmem.c:
                   15713:        (collect_buffer_pages): Deleted.
                   15714: 
                   15715: Fri Aug  1 16:15:33 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15716: 
                   15717:        * kern/mach_clock.c (clock_interrupt): Test correct macro to see
                   15718:        if PC sampling is configured: MACH_PCSAMPLE, not MACH_SAMPLE.
                   15719: 
                   15720:        * i386/i386/locore.S (discover_x86_cpu_type): Comment out routine
                   15721:        for now.
                   15722:        * i386/i386at/model_dep.c (c_boot_entry): Comment out use of
                   15723:        discover_x86_cpu_type for now.
                   15724: 
                   15725:        * i386/include/mach/i386/eflags.h (EFL_AC, EFL_ID): New bits.
                   15726: 
                   15727:        * i386/i386/locore.S (discover_x86_cpu_type): Use correct opcode
                   15728:        for right shift.  Use ENTRY macro correctly.
                   15729: 
                   15730: Mon Jul 28 17:01:19 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15731: 
                   15732:        * COPYING: New file.
                   15733:        * Makefile.in (topfiles): Add COPYING.
                   15734: 
                   15735: Mon Jul 21 14:20:39 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15736: 
                   15737:        * kern/mach4.srv: Include <mach_pcsample.h> so the value of
                   15738:        MACH_PCSAMPLE is made available for mach4.defs.
                   15739: 
                   15740: Thu Jul 10 13:51:20 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15741: 
                   15742:        * Makefile.in (install): Use `ln -sf' instead of `-ln -s'.
                   15743:        Suggested by Marcus G. Daniels ([email protected]).
                   15744: 
                   15745: Thu Jun 26 13:48:31 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15746: 
                   15747:        * i386/i386/locore.S (discover_x86_cpu_type): New function.
                   15748:        * i386/i386at/model_dep.c (c_boot_entry): Fill in cpu type in
                   15749:        MACHINE_SLOT using new function.
                   15750: 
                   15751:        * include/mach/machine.h (CPU_TYPE_I486, CPU_TYPE_PENTIUM,
                   15752:        CPU_TYPE_PENTIUMPRO, CPU_TYPE_POWERPC): New CPU types.  These
                   15753:        conform to current OSF Mach values, but note that some of the
                   15754:        various subtypes are different.
                   15755: 
                   15756: Mon Jun 16 12:14:17 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15757: 
                   15758:        * i386/i386/loose_ends.c (ovbcopy): Delete function.  Suggested by
                   15759:        Matthew Wilcox ([email protected].)
                   15760: 
1.1.1.3   root     15761: Thu Jun 12 18:08:29 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15762: 
                   15763:        Version 1.1.3 released.
1.1.1.4   root     15764: 
1.1.1.3   root     15765:        * version.c (version): Update to 1.1.3.
                   15766: 
                   15767: Wed Jun 11 20:16:47 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15768: 
                   15769:        * i386/Drivers.in: Add el3.  How did this escape notice?
                   15770:        * i386/device-drivers.h.in: Add CONFIG_EL3.
                   15771: 
1.1.1.2   root     15772: Tue Jun 10 13:33:37 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15773: 
1.1.1.3   root     15774:        Version 1.1.2 released.
1.1.1.4   root     15775: 
1.1.1.2   root     15776:        * Makefile.in (install): Install cross-migcom as `migcom', not as
1.1.1.4   root     15777:        `mig'.
1.1.1.2   root     15778: 
                   15779:        * i386/Makefrag (objfiles += $(device_drivers)): Sort
                   15780:        $(device_drivers) before adding to objfiles in order to remove
1.1.1.4   root     15781:        duplicates.
1.1.1.2   root     15782: 
                   15783: Mon Jun  9 22:14:09 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15784: 
                   15785:        * i386/Drivers.in: Fix typos apt.o -> atp.o; 3c403.o -> 3c503.o.
1.1.1.4   root     15786: 
1.1.1.2   root     15787:        * Drivers.macros (AC_DRIVER): Test the class selected flag
1.1.1.4   root     15788:        correctly.
                   15789: 
1.1.1.2   root     15790: Mon May 26 14:33:19 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15791: 
                   15792:        * version.c (version): Update to version 1.1.2.
                   15793: 
                   15794: Fri May 23 10:08:48 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15795: 
                   15796:        * kern/thread.c (thread_info): Set flags word correctly;
                   15797:        TH_FLAGS_SWAPPED and TH_FLAGS_IDLE are not exclusive.
                   15798: 
                   15799:        * Makefile.in (topfiles): Add aclocal.m4.
                   15800:        Reported by Marcus G. Daniels ([email protected]).
1.1.1.4   root     15801: 
1.1.1.2   root     15802: Mon May 12 11:25:38 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15803: 
                   15804:        Version 1.1.1 released.
1.1.1.4   root     15805: 
1.1.1.2   root     15806:        * version.c (version): Update to version 1.1.1.
                   15807: 
                   15808:        * bogus/mach_kdb.h: Make sure MACH_KDB is always defined, to zero
                   15809:        if necessary.  Bug report from Marcus Daniels
1.1.1.4   root     15810:        ([email protected]).
1.1.1.2   root     15811: 
                   15812: Fri May  9 13:06:25 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15813: 
                   15814:        * i386/Files: Fix typo for _setjmp.S.
                   15815:        Reflect 53c7,8xx.c -> 53c78xx.c change.
                   15816: 
                   15817: Wed May  7 15:32:08 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15818: 
                   15819:        * version.c (version): Update to version 1.1.
                   15820:        * NEWS: New file.
                   15821:        * Makefile.in (topfiles): Add NEWS.
                   15822: 
                   15823: Mon May  5 11:34:01 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15824: 
                   15825:        * Makefile.in (enable_kdb): Use findstring instead of filter.
                   15826:        Reported by Marcus Daniels ([email protected]).
                   15827: 
                   15828: Fri May  2 12:43:46 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15829: 
                   15830:        * Makefile.in (enable_kdb): New variable.
                   15831:        (clib-routines): If enable_kdb, then add strstr.
                   15832:        * i386/i386/_setjmp.S: New file, from UK22 libmach.
                   15833:        * i386/Files: Add i386/i386/_setjmp.S.
                   15834:        * i386/Makefrag (objfiles): Add _setjmp.o if enable_kdb.
1.1.1.4   root     15835: 
1.1.1.2   root     15836: 1997-04-30  Marcus G. Daniels  <[email protected]>
                   15837: 
                   15838:        * Makefile.in (clib-routines): Add htons not because it is necessary,
                   15839:        but because libc5 systems will bring it in.
                   15840:        (check-clib-routines): Tolerate extra weak symbols.
                   15841: 
                   15842: Wed Apr 30 14:12:12 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15843: 
                   15844:        * Makefile.in: Delete duplicate rule for cross-mig.
                   15845: 
                   15846: Mon Apr 28 12:09:53 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15847: 
                   15848:        * Makefile.in (check): New target.  Reported by
1.1.1.4   root     15849:        [email protected].
1.1.1.2   root     15850: 
                   15851:        * i386/Drivers.in (ncr53c7xx): Change file name to 53c78xx.o.
                   15852:        * i386/i386at/gpl/linux/scsi/53c7,8xx.c: Moved to ...
                   15853:        * i386/i386at/gpl/linux/scsi/53c78xx.c: ... here.
                   15854:        * i386/Makefrag (linux-scsi-files): Change file name here too.
                   15855:        Reported by [email protected].
                   15856: 
                   15857: Wed Apr 23 14:35:44 1997  Miles Bader  <[email protected]>
                   15858: 
                   15859:        * ipc/ipc_entry.c [MACH_KDB]: Add include of <kern/task.h>.
                   15860: 
                   15861: Wed Apr 23 13:21:23 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15862: 
                   15863:        * configure.in (BUILD_CC): Use AC_CHECK_PROGS, not AC_CHECK_PROG,
                   15864:        since we are checking multiple names.
                   15865: 
                   15866:        * configure.in (kdb): New --enable option.
                   15867:        * Makefile.in (DEFINES): Add @DEFS@.
                   15868:        * bogus/mach_kdb.h: Make this file zero length; we get MACH_KDB
                   15869:        from configure now.
                   15870: 
                   15871:        * Makefile.in (clean, distclean, mostlyclean, maintainter-clean):
1.1.1.4   root     15872:        New targets.
                   15873:        (all-archs-configures): New variable.
1.1.1.2   root     15874:        (MIG): Change to ./local-mig.
                   15875:        (./local-mig): Change to build this instead of ./mig
                   15876:        (check-clib-routines): Use nm -g in case there are local symbols.
1.1.1.4   root     15877:        Suggested by Matthew Wilcox ([email protected]).
1.1.1.2   root     15878: 
                   15879: Fri Apr 18 15:25:10 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15880: 
                   15881:        * configure.in: Add AC_PREREQ for version 2.12.
                   15882:        * i386/Drivers.in: Likewise.
                   15883: 
                   15884: Wed Apr 16 16:55:36 1997  Marcus G. Daniels  <[email protected]>
                   15885: 
                   15886:        * configure.in: Replace AC_PROG_CC with AC_PROG_CC_LOCAL.
                   15887:        If cross compiling do Lex/Yacc checks with BUILD_CC.
1.1.1.6   root     15888:        Check CC and BUILD_CC for libraries having the needed support,
1.1.1.2   root     15889:        and substitute discovery in installed_clib.
                   15890: 
                   15891:        * aclocal.m4: New file.  These replacement macros are to handle
                   15892:        the case where there is a cross compiler but no supporting files.
                   15893: 
                   15894:        * Makefile.in (installed-clib): Don't hardwire a Hurd libcrt.a.
                   15895:        (cross_linkable): Only define cross-migcom variable when it will
                   15896:        be possible to build it.
                   15897:        (all, install): Use $(cross-migcom).
                   15898:        (install): Install cross-migcom only if was to be built.
1.1.1.4   root     15899:        (mkinstalldirs): Add $(bindir), $(includedir)/mach/exec
1.1.1.2   root     15900:        (cross-lexxer.o lexxer.o): lexxer.o needs cpu.h.
                   15901:        (./cross-migcom): Prevent dependency generation for cross-* MiG files
                   15902:        unless they can actually be built.
                   15903: 
                   15904: Thu Apr 17 15:55:40 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15905: 
                   15906:        * kern/exception.c (exception_no_server): Comment out the suspend
                   15907:        code; it's useful for special case debugging, but causes problems
                   15908:        in general.
                   15909: 
                   15910: Wed Apr 16 12:52:25 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15911: 
                   15912:        * Makefile.in (cross-lexxer.o lexxer.o): Add pump-priming
                   15913:        dependency on cpu.h.  Reported by Marcus G. Daniels
1.1.1.4   root     15914:        ([email protected]).
1.1.1.2   root     15915: 
                   15916:        * configure.in: Fail if configure target is not for GNU os.
                   15917: 
                   15918:        * i386/Drivers.in (com): Delete option.  It's required by
                   15919:        kd_mouse.c.
                   15920:        * i386/Makefrag (i386at-files): Add com.c.
                   15921:        (driver-files): Delete variable.
                   15922:        * i386/bogus/com.h: Revert change of March 10.
                   15923:        * i386/device-drivers.h.in (CONFIG_MACH_COM): Delete option.
                   15924:        Bug report from Marcus G. Daniels ([email protected]).
1.1.1.4   root     15925: 
                   15926:        * Makefile.in (./cross-mig): New rule.
1.1.1.2   root     15927:        (mkinstalldirs): Add $(libexecdir).
1.1.1.4   root     15928:        * configure.in: Recognize i686.
1.1.1.2   root     15929:        Reported by Marcus G. Daniels ([email protected]).
                   15930: 
1.1       root     15931: Mon Apr 14 11:50:45 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15932: 
1.1.1.4   root     15933:        * Released version 1.0.
                   15934: 
1.1       root     15935:        * kern/exception.c (exception_no_server): Try and suspend the
                   15936:        failing thread before killing the task.  Then a debugger can be
1.1.1.4   root     15937:        used.
1.1       root     15938: 
                   15939:        * i386/Makefrag: Add rebuilding rules for configure subscript.
                   15940: 
                   15941:        * i386/Makefrag: Fix up copyright notice.
                   15942:        * i386/Drivers.in: Likewise.
                   15943:        * Makefile.in: Likewise.
                   15944:        * Drivers.macros: Likewise.
                   15945:        * configure.in: Likewise.
                   15946: 
                   15947:        * include/sys/time.h: New file, from include/mach/sa/sys/time.h.
                   15948:        * include/sys/reboot.h: New file, from include/mach/sa/sys/reboot.h.
                   15949:        * include/sys/ioctl.h: New file, from include/mach/sa/sys/ioctl.h.
                   15950:        * include/alloca.h: New file, from include/mach/sa/alloca.h.
                   15951:        * Makefile.in (other-sys-headers): Add time.h, ioctl.h, and reboot.h.
                   15952:        (other-mach-headers): New variable.
                   15953:        (mach-exec-headers): New variable.
                   15954:        (other-headers): New variable.
                   15955:        (installed-headers): Add mach-exec-headers.
1.1.1.4   root     15956:        (dist): Distribute other-mach-headers, other-sys-headers,
1.1       root     15957:        mach-exec-headers, and other-headers.
                   15958:        (device-files): Add device.srv.
1.1.1.4   root     15959: 
1.1       root     15960:        * Makefile.in (check-clib-routines): Use more efficient rule.
                   15961: 
                   15962: Fri Apr 11 15:18:09 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15963: 
                   15964:        * Makefile.in (dist): Repair rule.
                   15965:        (other-sys-headers): New variable.
                   15966:        (dist): Install $(other-sys-headers).
                   15967:        (INCLUDES): Remove -I$(srcdir)/include/mach/sa.
                   15968:        (rules for mig-related .d files): Include MiG-specific -I flags.
                   15969:        (mach-headers): Add inline.h.
                   15970:        * include/sys/types.h: New file, from include/mach/sa/sys/types.h.
                   15971: 
                   15972: Mon Mar 24 16:23:21 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15973: 
                   15974:        * version.c (version): Make that 1.0.  Whee.
                   15975: 
                   15976: Fri Mar 21 15:50:09 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15977: 
                   15978:        * i386/i386at/gpl/linux/scsi/aha1740.c (aha1740_test_port): Try
1.1.1.6   root     15979:        and turn on PORTADDR_ENH before checking it.
1.1       root     15980: 
1.1.1.4   root     15981:        * vm/vm_object.c (vm_object_cached_max): Increase to 200.
1.1       root     15982: 
                   15983: Thu Mar 20 12:33:06 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   15984: 
                   15985:        * Makefile.in (dist): New target.  Reorganized some vars
                   15986:        describing source.
                   15987:        * i386/Subdirs: New file.
                   15988:        * i386/Files: New file.
                   15989: 
                   15990:        * version.c (version): Push back to 0.1.
                   15991: 
                   15992:        * Makefile.in (cross_compiling, bindir, libexecdir): New
1.1.1.4   root     15993:        variable.
                   15994: 
1.1       root     15995:        * Makefile.in (install): Depend on cross-mig and cross-migcom;
                   15996:        install them.  New rules added to build mig, migcom, cross-mig,
                   15997:        and cross-migcom.
1.1.1.4   root     15998: 
1.1       root     15999:        * configure.in (AC_PROG_LEX, AC_PROG_YACC): New tests.
                   16000:        (BUILD_CC): New test to set these.
                   16001: 
                   16002:        * Makefile.in (%.h %_user.c): Depend on $(MIG) too.
                   16003:        (%_interface.h %_server.c): Likewise.
                   16004:        (MIG): Don't use @MIG@; hard code it to the one we build.
                   16005:        (BUILD_CC, BUILD_CFLAGS, MIGCOM, LEX, YACC, LEXLIB): New variables.
1.1.1.4   root     16006: 
1.1       root     16007: Wed Mar 19 16:47:28 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   16008: 
                   16009:        * i386/i386at/kd.c (BROKEN_KEYBOARD_RESET): Turn off this so that
                   16010:        we attempt the keyboard resets.
                   16011:        * i386/i386/locore.S (cpu_shutdown): Attempt to provide a more
1.1.1.4   root     16012:        `robust' null_idtr.
1.1       root     16013: 
                   16014: Mon Mar 17 13:47:14 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   16015: 
                   16016:        * i386/i386at/gpl/linux/scsi/hosts.c (scsi_init): Don't print out
                   16017:        gratuitious obnoxiousness.
                   16018:        * i386/i386at/gpl/linux/scsi/scsi.c (scsi_dev_init): Likewise.
                   16019:        * i386/i386at/gpl/linux/block/triton.c (ide_init_triton):
1.1.1.4   root     16020:        Likewise.
1.1       root     16021:        (init_triton_dma): Likewise.
                   16022:        * i386/i386at/gpl/linux/pci/pci.c (pci_init): Likewise.
                   16023:        * i386/i386at/gpl/linux/pci/bios32.c (check_pcibios): Likewise.
                   16024:        (pcibios_init): Likewise.
                   16025:        * i386/i386at/gpl/linux/block/genhd.c (add_partition): Likewise.
                   16026: 
                   16027:        * i386/i386at/gpl/linux/net/8390.c (ei_debug): Make default value
1.1.1.4   root     16028:        zero.
1.1       root     16029: 
                   16030: Wed Mar 12 14:50:46 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   16031: 
                   16032:        * i386/i386at/com.c (comprobe): Turn off noisiness.
                   16033: 
                   16034:        * i386/i386at/gpl/linux/linux_block.c (check_disk_change): Don't
                   16035:        print out gratuitous obnoxiousness.
                   16036:        (device_open): Likewise.
                   16037:        * kern/bootstrap.c (copy_bootstrap): Likewise.
                   16038:        (user_bootstrap): Likewise.
                   16039:        * i386/i386at/gpl/linux/block/genhd.c (msdos_partition): Likewise.
                   16040:        (osf_partition): Likewise.
                   16041:        (sun_partition): Likewise.
                   16042:        (check_partition): Likewise.
                   16043:        * i386/i386/pit.c (findspeed): Likewise.
                   16044:        * vm/vm_resident.c (vm_page_bootstrap): Likewise.
                   16045: 
                   16046: Mon Mar 10 15:04:47 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   16047: 
                   16048:        * i386/i386at/gpl/linux/linux_init.c (calibrate_delay): Don't
                   16049:        print out gratuitous obnoxiousness.
1.1.1.4   root     16050: 
1.1       root     16051:        * i386/i386at/gpl/linux/linux_init.c (linux_init): Only call
                   16052:        linux_net_emulation_init if CONFIG_INET.  Include
1.1.1.4   root     16053:        <i386/device-drivers.h>.
1.1       root     16054: 
                   16055:        * i386/i386at/i386at_ds_routines.c: Include
                   16056:        <i386/device-drivers.h>.  Don't mention linux_net_emulation_ops
                   16057:        unless CONFIG_INET.
                   16058: 
                   16059:        * device/ds_routines.c (io_done_thread_continue): [i386]
1.1.1.6   root     16060:        Conditionalize free_skbuffs also on CONFIG_INET.  Include
                   16061:        <i386/device-drivers.h>.
1.1       root     16062: 
                   16063:        * i386/Drivers.in, i386/device-drivers.h.in, i386/driverlist.in:
                   16064:        New files.
                   16065:        * i386/Makefrag: Include i386/driverlist; don't include all device
                   16066:        drivers in kernel image; instead use list from driverlist.
                   16067:        * configure.in: Configure in $systype subdir too.
1.1.1.4   root     16068: 
1.1       root     16069:        * i386/i386at/gpl/linux/include/linux/autoconf.h: Damage severly
                   16070:        to conform to device-drivers.h model.
                   16071: 
                   16072:        * i386/bogus/com.h: Include <i386/device-drivers.h>.
                   16073:        Only turn on NCOM if CONFIG_MACH_COM is present.
                   16074: 
                   16075: Mon Mar  3 16:26:58 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   16076: 
                   16077:        * include/mach/message.h (__mach_msg, __mach_msg_trap): Add decls.
                   16078: 
                   16079: Tue Feb 25 15:42:23 1997  Thomas Bushnell, n/BSG  <[email protected]>
                   16080: 
                   16081:        * i386/Makefrag (INCLUDES): Find `include' directory in new
1.1.1.4   root     16082:        location.
1.1       root     16083:        * Makefile (INCLUDES): Find `include' directory in new location.
                   16084:        (%.symc): Find gensym.awk in new location.
1.1.1.4   root     16085: 
1.1       root     16086:        * Reorganized directories into new layout and unified mach4 and
                   16087:        mach4-i386 into a single tree.
                   16088: 
                   16089: 
                   16090: Older changes in ChangeLog.00 (for i386 directory) and ChangeLog.0 (for
1.1.1.4   root     16091: all other files).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.