summaryrefslogtreecommitdiff
path: root/ipc
AgeCommit message (Collapse)Author
2013-11-24Export mach_port_destroy declarationRichard Braun
* ipc/mach_port.h (mach_port_destroy): Add prototype.
2013-11-20ipc/ipc_print.h: include ipc/ipc_pset.h for ipc_pset_tMarin Ramesa
* ipc/ipc_print.h: Include ipc/ipc_pset.h for ipc_pset_t.
2013-11-19Add copyrightMarin Ramesa
* ddb/db_write_cmd.h: Add copyright. * ipc/ipc_print.h: Likewise. * vm/vm_print.h: Likewise.
2013-11-18Add ifndefsMarin Ramesa
Finish up with the addition of ifndefs. * device/buf.h: Add ifndef. * device/dev_master.h: Likewise. * include/device/tty_status.h: Likewise. * include/mach/version.h: Likewise. * ipc/ipc_machdep.h: Likewise.
2013-11-11ipc: remove register qualifiersMarin Ramesa
* ipc/ipc_thread.h: Remove register qualifiers.
2013-11-11ipc: remove register qualifiersMarin Ramesa
* ipc/mach_msg.c: Remove register qualifiers.
2013-11-11ipc: qualify constants with constMarin Ramesa
* ipc/ipc_table.c: Qualify constants with const.
2013-11-11ipc: trivial stylistic fix for consistencyMarin Ramesa
* ipc/ipc_pset.c: Trivial stylistic fix for consistency.
2013-11-11ipc: remove register qualifiersMarin Ramesa
* ipc/ipc_kmsg.c: Remove register qualifiers.
2013-07-18ipc: organize ipc print function prototypesMarin Ramesa
* ipc/ipc_print.h: New file. [MACH_KDB] Include <mach/mach_types.h>. [MACH_KDB] Include <mach/message.h>. [MACH_KDB] Include <ipc/ipc_types.h>. (ipc_port_print): Add prototype. (ipc_pset_print): Likewise. (ipc_kmsg_print): Likewise. (ipc_msg_print): Likewise. * ipc/ipc_port.h (ipc_port_print): Remove prototype. * ipc/ipc_port.c [MACH_KDB]: Include <ipc/ipc_print.h>. * ipc/ipc_pset.h (ipc_pset_print): Remove prototype. * ipc/ipc_pset.c [MACH_KDB]: Include <ipc/ipc_print.h>. * ipc/ipc_kmsg.c [MACH_KDB]: Include <ipc/ipc_print.h>.
2013-06-02Remove unused variableMiguel Figueiredo
* ipc/mach_port.c (mach_port_set_syscall_right): Remove unused variable.
2013-01-13Add statistics for task_events_infoDavid Höppner
* ipc/ipc_mqueue.c (ipc_mqueue_send, ipc_mqueue_receive): Increment counters for message sent and received. * kern/ipc_kobject.c (ipc_kobject_server): Increment sent and received counters for the kernel task. * kern/task.c (task_create): Zero statistics. * kern/task.c (task_info): Add task_events_info call. * kern/task.h: Add statistics. * vm/vm_fault.c (vm_fault_page): Increment zero_fills, pageins, reactivations and cow_faults counters. * vm/vm_fault.c (vm_fault_wire_fast): Increment faults counters. * vm/vm_pageout.c (vm_pageout_scan): Increment reactivations counter.
2013-01-04Fix compilation warning implicit function declaration kdbprintfDavid Höppner
When kernel debugger support is requested ipc and vm need the prototype for the debugger function kdbprintf. * ddb/db_output.h: Add prototype for kdbprintf. * ipc/ipc_object.c: Add include file ddb/db_output.h * ipc/ipc_port.c: Likewise. * ipc/ipc_pset.c: Likewise. * vm/vm_map.c: Likewise. * vm/vm_object.c: Likewise. * vm/vm_resident.c: Likewise.
2012-08-24Store threads waiting on a message queue in LIFO orderRichard Braun
* ipc/ipc_thread.h (ipc_thread_enqueue_macro): Insert thread at the head of the list instead of the tail.
2012-07-07Merge kalloc_map into kmem_mapRichard Braun
* ipc/ipc_table.c: Add #include <kern/slab.h>. (ipc_table_alloc): Use kmem_map instead of kalloc_map when allocating a table. (ipc_table_realloc): Likewise for reallocation. (ipc_table_free): Likewise for release. * kern/kalloc.h (kalloc_map): Remove declaration. * kern/slab.c (KMEM_MAP_SIZE): Increase to 128 MiB. (KALLOC_MAP_SIZE): Remove macro. (kalloc_map_store): Remove variable. (kalloc_map): Likewise. (kalloc_pagealloc): Use kmem_map instead of kalloc_map for general purpose allocations. (kalloc_pagefree): Likewise. (kalloc_init): Remove the creation of kalloc_map.
2012-03-09Use unsigned long for addresses and sizesSamuel Thibault
TODO: remonter formats * i386/include/mach/i386/vm_types.h (vm_offset_t): Define to unsigned long. (signed32_t): Define to signed int. (unsigned32_t): Define to unsigned int. * i386/include/mach/sa/stdarg.h (__va_size): Use sizeof(unsigned long)-1 instead of 3. * include/mach/port.h (mach_port_t): Define to vm_offset_t instead of natural_t. * include/sys/types.h (size_t): Define to unsigned long instead of natural_t. * linux/src/include/asm-i386/posix_types.h (__kernel_size_t): Define to unsigned long. (__kernel_ssize_t): Define to long. * linux/src/include/linux/stddef.h (size_t): Define to unsigned long. * device/dev_pager.c (dev_pager_hash): Cast port to vm_offset_t insted of natural_t. (device_pager_data_request): Fix format. * device/ds_routines.c (ds_no_senders): Fix format. * i386/i386/io_map.c (io_map): Likewise. * i386/i386at/autoconf.c (take_dev_irq): Likewise. * i386/i386at/com.c (comattach): Likewise. * i386/i386at/lpr.c (lprattach): Likewise. * i386/i386at/model_dep.c (mem_size_init, mem_size_init, c_boot_entry): Likewise. * i386/intel/pmap.c (pmap_enter): Likewise. * ipc/ipc_notify.c (ipc_notify_port_deleted, ipc_notify_msg_accepted, ipc_notify_dead_name): Likewise. * ipc/mach_port.c (mach_port_destroy, mach_port_deallocate): Likewise. * kern/ipc_kobject.c (ipc_kobject_destroy): Likewise. * kern/slab.c (kalloc_init): Likewise. * vm/vm_fault.c (vm_fault_page): Likewise. * vm/vm_map.c (vm_map_pmap_enter): Likewise. * xen/block.c (device_read): Likewise. * device/net_io.c (bpf_match): Take unsigned long * instead of unsigned int *. (bpf_do_filter): Make mem unsigned long instead of long. * i386/i386/ktss.c (ktss_init): Cast pointer to unsigned long instead of unsigned. * i386/i386/pcb.c (stack_attach, switch_ktss): Cast pointers to long instead of int. * i386/i386/trap.c (dump_ss): Likewise. * ipc/ipc_hash.c (IH_LOCAL_HASH): Cast object to vm_offset_t. * ipc/mach_msg.c (mach_msg_receive, mach_msg_receive_continue): Cast kmsg to vm_offset_t instead of natural_t. * kern/pc_sample.c (take_pc_sample): Cast to vm_offset_t instead of natural_t. * kern/boot_script.c (sym, arg): Set type of `val' field to long instead of int. (create_task, builtin_symbols, boot_script_parse_line, boot_script_define_function): Cast to long instead of int. * kern/bootstrap.c (bootstrap_create): Likewise. * kern/sched_prim.c (decl_simple_lock_data): Likewise. * kern/printf.c (vsnprintf): Set size type to size_t. * kern/printf.h (vsnprintf): Likewise. * vm/vm_map.h (kentry_data_size): Fix type to vm_size_t. * vm/vm_object.c (vm_object_pmap_protect_by_page): Fix size parameter type to vm_size_t.
2012-01-09Improve ipc hash/marequest init readabilityRichard Braun
Use macros instead of raw numeric values. * ipc/ipc_hash.h (IPC_HASH_GLOBAL_SIZE): New macro. * ipc/ipc_hash.c (ipc_hash_init): Directly set the global hash table size to IPC_HASH_GLOBAL_SIZE. * ipc/ipc_marequest.h (IPC_MAREQUEST_SIZE): New macro. * ipc/ipc_marequest.c (ipc_marequest_init): Directly set the marequest hash table size to IPC_MAREQUEST_SIZE.
2011-12-17Remove arbitrary limits used by the zone systemRichard Braun
The zone allocator could limit the size of its zones to an arbitrary value set at zinit() time. There is no such parameter with the slab module. As a result of removing those limits, the kern/mach_param.h header becomes empty, and is simply removed altogether. * Makefrag.am (libkernel_a_SOURCES): Remove kern/mach_param.h. * i386/i386/fpu.c: Remove #include <kern/mach_param.h>. * i386/i386/machine_task.c: Likewise. * i386/i386/pcb.c: Likewise. * ipc/ipc_init.c: Likewise. (ipc_space_max): Remove variable. (ipc_tree_entry_max): Likewise. (ipc_port_max): Likewise. (ipc_pset_max): Likewise. * ipc/ipc_init.h (IPC_ZONE_TYPE): Remove macro. (ipc_space_max): Remove extern declaration. (ipc_tree_entry_max): Likewise. (ipc_port_max): Likewise. (ipc_pset_max): Likewise. * ipc/ipc_hash.c (ipc_hash_init): Don't use ipc_tree_entry_max to compute ipc_hash_global_size. * ipc/ipc_marequest.c: Remove #include <kern/mach_param.h>. (ipc_marequest_max): Remove variable. (ipc_marequest_init): Don't use ipc_marequest_max to compute ipc_marequest_size. (ipc_marequest_info): Return (unsigned int)-1 in maxp. * kern/act.c: Remove #include <kern/mach_param.h>. * kern/mach_clock.c: Likewise. * kern/priority.c: Likewise. * kern/task.c: Likewise. * kern/thread.c: Likewise. * vm/memory_object_proxy.c: Likewise. * vm/vm_fault.c: Likewise.
2011-12-17Adjust VM initializationRichard Braun
Unlike the zone allocator, the slab code can't be fed with an initial chunk of memory. Some VM objects used early during startup now have to be statically allocated, and kernel map entries need a special path to avoid recursion when being allocated. * vm/vm_map.c (vm_submap_object_store): New variable. (vm_submap_object): Point to vm_submap_object_store. (kentry_data_size): Initialize to arbitrary value. (kentry_count): Remove variable. (kentry_pagealloc): New function. (vm_map_setup): Likewise. (vm_map_create): Replace initialization with a call to vm_map_setup(). * vm/vm_map.h (vm_map_setup): New prototype. * vm/vm_kern.c (kernel_map_store): New variable. (kernel_map): Point to kernel_map_store. (kmem_suballoc): Remove function. Replaced with... (kmem_submap): New function. (kmem_init): Call vm_map_setup() instead of vm_map_create(). * vm/vm_kern.h (kmem_suballoc): Remove prototype. (kmem_submap): New prototype. * vm/vm_object.c (kernel_object_store): New variable. (kernel_object): Point to kernel_object_store. (vm_object_template): Change type from vm_object_t to struct vm_object. (_vm_object_setup): New function. (_vm_object_allocate): Replace initialization with a call to _vm_object_setup(). (vm_object_bootstrap): Don't allocate vm_object_template, and use it as a structure instead of a pointer. Initialize kernel_object and vm_submap_object with _vm_object_setup() instead of _vm_object_allocate(). * vm/vm_resident.c (vm_page_bootstrap): Don't initialize kentry_data_size. * device/ds_routines.c (device_io_map_store): New variable. (device_io_map): Point to device_io_map_store. (mach_device_init): Call kmem_submap() instead of kmem_suballoc(). * ipc/ipc_init.c (ipc_kernel_map_store): New variable. (ipc_kernel_map): Point to ipc_kernel_map_store.
2011-12-17Adjust the kernel to use the slab allocatorRichard Braun
* device/dev_lookup.c: Replace zalloc header, types and function calls with their slab counterparts. * device/dev_pager.c: Likewise. * device/ds_routines.c: Likewise. * device/io_req.h: Likewise. * device/net_io.c: Likewise. * i386/i386/fpu.c: Likewise. * i386/i386/io_perm.c: Likewise. * i386/i386/machine_task.c: Likewise. * i386/i386/pcb.c: Likewise. * i386/i386/task.h: Likewise. * i386/intel/pmap.c: Likewise. * i386/intel/pmap.h: Remove #include <kernel/zalloc.h>. * include/mach_debug/mach_debug.defs (host_zone_info): Replace routine declaration with skip directive. (host_slab_info): New routine declaration. * include/mach_debug/mach_debug_types.defs (zone_name_t) (zone_name_array_t, zone_info_t, zone_info_array_t): Remove types. (cache_info_t, cache_info_array_t): New types. * include/mach_debug/mach_debug_types.h: Replace #include <mach_debug/zone_info.h> with <mach_debug/slab_info.h>. * ipc/ipc_entry.c: Replace zalloc header, types and function calls with their slab counterparts. * ipc/ipc_entry.h: Likewise. * ipc/ipc_init.c: Likewise. * ipc/ipc_marequest.c: Likewise. * ipc/ipc_object.c: Likewise. * ipc/ipc_object.h: Likewise. * ipc/ipc_space.c: Likewise. * ipc/ipc_space.h: Likewise. * ipc/ipc_table.c (kalloc_map): Remove extern declaration. * kern/act.c: Replace zalloc header, types and function calls with their slab counterparts. * kern/kalloc.h: Add #include <vm/vm_types.h>. (MINSIZE): Remove definition. (kalloc_map): Add extern declaration. (kget): Remove prototype. * kern/mach_clock.c: Adjust comment. * kern/processor.c: Replace zalloc header, types and function calls with their slab counterparts. * kern/startup.c: Remove #include <kernel/zalloc.h>. * kern/task.c: Replace zalloc header, types and function calls with their slab counterparts. * kern/thread.c: Likewise. * vm/memory_object_proxy.c: Likewise. * vm/vm_external.c: Likewise. * vm/vm_fault.c: Likewise. * vm/vm_init.c: Likewise. * vm/vm_map.c: Likewise. * vm/vm_object.c: Likewise. * vm/vm_page.h: Remove #include <kernel/zalloc.h>. * vm/vm_pageout.c: Replace zalloc header, types and function calls with their slab counterparts. * vm/vm_resident.c: Likewise. (zdata, zdata_size): Remove declarations. (vm_page_bootstrap): Don't steal memory for the zone system.
2011-09-28fix copy out-of-line data when length >= 512MBSergio Lopez
* ipc/ipc_kmsg.c (ipc_kmsg_copyin_body): Change length type to unsigned64_t. Cast number to unsigned64_t. (ipc_kmsg_copyout_body): Likewise.
2011-08-22Make ipc_space_zone not exhaustibleSamuel Thibault
Users of ipc_space_create() actually assume that it succeeds. * ipc/ipc_init.c (ipc_bootstrap): Create ipc_space_zone without EXHAUSTIBLE flag.
2011-08-10Do not warn for cross-space spurious port deallocationSamuel Thibault
These are harmless (the target is stopped) and difficult to fix anyway. * ipc/mach_port.c (mach_port_destroy): Do not warn about spurious port deallocation when SPACE is not equal to current_space(). (mach_port_deallocate): Likewise.
2011-08-10Add more spurious deallocation debuggingSamuel Thibault
* ipc/mach_port.c (mach_port_destroy): Print the current space and the target space on spurious deallocation. (mach_port_deallocate): Likewise.
2011-04-24Update constants to nowadays standardsSamuel Thibault
Follow-up to fa6c711d * ipc/ipc_init.c (ipc_kernel_map_size): Increase to 8MiB.
2011-04-23Drop spurious warningSamuel Thibault
* ipc/ipc_entry.c (ipc_entry_get): Do not warn when ipc_entry_get returns KERN_NO_SPACE.
2011-04-22Warn once when part of the kernel is lacking spaceSamuel Thibault
* ipc/ipc_entry.c (ipc_entry_get, ipc_entry_grow_table): Warn when returning KERN_NO_SPACE. * vm/vm_map.c (vm_map_find_entry, vm_map_enter, vm_map_copyout, vm_map_copyout_page_list): Warn when returning KERN_NO_SPACE.
2011-04-20Warn once when part of the kernel is lacking memorySamuel Thibault
* kern/printf.h (printf_once): New macro. * ipc/mach_port.c (mach_port_names, mach_port_get_set_status): Warn when returning KERN_RESOURCE_SHORTAGE. * vm/vm_kern.c: Include printf.h. (kmem_alloc, kmem_realloc, kmem_alloc_wired, kmem_alloc_aligned, kmem_alloc_pageable): Warn when failing. * vm/vm_resident.c (vm_page_grab_contiguous_pages): Warn when returning KERN_RESOURCE_SHORTAGE.
2011-03-14Also warn about mach_port_destroy on invalid portsSamuel Thibault
* ipc/mach_port.c (mach_port_destroy): Warn (and possibly call debugger) when ipc_right_lookup_write didn't find the port name.
2009-12-22Align mach_port_deallocate debug flag with usageSamuel Thibault
* ipc/mach_port.c (debug_mach_port_deallocate): Rename to... (mach_port_deallocate_debug): ... new name, and set volatile to permit live changes from ddb.
2009-12-22Do not systematically debug buggy port deallocationSamuel Thibault
* ipc/mach_port.c (debug_mach_port_deallocation): New variable, set to 0. (mach_port_deallocate): Only call SoftDebugger if debug_mach_port_deallocation is not 0.
2009-12-21Invoke debugger on duplicate port deallocationSamuel Thibault
* ipc/mach_port.c (mach_port_deallocate): Call SoftDebugger if ipc_right_lookup_write was not succcessful and `name' is not MACH_PORT_NULL or MACH_PORT_DEAD.
2009-06-182008-11-05 Shakthi Kannan <shakshurd@gmail.com>Samuel Thibault
* ipc/mach_port.c (mach_port_insert_right): Cast poly into (ipc_object_t) to fix compiler warning when calling ipc_object_copyout_name.
2009-06-182008-07-23 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* device/chario.c (ttyinput_many): Change chars param to char *. * device/tty.h (ttyinput_many): Likewise. * i386/i386/pcb.h: Include <mach/exec/exec.h>. * i386/i386at/autoconf.h: Include <chips/busses.h>. * i386/i386at/model_dep.c (inittodr): Cast &new_time.seconds to u_int *. * ipc/mach_port.c (mach_port_insert_right): Cast poly to ipc_object_t. * ipc/mach_debug.c (host_ipc_hash_info): Initialize size to 0 to make the compiler believe that there is no bug. * ipc/mach_debug.c (mach_port_space_info): Likewise for tree_size and table_size. * i386/i386at/com.c (commctl): Likewise for b. * i386/i386/trap.c (user_trap): Likewise for exc. * i386/i386/user_ldt.c (i386_set_ldt): Likewise for old_copy_object. * i386/i386at/com.c (comintr): Check line_stat&iOR instead of line&iOR.
2009-06-182008-07-23 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* i386/i386/locore.h (copyinmsg, copyoutmsg): Make parameters const void* and void* instead of vm_offset_t. * i386/i386at/com.c (comportdeath): Cast port as ipc_port_t in tty_portdeath call. * i386/i386at/kd.c (kdportdeath): Likewise. * i386/i386at/lpr.c (lprportdeath): Likewise. * i386/i386at/kd_mouse.c (mouse_handle_byte): Cast param to wakeup() as vm_offset_t. * i386/intel/pmap.c (pmap_destroy): Cast arg 2 of kmem_free() to vm_offset_t. * i386/intel/pmap.h: Cast all arg 1 params to kvtophy() to vm_offset_t. * ipc/ipc_kmsg.c: Remove casts from params to copyinmsg and copyoutmsg calls. * ipc/mach_msg.c: Likewise. * kern/exceptions.c: Likewise. * ipc/mach_msg.c: Remove casts from params to copyout calls. * ipc/bootstrap.c: Likewise. * kern/ipc_tt.c (mach_ports_register): Cast memory[i] as ipc_port_t in assignment.
2009-06-18Correct copyright year.Thomas Schwinge
2009-06-182008-07-15 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* device/dev_pager.c (device_pager_data_request, device_pager_data_request_done, device_pager_init_pager): Fix printf formats. * i386/i386/debug_i386.c (dump_ss): Likewise. * i386/i386/trap.c (user_trap): Likewise. * i386/i386at/com.c (comtimer): Likewise. * ipc/ipc_notify (ipc_notify_port_deleted, ipc_notify_msg_accepted, ipc_notify_port_destroyed, ipc_notify_no_senders, ipc_notify_send_once, ipc_notify_dead_name): Likewise. * kern/ipc_kobject.c (ipc_kobject_destroy): Likewise. * kern/sched_prim.c (do_runq_scan): Likewise. * linux/pcmcia-cs/clients/smc91c92_cs.c (smc_start_xmit): Likewise. * linux/src/drivers/net/sundance.c (start_tx): Likewise. * vm/vm_fault.c (vm_fault_page): Likewise. * vm/vm_map.c (vm_map_pmap_enter): Likewise. * vm/vm_object.c (vm_object_collapse): Likewise.
2009-06-182008-07-15 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* ipc/mach_port.h: New header. * ipc/mach_port.c: Include <ipc/mach_port.h>. (mach_port_get_receive_status): Add forward declaration. * kern/bootstrap.c: Include <ipc/mach_port.h>. * kern/ipc_mig.c: Likewise. * kern/syscall_sw.c: Likewise.
2009-06-182008-07-15 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* ipc/ipc_kmsg.c: Include <vm/vm_user.h> and <ipc/ipc_hash.h>. * ipc/ipc_mqueue (ipc_mqueue_copyin): Add prototype. * kern/bootstrap.c: Include <vm/vm_user.h>. * kern/exceptions.c: Include <ipc/ipc_notify.h>. * kern/ipc_kobject.h (ipc_kobject_notify): Add prototype. * kern/ipc_mig.c: Include <device/dev_hdr.h>. * kern/pc_sample.c: Include <machine/trap.h>. * kern/printf.h (safe_gets): Add prototype. * kern/processor.c: Include <kern/ipc_tt.h>. * kern/queue.h (insque): Add prototype. * kern/startup.c: Include <kern/mach_factor.h> and <kern/xpr.h>. * kern/thread.h (thread_start, kernel_thread, thread_priority, thread_set_own_priority, thread_max_priority, thread_policy, consider_thread_collect, stack_privilege): Add prototypes. * kern/timer.h (timer_normalize, timer_init, init_timers): Add prototypes. * vm/vm_map.h (vm_map_lookup_entry, vm_map_entry_delete): Add prototypes.
2009-06-182008-07-15 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* device/net_io.h (net_ast): Add prototype. * ipc/ipc_kmsg.c: Include <device/net_io.h> * kern/ast.c: Include <device/net_io.h>
2009-06-182008-07-15 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* device/ds_routines.c: Include <machine/locore.h> * ipc/ipc_kmsg.c: Likewise. * kern/bootstrap.c: Likewise. * kern/exception.c: Likewise. * kern/ipc_mig.c: Likewise. * kern/sched_prim.c: Likewise. * kern/time_stamp.c: Likewise. * vm/vm_kern.c: Likewise.
2009-06-182007-04-30 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
We're not in the eighties anymore. List arguments in function prototypes and definitions for a lot of symbols. Also drop some unused prototypes. I refrain from listing every changed symbol. * chips/busses.h: Do as described. * ddb/db_break.c: Likewise. * ddb/db_break.h: Likewise. * ddb/db_command.c: Likewise. * ddb/db_command.h: Likewise. * ddb/db_lex.c: Likewise. * ddb/db_lex.h: Likewise. * ddb/db_output.c: Likewise. * ddb/db_output.h: Likewise. * ddb/db_sym.h: Likewise. * ddb/db_task_thread.c: Likewise. * ddb/db_task_thread.h: Likewise. * ddb/db_variables.h: Likewise. * ddb/db_watch.c: Likewise. * ddb/db_watch.h: Likewise. * device/buf.h: Likewise. * device/conf.h: Likewise. * device/dev_hdr.h: Likewise. * device/ds_routines.h: Likewise. * device/if_ether.h: Likewise. * device/io_req.h: Likewise. * device/net_io.h: Likewise. * i386/i386/io_port.h: Likewise. * i386/i386/lock.h: Likewise. * i386/i386/mp_desc.c: Likewise. * i386/i386/mp_desc.h: Likewise. * i386/i386/proc_reg.h: Likewise. * i386/i386/user_ldt.h: Likewise. * i386/i386at/kd_queue.h: Likewise. * i386/i386at/kdsoft.h: Likewise. * i386/intel/pmap.c: Likewise. * i386/intel/pmap.h: Likewise. * include/mach/mach_traps.h: Likewise. * ipc/ipc_entry.h: Likewise. * ipc/ipc_hash.h: Likewise. * ipc/ipc_kmsg.h: Likewise. * ipc/ipc_marequest.c: Likewise. * ipc/ipc_marequest.h: Likewise. * ipc/ipc_mqueue.h: Likewise. * ipc/ipc_notify.h: Likewise. * ipc/ipc_object.h: Likewise. * ipc/ipc_port.h: Likewise. * ipc/ipc_pset.h: Likewise. * ipc/ipc_right.h: Likewise. * ipc/ipc_space.h: Likewise. * ipc/ipc_table.h: Likewise. * ipc/mach_msg.c: Likewise. * ipc/mach_msg.h: Likewise. * kern/ast.c: Likewise. * kern/ast.h: Likewise. * kern/debug.c: Likewise. * kern/debug.h: Likewise. * kern/ipc_tt.c: Likewise. * kern/ipc_tt.h: Likewise. * kern/mach_factor.c: Likewise. * kern/mach_factor.h: Likewise. * kern/printf.c: Likewise. * kern/printf.h: Likewise. * kern/queue.h: Likewise. * kern/sched.h: Likewise. * kern/syscall_subr.c: Likewise. * kern/syscall_subr.h: Likewise. * kern/task.h: Likewise. * kern/thread_swap.c: Likewise. * kern/thread_swap.h: Likewise. * kern/timer.h: Likewise. * kern/xpr.c: Likewise. * kern/xpr.h: Likewise. * kern/zalloc.c: Likewise. * kern/zalloc.h: Likewise. * ipc/ipc_port.h: Don't include <ipc/ipc_space.h>. * device/net_io.h: Include <device/if_hdr.h> and <device/io_req.h>. * ipc/ipc_entry.h: Include <mach/mach_types.h> and <ipc/ipc_types.h>. * ipc/ipc_kmsg.h: Include <ipc/ipc_object.h>, <ipc/ipc_types.h> and <vm/vm_map.h>. * ipc/ipc_marequest.h: Include <mach_debug/hash_info.h> and <ipc/ipc_types.h>. * ipc/ipc_object.h: Include <ipc/ipc_types.h>. * ipc/ipc_right.h: Include <ipc/ipc_entry.h>. * ipc/ipc_space.h: Include <mach/mach_types.h> and <ipc/ipc_types.h>. * kern/ipc_tt.h: Include <mach/mach_types.h>. * kern/sched.h: Include <kern/kern_types.h>. * ipc/ipc_hash.c (ipc_hash_index_t): Move type definition... * ipc/ipc_hash.h: ... into here.
2009-06-182007-04-24 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* ipc/ipc_port.h: Include <ipc/ipc_space.h>.
2009-06-182006-01-06 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* ddb/db_break.c (db_delete_thread_breakpoint): Don't declare `db_cond_free'. * ddb/db_run.c: Include <ddb/db_cond.h>. (db_stop_at_pc): Don't declare `db_cond_check'. * ddb/db_input.c: Include <ddb/db_input.h>. * ddb/db_macro.c: Include <ddb/db_macro.h>. * ddb/db_trap.c: Include <ddb/db_trap.h>. * i386/i386/db_interface.h: Include <machine/thread.h>. * i386/i386/db_interface.c: Include <machine/db_interface.h>. * i386/i386/db_machdep.h: Include <machine/db_interface.h>. (db_check_access, db_phys_eq, db_task_name): Remove declarations. 2006-01-06 Barry deFreese <bddebian@comcast.net> * ddb/db_aout.c: Include <ddb/db_output.h>. * ddb/db_break.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_delete_cmd, db_breakpoint_cmd): Explicitly define untyped variables as `int'. * ddb/db_command.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and <ddb/db_macro.h>. * ddb/db_command.h (db_exec_cmd_nest): New declaration. * ddb/db_cond.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_cond_cmd): Explicitly define untyped variable as `int'. * ddb/db_cond.h: New file. * ddb/db_examine.c: Include <machine/db_interface.h>, <ddb/db_examine.h> and <ddb/db_expr.h>. (db_strcpy, db_examine): Remove forward declarations. (db_xcdump): Explicitly define untyped variables as `int'. * ddb/db_examine.h: New file. * ddb/db_expr.c: Include <ddb/db_expr.h>, <ddb/db_output.h>, <ddb/db_sym.h> and <ddb/db_variables.h>. * ddb/db_input.c: Include <ddb/db_command.h>. * ddb/db_input.h: New file. * ddb/db_lex.c: Include <ddb/db_command.h>, <ddb/db_examine.h>, <ddb/db_input.h> and <ddb/db_output.h>. (db_skip_to_eol, db_lex): Explicitly define untyped variables as `int'. * ddb/db_lex.h (db_lex): New declaration. * ddb/db_macro.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_def_macro_cmd, db_exec_macro): Explicitly define untyped variables as `int'. * ddb/db_macro.h: New file. * ddb/db_output.c: Include <ddb/db_command.h>. * ddb/db_output.h (db_putchar): New declaration. * ddb/db_print.c: Include <machine/db_interface.h>, <ddb/db_command.h> and <ddb/db_output.h>. (db_show_regs): Explicitly define untyped variables as `int'. * ddb/db_run.c: Include <ddb/db_command.h>, <ddb/db_examine.h>, <ddb/db_output.h> and <ddb/db_watch.h>. * ddb/db_run.h: Include <kern/task.h> and <machine/db_machdep.h>. (db_single_step, db_single_step_cmd, db_in_single_step): New declarations. * ddb/db_sym.c: Include <ddb/db_command.h> and <ddb/db_output.h>. (db_sym_parse_and_lookup): Explicitly define untyped variables as `int'. * ddb/db_sym.h (db_line_at_pc): New declaration. * ddb/db_task_thread.c: Include <ddb/db_command.h>, <ddb/db_expr.h>, <ddb/db_lex.h> and <ddb/db_output.h>. (db_lookup_task, db_lookup_task_thread, db_lookup_thread) (db_lookup_task_id, db_lookup_thread_id): Explicitly define untyped variables as `int'. * ddb/db_trap.c: Include <ddb/db_examine.h> and <ddb/db_output.h>. * ddb/db_trap.h: New file. * ddb/db_variables.c: Include <ddb/db_command.h>, <ddb/db_examine.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_get_suffix, db_cmp_variable_name): Explicitly define untyped variables as `int'. * ddb/db_variables.h (db_get_variable): New declaration. * ddb/db_watch.c: Include <ddb/db_command.h>, <ddb/db_expr.h>, <ddb/db_output.h> and <ddb/db_run.h>. * ddb/db_write_cmd.c: Include <ddb/db_expr.h> and <ddb/db_output.h>. * i386/i386/db_interface.c: Include <kern/printf.h>, <ddb/db_access.h>, <ddb/db_command.h>, <ddb/db_output.h>, <ddb/db_run.h> and <ddb/db_trap.h>. (kdbprinttrap): Add `void' return type. (db_user_to_kernel_address, db_task_name): Explicitly define untyped variables as `int'. * i386/i386/db_interface.h: New file. * i386/i386/db_trace.c (db_i386_reg_value): Add `int' return type. * i386/i386/trap.c [MACH_KDB]: Include <ddb/db_run.h> and <ddb/db_watch.h>. * ipc/ipc_kmsg.c [MACH_KDB]: Include <ddb/db_output.h>. * kern/lock.c [MACH_KDB]: Include <ddb/db_output.h>.
2009-06-182006-12-30 Richard Braun <syn@hurdfr.org>Samuel Thibault
Add alignment support in the zone allocator. * kern/zalloc.c (ALIGN_SIZE_UP): New macro. (zinit): New `align' parameter. (zget_space): Likewise. (zalloc): Updated call to zget_space() with the zone alignment. * kern/zalloc.h (zone): New member `align'. (zinit): Declaration updated as required. * device/dev_lookup.c (dev_lookup_init): Updated call to zinit() with alignment of 0. * device/dev_pager.c (dev_pager_hash_init): Likewise. (device_pager_init): Likewise. * device/ds_routines.c (ds_init): Likewise. (ds_trap_init): Likewise. * device/net_io.c (net_io_init): Likewise. * i386/i386/fpu.c (fpu_module_init): Likewise. * i386/i386/pcb.c (pcb_module_init): Likewise. * i386/intel/pmap.c (pmap_init): Likewise. * ipc/ipc_init.c (ipc_bootstrap): Likewise. * ipc/ipc_marequest.c (ipc_marequest_init): Likewise. * kern/act.c (global_act_init): Likewise. * kern/kalloc.c (kalloc_init): Likewise. * kern/processor.c (pset_sys_init): Likewise. * kern/task.c (task_init): Likewise. * kern/thread.c (thread_init): Likewise. * kern/zalloc.c (zone_bootstrap): Likewise. * vm/vm_external.c (vm_external_module_initialize): Likewise. * vm/vm_fault.c (vm_fault_init): Likewise. * vm/vm_map.c (vm_map_init): Likewise. * vm/vm_object.c (vm_object_bootstrap): Likewise. * vm/vm_resident.c (vm_page_module_init): Likewise.
2009-06-182006-12-03 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[patch #5019 --- ``Remove checks for continuations''] * DEVELOPMENT: Document the removal. * i386/configfrag.ac (CONTINUATIONS): Don't define. 2006-12-03 Leonardo Lopes Pereira <leonardolopespereira@gmail.com> [patch #5019 --- ``Remove checks for continuations''] * ipc/mach_msg.c: Adopt all users of CONTINUATIONS as if it were always defined. * kern/eventcount.c: Likewise. * kern/ipc_sched.c: Likewise. * kern/syscall_subr.c: Likewise. * vm/vm_fault.c: Likewise. * vm/vm_pageout.c: Likewise. * vm/vm_resident.c: Likewise.
2009-06-182006-12-03 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[patch #5017 --- ``Remove obsolete IPC interfaces.''] * DEVELOPMENT: Document the removal. * configfrag.ac (MACH_IPC_COMPAT): Don't define. 2006-12-03 Leonardo Lopes Pereira <leonardolopespereira@gmail.com> [patch #5017 --- ``Remove obsolete IPC interfaces.''] * kern/act.c [MIGRATING_THREADS]: Don't include <mach_ipc_compat.h>. * kern/act.h: Likewise. * i386/include/mach/i386/machine_types.defs: Adapt all users of MACH_IPC_COMPAT as if it were always defined to `0'. * include/mach/mach.defs: Likewise. * include/mach/mach_param.h: Likewise. * include/mach/mach_traps.h: Likewise. * include/mach/message.h: Likewise. * include/mach/mig_errors.h: Likewise. * include/mach/notify.h: Likewise. * include/mach/port.h: Likewise. * include/mach/std_types.defs: Likewise. * include/mach/syscall_sw.h: Likewise. * include/mach/task_special_ports.h: Likewise. * include/mach/thread_special_ports.h: Likewise. * ipc/ipc_kmsg.c: Likewise. * ipc/ipc_kmsg.h: Likewise. * ipc/ipc_marequest.c: Likewise. * ipc/ipc_notify.c: Likewise. * ipc/ipc_notify.h: Likewise. * ipc/ipc_object.c: Likewise. * ipc/ipc_object.h: Likewise. * ipc/ipc_port.c: Likewise. * ipc/ipc_port.h: Likewise. * ipc/ipc_right.c: Likewise. * ipc/ipc_right.h: Likewise. * ipc/ipc_space.c: Likewise. * ipc/ipc_space.h: Likewise. * ipc/mach_debug.c: Likewise. * ipc/mach_msg.c: Likewise * ipc/mach_msg.h: Likewise. * ipc/mach_port.c: Likewise. * kern/act.c: Likewise. * kern/act.h: Likewise. * kern/ipc_host.c: Likewise. * kern/ipc_tt.c: Likewise. * kern/syscall_sw.c: Likewise. * kern/thread.h: Likewise.
2009-06-182006-11-13 Barry deFreese <bddebian@comcast.net>Samuel Thibault
* i386/i386/locore.h: New file. * i386/i386/pcb.h: New file. * i386/i386/pcb.c: Include `pcb.h'. * i386/i386/pit.c (clkstart): Fix type of s into unsigned long. * i386/i386/spl.h (spl0, splsched, splx, splsoftclock, splon, sploff) (splhigh, splimp, spltty, splclock, setsoftclock): Add prototype. * i386/i386at/kd_event.h: New file. * i386/i386at/kd_event.c: Include `kd_event.h'. * i386/i386at/kd_mouse.h: New file. * i386/i386at/kd_mouse.c: Include `kd_mouse.h'. (mouseclose): Fix call of `serial_mouse_close' function. * i386/i386at/kd.c: Include `kd_event.h' and `kd_mouse.h'. * i386/i386at/kd.h (splx, spltty): Remove prototypes.h * i386/i386at/lpr.c: Likewise. * ipc/mach_msg.c: Include `machine/locore.h' and `machine/pcb.h'. * kern/mach_clock.h: New file. * kern/mach_clock.c: Include `kern/queue.h', `kern/timer.h' and `mach_clock.h'. * kern/mach_factor.h: New file. * kern/mach_factor.c: Include `mach_factor.h'. * kern/sched_prim.c: Include `kern/mach_factor.h'. * kern/thread.c: Include `machine/pcb.h'.
2009-06-182006-11-11 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
Fix a bunch of "unused variable" warnings. * device/ds_routines.c (ds_device_open): Remove unused `namebuf' variable. * device/kmsg.c (kmsgread): Remove unused `err' variable. * device/net_io.c (net_set_filter): Remove unused `j' variable. * i386/i386/pcb.c (curr_gdt, curr_ktss): Artificially use parameter of macro. * i386/i386/pic.c (picinit): Remove unused `i' variable. * i386/i386/pit.c (clkstart): Remove unused `flags' variable. * i386/i386/trap.c (kernel_trap): Remove unused `exc' variable. (user_trap): Remove unused `map' and `result' variables. (v86_assist): Remove unused `size' variable. * i386/i386at/i386at_ds_routines.c (ds_device_open): Remove unused `dev' variable. * i386/i386at/kd.c (kdintr): Remove unused `o_pri' variable. (kdcngetc): Remove unused `i' variable. * i386/i386at/kd_event.c (kbdgetstat, kbdsetstat): Remove unused `result' variable. * i386/i386at/kd_mouse.c (mousegetstat): Likewise. * i386/i386at/lpr.c (lprattach): Remove unused `tp' variable. (lprsetstat): Remove unused `dev_addr' and `s' variables. * i386/intel/pmap.c (pmap_bootstrap): Remove unused `pteva' variable. * ipc/ipc_kmsg.c (ipc_kmsg_copyin_body): Remove unused `mr' variable. * kern/bootstrap.c (boot_script_exec_cmd): Remove unused `boot_exec_info' and `user_map' variables. * vm/vm_kern.c (projected_buffer_map): Remove unused `object' variable.
2009-06-182006-11-10 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
Put "for panic()" in ChangeLog, not in source code.