|
|
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).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.