summaryrefslogtreecommitdiff
path: root/include/mach
AgeCommit message (Collapse)Author
2015-07-25include: provide time-value substractionJustus Winter
* include/mach/time_value.h (time_value_assert): New macro to assert that the given value is well-formed. (time_value_add_usec): Use the new macro. (time_value_sub_usec): New macro. (time_value_add): Use `time_value_add_usec'. (time_value_sub_usec): New macro.
2015-07-09Allow non-privileged tasks to wire 64KiB task memorySamuel Thibault
* doc/mach.texi (vm_wire): Document that the host port does not have to be privileged. * include/mach/mach_hosts.defs (vm_wire): Use mach_port_t instead of host_priv_t. * vm/vm_map.h (vm_map): Add user_wired field. * vm/vm_map.c (vm_map_setup): Initialize user_wired field to 0. (vm_map_pageable_common, vm_map_entry_delete, vm_map_copy_overwrite, vm_map_copyout_page_list, vm_map_copyin_page_list): When switching user_wired_count field of entry between 0 and non-0, accumulate the corresponding size into the user_wired field of map. * vm/vm_user.c (vm_wire): Turn host parameter into port parameter, and inline a version of convert_port_to_host_priv which records whether the host port is privileged or not. When it is not privileged, check whether the additional amount to user_wired will overcome 64KiB.
2015-01-02include: Fix typos in comments (found by codespell)Stefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2014-12-09include: add X_IMPORTS to ipc definitionsJustus Winter
This makes it possible to inject imports. * include/mach/gnumach.defs: Make it possible to inject imports. * include/mach/mach.defs: Likewise. * include/mach/mach_host.defs: Likewise.
2014-12-09kern: provide notifications about new tasksJustus Winter
These notifications are sent to the port registered via `register_new_task_notification' and provide a robust parental relation between tasks to a userspace server. * Makefrag.am: Add task_notify.defs. * include/mach/gnumach.defs: Add register_new_task_notification. * include/mach/task_notify.defs: New file. * kern/task.c (new_task_notification): New variable. (task_create): Send new task notifications. (register_new_task_notification): Add server function. * kern/task_notify.cli: New file.
2014-12-09Retire procedure `old_mach_port_get_receive_status'Justus Winter
Retire the compatibility RPC `old_mach_port_get_receive_status' that works like `mach_port_get_receive_status' but returns an `old_mach_port_status' object that lacks the `mps_seqno' field. Do not remove the type yet, so we do not break anyones build. The RPC stubs currently distributed with the glibc require it. * include/mach/mach_port.defs (old_mach_port_get_receive_status): Drop RPC. * include/mach/mach_types.defs (old_mach_port_status_t): Drop type. * include/mach/port.h (old_mach_port_status_t): Add note to remove this for the 1.6 release. * ipc/mach_port.c (old_mach_port_get_receive_status): Drop function.
2014-11-28include: make `mach_port_t' payload-awareJustus Winter
Honor a new macro `MACH_PAYLOAD_TO_PORT' to inject a translation function mapping payloads to port names in the definition of `mach_port_t'. * include/mach/std_types.defs (mach_port_t): Honor `MACH_PAYLOAD_TO_PORT'. * include/device/device.defs (reply_port_t): Likewise. * include/device/device_reply.defs (reply_port_t): Likewise. * include/device/device_request.defs (reply_port_t): Likewise.
2014-11-03include: add a payload-aware intran mutator for notify_port_tJustus Winter
* include/mach/notify.defs (notify_port_t): Add a payload-aware intran mutator.
2014-11-03include: add a payload-aware intran mutator for memory_object_tJustus Winter
* include/mach/mach_types.defs (memory_object_t): Add a payload-aware intran mutator. * include/mach/memory_object.defs: Likewise in the inlined type declarations.
2014-10-01include: define MACH_MSG_TYPE_PROTECTED_PAYLOADJustus Winter
* include/mach/message.h: Define MACH_MSG_TYPE_PROTECTED_PAYLOAD. (MACH_MSG_TYPE_LAST): Adjust accordingly. * doc/mach.texi (Message Format): Document MACH_MSG_TYPE_PROTECTED_PAYLOAD.
2014-10-01include: add msgh_protected_payload to mach_msg_header_tJustus Winter
* include/mach/message.h (mach_msg_header_t): Add msgh_protected_payload as a union with msgh_local_port. * doc/mach.texi (Message Format): Document msgh_protected_payload.
2014-10-01ipc: implement mach_port_{set,clear}_protected_payloadJustus Winter
* include/mach/mach_port.defs: Add mach_port_{set,clear}_protected_payload. * ipc/mach_port.c: Implement mach_port_{set,clear}_protected_payload. * doc/mach.texi (Receive Rights): Document mach_port_{set,clear}_protected_payload.
2014-05-25Rewrite old-style #endif FOO directivesJustus Winter
* i386/include/mach/i386/cthreads.h: Rewrite old-style #endif FOO directives. * include/device/tape_status.h: Likewise. * include/mach/alert.h: Likewise. * include/mach/boot.h: Likewise. * include/mach/default_pager_types.defs: Likewise. * include/mach/default_pager_types.h: Likewise. * include/mach/multiboot.h: Likewise. * include/mach/notify.defs: Likewise. * include/mach_debug/pc_info.h: Likewise. * kern/act.h: Likewise. * kern/refcount.h: Likewise. * kern/shuttle.h: Likewise.
2014-05-25include: fix the embedded type definitions in memory_object.defsJustus Winter
In order to use MIG translation functions to lookup memory objects, preprocessor macros have been introduced into the definition of memory_object_t in 50cc5152. The procedure definitions contain inlined type definitions in order to change the type of the argument in question (i.e. to make it polymorphic). The inline definitions however lack the destructor function, leading to reference leaks when a reference is acquired in the intran function. * include/mach/memory_object.defs: Add the destructor functions to the inlined type definitions.
2014-04-05include: make the notify_port_t types translation functions mutableJustus Winter
Make the intran, outtran and destructor functions mutable using preprocessor macros. Make it possible to inject imports using the NOTIFY_IMPORTS macro. This way, userspace servers can provide their own translation functions. * include/mach/notify.defs: Honor NOTIFY_IMPORTS. (notify_port_t): Make the translation mutable using preprocessor macros.
2014-03-25include: make the memory_object_t types translation functions mutableJustus Winter
Make the intran, outtran and destructor functions mutable using preprocessor macros. Make it possible to inject imports using the MEMORY_OBJECT_IMPORTS macro. This way, userspace servers can provide their own translation functions. * include/mach/mach_types.defs (memory_object_t): Make the translation mutable using preprocessor macros. * include/mach/memory_object.defs: Likewise for the inlined type declarations. Honor MEMORY_OBJECT_IMPORTS. * include/mach/memory_object_default.defs: Likewise.
2014-02-19include: skip routines related to migrating threadsJustus Winter
* include/mach/mach_port.defs: Skip the routines mach_port_set_rpcinfo and mach_port_create_act if MIGRATING_THREADS is not defined.
2014-02-05include: add task_set_nameJustus Winter
task_set_name sets the name of a task. This is a debugging aid. The name will be used in error messages printed by the kernel. * include/mach/gnumach.defs (task_set_name): New procedure.
2013-12-05Remove unnecessary fileSamuel Thibault
* i386/Makefrag.am: Don't include i386/include/mach/i386/rpc.h. * i386/include/mach/i386/rpc.h: Remove file.
2013-11-24New RPC for thread destructionRichard Braun
A new call, thread_terminate_release, is added to support self destruction in threading libraries. * include/mach/gnumach.defs (thread_terminate_release): New simpleroutine declaration. * kern/thread.c: Include vm/vm_user.h and ipc/mach_port.h. (thread_terminate_release): New function. * kern/thread.h (thread_terminate_release): New prototype.
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-01-28Add initial code for disabling PV pagetablesSamuel Thibault
* xen/configfrag.ac (--disable-pv-pagetables): Add option. * i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_PV_PAGETABLES]: Add writable_page_tables. * i386/i386/gdt.c: Turn appropriate MACH_XEN/MACH_HYP tests into MACH_PV_PAGETABLES tests. * i386/i386/i386asm.sym: Likewise * i386/i386/ldt.c: Likewise * i386/i386/locore.S: Likewise * i386/i386/proc_reg.h: Likewise * i386/i386/user_ldt.c: Likewise * i386/i386/vm_param.h: Likewise * i386/i386/xen.h: Likewise * i386/i386at/model_dep.c: Likewise * i386/intel/pmap.h: Likewise * include/mach/xen.h: Likewise * xen/console.c: Likewise * xen/store.c: Likewise * i386/intel/pmap.c: Likewise. Define pmap_map_mfn as TODO stub.
2013-01-22Add the mach_print debugging system callRichard Braun
The purpose of this system call is to help debugging in situations where it's desirable to bypass the mach_msg call entirely. * include/mach/syscall_sw.h (mach_print): Generate system call code. * kern/syscall_subr.c: Include <kern/printf.h>. [MACH_KDB] (mach_print): New function. * kern/syscall_subr.h (mach_print): New prototype. * kern/syscall_sw.c [MACH_KDB] (mach_trap_table): Declare mach_print system call.
2012-09-23Add missing file for page statisticsRichard Braun
* include/mach/vm_cache_statistics.h: New file
2012-09-23Provide basic page cache statisticsRichard Braun
* Makefrag.am (EXTRA_DIST): Add kern/gnumach.srv. (include_mach_HEADERS): Add include/mach/gnumach.defs and include/mach/vm_cache_statistics.h (nodist_libkernel_a_SOURCES): Add kern/gnumach.server.defs.c, kern/gnumach.server.h, kern/gnumach.server.c, kern/gnumach.server.msgids, kern/gnumach.server.defs. * include/mach/mach_types.h: Add #include <mach/vm_cache_statistics.h>. * kern/ipc_kobject.c (ipc_kobject_server): Declare and call gnumach_server_routine. * vm/vm_object.c (vm_object_cached_pages): New variable. (vm_object_cached_pages_lock_data): Likewise. (vm_object_deallocate): Update number of cached pages. (vm_object_lookup): Likewise. (vm_object_lookup_name): Likewise. (vm_object_destroy): Likewise. (vm_object_enter): Likewise. * vm/vm_object.h (ref_count): Declare as int. (resident_page_count): Likewise. (vm_object_cached_count): Add extern declaration. (vm_object_cached_pages): Likewise. (vm_object_cached_pages_lock_data): Likewise. (vm_object_cached_pages_update): New macro. * vm/vm_resident.c (vm_page_insert): Assert resident page count doesn't overflow, update number of cached pages as appropriate. (vm_page_replace): Likewise. (vm_page_remove): Update number of cached pages as appropriate. * vm/vm_user.c: Add #include <mach/vm_cache_statistics.h>. (vm_cache_statistics): New function. * vm/vm_user.h: Add #include <mach/mach_types.h>. (vm_cache_statistics): New declaration. * include/mach/gnumach.defs: New file.
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.
2011-09-02Remove long obsolete RPC routinesGuillem Jover
* kern/compat_xxx_defs.h: Remove file. * Makefrag.am (libkernel_a_SOURCES): Remove `kern/compat_xxx_defs.h'. * include/mach/mach_types.defs (xxx_emulation_vector_t): Remove type. * device/device.srv: Do not simport <kern/compat_xxx_defs.h>. * kern/mach.srv: Likewise. * kern/mach_host.srv: Likewise. * include/device/device.defs [MACH_KERNEL]: Do not simport <kern/compat_xxx_defs.h>. (xxx_device_set_status, xxx_device_get_status) (xxx_device_set_filter): Replace routine declarations with skip directives. * include/mach/mach.defs [MACH_KERNEL]: Do not simport <kern/compat_xxx_defs.h>. (xxx_memory_object_lock_request, xxx_task_get_emulation_vector) (xxx_task_set_emulation_vector, xxx_host_info, xxx_slot_info) (xxx_cpu_control, xxx_task_info, xxx_thread_get_state) (xxx_thread_set_state, xxx_thread_info): Replace routine declarations with skip directive. * include/mach/mach_host.defs [MACH_KERNEL]: Do not simport <kern/compat_xxx_defs.h>. (yyy_host_info, yyy_processor_info, yyy_processor_control) (xxx_processor_set_default_priv, yyy_processor_set_info): Replace routine declarations with skip directive. * kern/ipc_host.c (xxx_processor_set_default_priv): Remove function. * kern/machine.c (xxx_host_info, xxx_slot_info) (xxx_cpu_control): Likewise. * kern/syscall_emulation.c (xxx_task_set_emulation_vector) (xxx_task_get_emulation_vector): Likewise. * vm/memory_object.c (xxx_memory_object_lock_request): Likewise.
2011-08-31Correct MiG Mach types to fix compilation warningsGuillem Jover
* include/mach/mach_types.defs (thread_info_t): Change from array of natural_t to integer_t. (task_info_t): Likewise. (host_info_t): Likewise. (processor_info_t): Likewise. (processor_set_info_t): Likewise.
2011-08-30Fix copyright assignmentSamuel Thibault
I have assigned copyright to the Free Software Foundation. * i386/i386/xen.h: Fix copyright assignment * i386/xen/xen.c: Likewise. * i386/xen/xen_boothdr.S: Likewise. * i386/xen/xen_locore.S: Likewise. * include/mach/xen.h: Likewise. * xen/block.c: Likewise. * xen/block.h: Likewise. * xen/console.c: Likewise. * xen/console.h: Likewise. * xen/evt.c: Likewise. * xen/evt.h: Likewise. * xen/grant.c: Likewise. * xen/grant.h: Likewise. * xen/net.c: Likewise. * xen/net.h: Likewise. * xen/ring.c: Likewise. * xen/ring.h: Likewise. * xen/store.c: Likewise. * xen/store.h: Likewise. * xen/time.c: Likewise. * xen/time.h: Likewise. * xen/xen.c: Likewise. * xen/xen.h: Likewise.
2011-04-18Removed deprecated LINTLIBRARY #ifdefsArne Babenhauserheide
mach/mach_traps.h: Removed LINTLIBRARY #ifdefs. mach/message.h: Removed LINTLIBRARY #ifdefs.
2010-04-08Extend machine addresses to 64bit for PAESamuel Thibault
* i386/i386/pcb.c (switch_ktss): Use uint64_t for descriptor type instead of unsigned long long. * i386/i386/seg.h (fill_descriptor): Use uint64_t for descriptor type instead of unsigned long long. Cast result of kv_to_ma() into vm_offset_t before printing. * i386/i386/xen.h (hyp_mmu_update_pte): Use pt_entry_t type instead of unsigned long long, make pte parameter a pt_entry_t too. (hyp_mmu_update_pte): Compute pte address just using pt_entry_t integers. (hyp_high): New macro to fix 32bit right shifting. (hyp_do_update_descriptor): Use pt_entry_t type for machine address instead of unsigned long. Split it in 32bit parts. Use uint64_t for descriptor type instead of unsigned long long. (update_va_mapping): Use pt_entry_t type instead of unsigned long long. Use hyp_high macro. (hyp_invlpg): Use uint64_t for time type instead of unsigned long long. * i386/intel/pmap.c (pmap_bootstrap): Use ptetokv instead of pte_to_pa + phystokv. Cast machine addresses into vm_offset_t before printing. (pmap_set_page_readwrite): Likewise. (pmap_set_page_readonly): Likewise (pmap_set_page_readonly_init): Likewise (pmap_clear_bootstrap_pagetable): Likewise (pmap_destroy): Likewise (pmap_map_mfn): Use pt_entry_t type for machine addresses. Cast machine addresses into vm_offset_t before printing. * i386/intel/pmap.h [PAE] (INTEL_PTE_PFN): Set macro to 0xfffffffffffff000ULL. * include/mach/xen.h [PAE] (pa_to_ma, ma_to_pa): Use pt_entry_t type for machine addresses. [!PAE] (pa_to_ma): Remove cast to vm_offset_t. (mfn_to_kv): Use mfn_to_pfn + ptoa instead of ptoa + ma_to_pa. * xen/xen.c (hyp_invalidate_pte): Cast machine addresses into vm_offset_t before printing.
2009-12-16Add Xen supportSamuel Thibault
2009-03-11 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS) [MACH_XEN]: Set to 0x20000000. * i386/i386/i386asm.sym (pfn_list) [VM_MIN_KERNEL_ADDRESS == LINEAR_MIN_KERNEL_ADDRESS]: Define to constant PFN_LIST. 2009-02-27 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/intel/pmap.c [MACH_HYP] (INVALIDATE_TLB): Call hyp_invlpg instead of flush_tlb when e - s is compile-time known to be PAGE_SIZE. 2008-11-27 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/configfrag.ac (enable_pae): Enable by default on the Xen platform. 2007-11-14 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386at/model_dep.c (machine_relax): New function. (c_boot_entry): Refuse to boot as dom0. 2007-10-17 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386/fpu.c [MACH_XEN]: Disable unused fpintr(). 2007-08-12 Samuel Thibault <samuel.thibault@ens-lyon.org> * Makefile.am (clib_routines): Add _START. * i386/xen/xen_boothdr: Use _START for VIRT_BASE and PADDR_OFFSET. Add GUEST_VERSION and XEN_ELFNOTE_FEATURES. 2007-06-13 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386/user_ldt.h (user_ldt) [MACH_XEN]: Add alloc field. * i386/i386/user_ldt.c (i386_set_ldt) [MACH_XEN]: Round allocation of LDT to a page, set back LDT pages read/write before freeing them. (user_ldt_free) [MACH_XEN]: Likewise. 2007-04-18 Samuel Thibault <samuel.thibault@ens-lyon.org> * device/ds_routines.c [MACH_HYP]: Add hypervisor block and net devices. 2007-02-19 Thomas Schwinge <tschwinge@gnu.org> * i386/xen/Makefrag.am [PLATFORM_xen] (gnumach_LINKFLAGS): Define. * Makefrag.am: Include `xen/Makefrag.am'. * configure.ac: Include `xen/configfrag.ac'. (--enable-platform): Support the `xen' platform. * i386/configfrag.ac: Likewise. * i386/Makefrag.am [PLATFORM_xen]: Include `i386/xen/Makefrag.am'. 2007-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org> Thomas Schwinge <tschwinge@gnu.org> * i386/xen/Makefrag.am: New file. * xen/Makefrag.am: Likewise. * xen/configfrag.ac: Likewise. 2007-02-11 (and later dates) Samuel Thibault <samuel.thibault@ens-lyon.org> Xen support * Makefile.am (clib_routines): Add _start. * Makefrag.am (include_mach_HEADERS): Add include/mach/xen.h. * device/cons.c (cnputc): Call hyp_console_write. * i386/Makefrag.am (libkernel_a_SOURCES): Move non-Xen source to [PLATFORM_at]. * i386/i386/debug_trace.S: Include <i386/xen.h> * i386/i386/fpu.c [MACH_HYP] (init_fpu): Call set_ts() and clear_ts(), do not enable CR0_EM. * i386/i386/gdt.c: Include <mach/xen.h> and <intel/pmap.h>. [MACH_XEN]: Make gdt array extern. [MACH_XEN] (gdt_init): Register gdt with hypervisor. Request 4gb segments assist. Shift la_shift. [MACH_PSEUDO_PHYS] (gdt_init): Shift pfn_list. * i386/i386/gdt.h [MACH_XEN]: Don't define KERNEL_LDT and LINEAR_DS. * i386/i386/i386asm.sym: Include <i386/xen.h>. [MACH_XEN]: Remove KERNEL_LDT, Add shared_info's CPU_CLI, CPU_PENDING, CPU_PENDING_SEL, PENDING, EVTMASK and CR2. * i386/i386/idt.c [MACH_HYP] (idt_init): Register trap table with hypervisor. * i386/i386/idt_inittab.S: Include <i386/i386asm.h>. [MACH_XEN]: Set IDT_ENTRY() for hypervisor. Set trap table terminator. * i386/i386/ktss.c [MACH_XEN] (ktss_init): Request exception task switch from hypervisor. * i386/i386/ldt.c: Include <mach/xen.h> and <intel/pmap.h> [MACH_XEN]: Make ldt array extern. [MACH_XEN] (ldt_init): Set ldt readwrite. [MACH_HYP] (ldt_init): Register ldt with hypervisor. * i386/i386/locore.S: Include <i386/xen.h>. Handle KERNEL_RING == 1 case. [MACH_XEN]: Read hyp_shared_info's CR2 instead of %cr2. [MACH_PSEUDO_PHYS]: Add mfn_to_pfn computation. [MACH_HYP]: Drop Cyrix I/O-based detection. Read cr3 instead of %cr3. Make hypervisor call for pte invalidation. * i386/i386/mp_desc.c: Include <mach/xen.h>. [MACH_HYP] (mp_desc_init): Panic. * i386/i386/pcb.c: Include <mach/xen.h>. [MACH_XEN] (switch_ktss): Request stack switch from hypervisor. [MACH_HYP] (switch_ktss): Request ldt and gdt switch from hypervisor. * i386/i386/phys.c: Include <mach/xen.h> [MACH_PSEUDO_PHYS] (kvtophys): Do page translation. * i386/i386/proc_reg.h [MACH_HYP] (cr3): New declaration. (set_cr3, get_cr3, set_ts, clear_ts): Implement macros. * i386/i386/seg.h [MACH_HYP]: Define KERNEL_RING macro. Include <mach/xen.h> [MACH_XEN] (fill_descriptor): Register descriptor with hypervisor. * i386/i386/spl.S: Include <i386/xen.h> and <i386/i386/asm.h> [MACH_XEN] (pic_mask): #define to int_mask. [MACH_XEN] (SETMASK): Implement. * i386/i386/vm_param.h [MACH_XEN] (HYP_VIRT_START): New macro. [MACH_XEN]: Set VM_MAX_KERNEL_ADDRESS to HYP_VIRT_START- LINEAR_MIN_KERNEL_ADDRESS + VM_MIN_KERNEL_ADDRESS. Increase KERNEL_STACK_SIZE and INTSTACK_SIZE to 4 pages. * i386/i386at/conf.c [MACH_HYP]: Remove hardware devices, add hypervisor console device. * i386/i386at/cons_conf.c [MACH_HYP]: Add hypervisor console device. * i386/i386at/model_dep.c: Include <sys/types.h>, <mach/xen.h>. [MACH_XEN] Include <xen/console.h>, <xen/store.h>, <xen/evt.h>, <xen/xen.h>. [MACH_PSEUDO_PHYS]: New boot_info, mfn_list, pfn_list variables. [MACH_XEN]: New la_shift variable. [MACH_HYP] (avail_next, mem_size_init): Drop BIOS skipping mecanism. [MACH_HYP] (machine_init): Call hyp_init(), drop hardware initialization. [MACH_HYP] (machine_idle): Call hyp_idle(). [MACH_HYP] (halt_cpu): Call hyp_halt(). [MACH_HYP] (halt_all_cpus): Call hyp_reboot() or hyp_halt(). [MACH_HYP] (i386at_init): Initialize with hypervisor. [MACH_XEN] (c_boot_entry): Add Xen-specific initialization. [MACH_HYP] (init_alloc_aligned, pmap_valid_page): Drop zones skipping mecanism. * i386/intel/pmap.c: Include <mach/xen.h>. [MACH_PSEUDO_PHYS] (WRITE_PTE): Do page translation. [MACH_HYP] (INVALIDATE_TLB): Request invalidation from hypervisor. [MACH_XEN] (pmap_map_bd, pmap_create, pmap_destroy, pmap_remove_range) (pmap_page_protect, pmap_protect, pmap_enter, pmap_change_wiring) (pmap_attribute_clear, pmap_unmap_page_zero, pmap_collect): Request MMU update from hypervisor. [MACH_XEN] (pmap_bootstrap): Request pagetable initialization from hypervisor. [MACH_XEN] (pmap_set_page_readwrite, pmap_set_page_readonly) (pmap_set_page_readonly_init, pmap_clear_bootstrap_pagetable) (pmap_map_mfn): New functions. * i386/intel/pmap.h [MACH_XEN] (INTEL_PTE_GLOBAL): Disable global page support. [MACH_PSEUDO_PHYS] (pte_to_pa): Do page translation. [MACH_XEN] (pmap_set_page_readwrite, pmap_set_page_readonly) (pmap_set_page_readonly_init, pmap_clear_bootstrap_pagetable) (pmap_map_mfn): Declare functions. * i386/i386/xen.h: New file. * i386/xen/xen.c: New file. * i386/xen/xen_boothdr.S: New file. * i386/xen/xen_locore.S: New file. * include/mach/xen.h: New file. * kern/bootstrap.c [MACH_XEN] (boot_info): Declare variable. [MACH_XEN] (bootstrap_create): Rebase multiboot header. * kern/debug.c: Include <mach/xen.h>. [MACH_HYP] (panic): Call hyp_crash() without delay. * linux/dev/include/asm-i386/segment.h [MACH_HYP] (KERNEL_CS) (KERNEL_DS): Use ring 1. * xen/block.c: New file. * xen/block.h: Likewise. * xen/console.c: Likewise. * xen/console.h: Likewise. * xen/evt.c: Likewise. * xen/evt.h: Likewise. * xen/grant.c: Likewise. * xen/grant.h: Likewise. * xen/net.c: Likewise. * xen/net.h: Likewise. * xen/ring.c: Likewise. * xen/ring.h: Likewise. * xen/store.c: Likewise. * xen/store.h: Likewise. * xen/time.c: Likewise. * xen/time.h: Likewise. * xen/xen.c: Likewise. * xen/xen.h: Likewise. * xen/public/COPYING: Import file from Xen. * xen/public/callback.h: Likewise. * xen/public/dom0_ops.h: Likewise. * xen/public/domctl.h: Likewise. * xen/public/elfnote.h: Likewise. * xen/public/elfstructs.h: Likewise. * xen/public/event_channel.h: Likewise. * xen/public/features.h: Likewise. * xen/public/grant_table.h: Likewise. * xen/public/kexec.h: Likewise. * xen/public/libelf.h: Likewise. * xen/public/memory.h: Likewise. * xen/public/nmi.h: Likewise. * xen/public/physdev.h: Likewise. * xen/public/platform.h: Likewise. * xen/public/sched.h: Likewise. * xen/public/sysctl.h: Likewise. * xen/public/trace.h: Likewise. * xen/public/vcpu.h: Likewise. * xen/public/version.h: Likewise. * xen/public/xen-compat.h: Likewise. * xen/public/xen.h: Likewise. * xen/public/xencomm.h: Likewise. * xen/public/xenoprof.h: Likewise. * xen/public/arch-x86/xen-mca.h: Likewise. * xen/public/arch-x86/xen-x86_32.h: Likewise. * xen/public/arch-x86/xen-x86_64.h: Likewise. * xen/public/arch-x86/xen.h: Likewise. * xen/public/arch-x86_32.h: Likewise. * xen/public/arch-x86_64.h: Likewise. * xen/public/io/blkif.h: Likewise. * xen/public/io/console.h: Likewise. * xen/public/io/fbif.h: Likewise. * xen/public/io/fsif.h: Likewise. * xen/public/io/kbdif.h: Likewise. * xen/public/io/netif.h: Likewise. * xen/public/io/pciif.h: Likewise. * xen/public/io/protocols.h: Likewise. * xen/public/io/ring.h: Likewise. * xen/public/io/tpmif.h: Likewise. * xen/public/io/xenbus.h: Likewise. * xen/public/io/xs_wire.h: Likewise.
2009-11-28Add memory object proxiesSamuel Thibault
Memory object proxies permit to replicate objects with different parameters, like reduced privileged, different offset, etc. They are e.g. essential for properly managing memory access permissions. 2005-06-06 Marcus Brinkmann <marcus@gnu.org> * include/mach/mach4.defs: Add memory_object_create_proxy interface. * Makefile.in (vm-cfiles): Add memory_object_proxy.c. * i386/include/mach/i386/vm_types.h (vm_offset_array_t): New type. * include/mach/memory_object.h (memory_object_array_t): New type. * vm/memory_object_proxy.c: New file. * kern/ipc_kobject.h: New macro IKOT_PAGER_PROXY. Bump up macros IKOT_UNKNOWN and IKOT_MAX_TYPE. * kern/ipc_kobject.c (ipc_kobject_notify): Call memory_object_proxy_notify for IKOT_PAGER_PROXY. * vm/vm_init.c (vm_mem_init): Call memory_object_proxy_init. * vm/vm_user.c (vm_map): Implement support for proxy memory objects.
2009-06-182007-05-09 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* include/mach/mach_types.defs (userprefix, serverprefix): Set, if requested.
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. * include/mach/mach_traps.h: Do as described. * device/dev_hdr.h: Include <ipc/ipc_types.h>. * kern/syscall_subr.h: Include <kern/kern_types.h>.
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-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-05 Barry deFreese <bddebian@comcast.net>Samuel Thibault
memcpy/memset cleanup. * include/string.h: New file. * include/mach/mig_support.h: Include `string.h'. [MACH_KERNEL] (bcopy): Remove extern declaration. [MACH_KERNEL] (memcpy): Remove macro. * device/cirbuf.c: Include `string.h'. (q_to_b, b_to_q): Replace bcopy() with memcpy() and bzero() with memset(), clean memcpy() and memset() invocation. * device/cons.c (cnputc): Likewise. * device/dev_pager.c (device_pager_data_request_done): Likewise. * device/ds_routines.c (device_write_get, ds_read_done): Likewise. * device/kmsg.c: Likewise. * device/net_io.c (net_filter, net_set_filter, net_getstat): Likewise. * i386/i386/fpu.c (fpu_set_state, fpu_get_state) fp_load) (fp_state_alloc): Likewise. * i386/i386/iopb.c (io_tss_init, i386_io_port_list): Likewise. * i386/i386/mp_desc.c (mp_desc_init): Likewise. * i386/i386/pcb.c (pcb_init, thread_setstatus) (thread_getstatus): Likewise. * i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys) (copy_from_phys): Likewise. * i386/i386/trap.c (v86_assist): Likewise. * i386/i386/user_ldt.c (i386_set_ldt, i386_get_ldt): Likewise. * i386/i386at/immc.c (immc_cnputc): Likewise. * i386/i386at/kd_event.c (X_kdb_enter_init, X_kdb_exit_init): Likewise. * i386/intel/pmap.c (pmap_init, pmap_page_table_page_alloc) (pmap_create): Likewise. * ipc/ipc_entry.c (ipc_entry_grow_table): Likewise. * ipc/ipc_kmsg.c (ipc_kmsg_get_from_kernel) (ipc_kmsg_put_to_kernel): Likewise. * ipc/ipc_object.c (ipc_object_alloc, ipc_object_alloc_name): Likewise. * ipc/ipc_port.c (ipc_port_dngrow): Likewise. * ipc/ipc_space.c: Likewise. * ipc/mach_debug.c (mach_port_space_info) (mach_port_space_info): Likewise. * kern/act.c (act_create): Likewise. * kern/boot_script.c: Likewise. * kern/bootstrap.c: Likewise. * kern/eventcount.c (evc_init): Likewise. * kern/host.c (host_info, host_processor_sets): Likewise. * kern/lock.c (lock_init): Likewise. * kern/lock_mon.c (lock_info_clear): Likewise. * kern/mach_clock.c (mapable_time_init): Likewise. * kern/pc_sample.c (get_sampled_pcs): Likewise. * kern/processor.c (processor_set_things): Likewise. * kern/syscall_emulation.c (task_set_emulation_vector_internal) (task_get_emulation_vector, xxx_task_get_emulation_vector): Likewise. * kern/task.c (task_threads): Likewise. * kern/xpr.c (xprbootstrap): Likewise. * kern/zalloc.c (host_zone_info): Likewise. * vm/vm_debug.c (mach_vm_object_pages): Likewise. * vm/vm_kern.c (projected_buffer_allocate, copyinmap) (copyoutmap): Likewise. * vm/vm_object.c (vm_object_bootstrap): Likewise. * vm/vm_resident.c (vm_page_grab_contiguous_pages): Likewise.
2009-06-182006-10-15 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[task #5956 --- ``Automake'ify GNU Mach's code base''] * kern/bootstrap.c: Don't include `bootstrap_symbols.h'. * ddb/db_command.c: Don't include `cpus.h'. * ddb/db_mp.c: Likewise. * i386/i386/ast_check.c: Likewise. * i386/i386/cswitch.S: Likewise. * i386/i386/db_interface.c: Likewise. * i386/i386/fpu.c: Likewise. * i386/i386/fpu.h: Likewise. * i386/i386/i386asm.sym: Likewise. * i386/i386/locore.S: Likewise. * i386/i386/mp_desc.c: Likewise. * i386/i386/mp_desc.h: Likewise. * i386/i386/pcb.c: Likewise. * i386/i386/trap.c: Likewise. * i386/intel/pmap.c: Likewise. * include/mach/machine.h: Likewise. * ipc/ipc_kmsg.c: Likewise. * ipc/ipc_kmsg.h: Likewise. * kern/ast.c: Likewise. * kern/ast.h: Likewise. * kern/cpu_number.h: Likewise. * kern/debug.c: Likewise. * kern/eventcount.c: Likewise. * kern/host.c: Likewise. * kern/ipc_sched.c: Likewise. * kern/lock.c: Likewise. * kern/lock.h: Likewise. * kern/lock_mon.c: Likewise. * kern/mach_clock.c: Likewise. * kern/mach_factor.c: Likewise. * kern/machine.c: Likewise. * kern/priority.c: Likewise. * kern/processor.c: Likewise. * kern/processor.h: Likewise. * kern/sched.h: Likewise. * kern/sched_prim.c: Likewise. * kern/startup.c: Likewise. * kern/syscall_subr.c: Likewise. * kern/thread.c: Likewise. * kern/timer.c: Likewise. * kern/timer.h: Likewise. * vm/vm_resident.c: Likewise. * kern/sched_prim.c: Don't include `fast_tas.h'. * kern/task.c: Likewise. * kern/task.h: Likewise. * kern/sched_prim.c: Don't include `hw_footprint.h'. * kern/thread.c: Likewise. * kern/thread.h: Likewise. * kern/counters.c: Don't include `mach_counters.h'. * kern/counters.h: Likewise. * ddb/db_ext_symtab.c: Don't include `mach_debug.h'. * i386/i386/pcb.c: Likewise. * kern/ipc_kobject.c: Likewise. * kern/thread.c: Likewise. * kern/zalloc.c: Likewise. * kern/ast.c: Don't include `mach_fixpri.h'. * kern/processor.c: Likewise. * kern/processor.h: Likewise. * kern/sched.h: Likewise. * kern/sched_prim.c: Likewise. * kern/syscall_subr.c: Likewise. * kern/thread.c: Likewise. * kern/thread.h: Likewise. * kern/host.c: Don't include `mach_host.h'. * kern/ipc_sched.c: Likewise. * kern/machine.c: Likewise. * kern/processor.c: Likewise. * kern/processor.h: Likewise. * kern/sched_prim.c: Likewise. * kern/startup.c: Likewise. * kern/task.c: Likewise. * kern/thread.c: Likewise. * kern/thread.h: Likewise. * include/mach/mach.defs: Don't include `mach_ipc_compat.h'. * 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/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/ipc_tt.c: Likewise. * kern/syscall_sw.c: Likewise. * kern/thread.h: Likewise. * include/mach_debug/mach_debug.defs: Don't include `mach_ipc_debug.h'. * ipc/ipc_hash.c: Likewise. * ipc/ipc_hash.h: Likewise. * ipc/ipc_marequest.c: Likewise. * ipc/ipc_marequest.h: Likewise. * kern/ipc_kobject.c: Don't include `mach_ipc_test.h'. * ddb/db_access.c: Don't include `mach_kdb.h'. * ddb/db_aout.c: Likewise. * ddb/db_break.c: Likewise. * ddb/db_command.c: Likewise. * ddb/db_command.h: Likewise. * ddb/db_cond.c: Likewise. * ddb/db_examine.c: Likewise. * ddb/db_expr.c: Likewise. * ddb/db_ext_symtab.c: Likewise. * ddb/db_input.c: Likewise. * ddb/db_lex.c: Likewise. * ddb/db_macro.c: Likewise. * ddb/db_mp.c: Likewise. * ddb/db_output.c: Likewise. * ddb/db_print.c: Likewise. * ddb/db_run.c: Likewise. * ddb/db_sym.c: Likewise. * ddb/db_task_thread.c: Likewise. * ddb/db_trap.c: Likewise. * ddb/db_variables.c: Likewise. * ddb/db_watch.c: Likewise. * ddb/db_watch.h: Likewise. * ddb/db_write_cmd.c: Likewise. * i386/i386/db_disasm.c: Likewise. * i386/i386/db_interface.c: Likewise. * i386/i386/db_trace.c: Likewise. * i386/i386/i386asm.sym: Likewise. * i386/i386/locore.S: Likewise. * i386/i386/trap.c: Likewise. * i386/i386at/kd.c: Likewise. * i386/i386at/model_dep.c: Likewise. * include/mach_debug/mach_debug.defs: Likewise. * ipc/ipc_kmsg.c: Likewise. * ipc/ipc_object.c: Likewise. * ipc/ipc_port.c: Likewise. * ipc/ipc_pset.c: Likewise. * kern/bootstrap.c: Likewise. * kern/debug.c: Likewise. * kern/exception.c: Likewise. * kern/lock.c: Likewise. * kern/xpr.c: Likewise. * vm/vm_fault.c: Likewise. * vm/vm_map.c: Likewise. * vm/vm_object.c: Likewise. * vm/vm_resident.c: Likewise. * kern/lock.h: Don't include `mach_ldebug.h'. * kern/lock_mon.c: Don't include `mach_lock_mon.h'. * kern/ipc_kobject.c: Don't include `mach_machine_routines.h'. * kern/lock_mon.c: Don't include `mach_mp_debug.h'. * vm/memory_object.c: Don't include `mach_pagemap.h'. * vm/vm_fault.c: Likewise. * vm/vm_object.c: Likewise. * vm/vm_object.h: Likewise. * vm/vm_pageout.c: Likewise. * i386/i386/trap.c: Don't include `mach_pcsample.h'. * kern/mach4.srv: Likewise. * kern/mach_clock.c: Likewise. * kern/pc_sample.c: Likewise. * kern/task.c: Likewise. * kern/thread.c: Likewise. * vm/vm_fault.c: Likewise. * device/net_io.c: Don't include `mach_ttd.h'. * i386/i386/kttd_interface.c: Likewise. * i386/i386/locore.S: Likewise. * i386/i386/trap.c: Likewise. * i386/i386at/autoconf.c: Likewise. * include/mach_debug/mach_debug.defs: Don't include `mach_vm_debug.h'. * vm/vm_debug.c: Likewise. * vm/vm_page.h: Likewise. * vm/vm_resident.c: Likewise. * kern/sched_prim.c: Don't include `power_save.h'. * kern/sched.h: Don't include `simple_clock.h'. * kern/sched_prim.c: Likewise. * kern/thread.c: Likewise. * kern/mach_clock.c: Don't include `stat_time.h'. * i386/i386/i386asm.sym: Likewise. * i386/i386/locore.S: Likewise. * kern/sched.h: Likewise. * kern/timer.c: Likewise. * kern/timer.h: Likewise. * kern/startup.c: Don't include `xpr_debug.h'. * kern/xpr.h: Likewise. * i386/i386at/autoconf.c: Don't include `com.h'. * i386/i386at/com.c: Likewise. * i386/i386at/conf.c: Likewise. * i386/i386at/cons_conf.c: Likewise. * i386/i386/fpe_linkage.c: Don't include `fpe.h'. * i386/i386/fpu.c: Likewise. * i386/i386/fpu.h: Likewise. * i386/i386/trap.c: Likewise. * i386/i386at/autoconf.c: Don't include `lpr.h'. * i386/i386at/conf.c: Likewise. * i386/i386at/lpr.c: Likewise. * i386/i386/cswitch.S: Don't include `platforms.h'. * i386/i386/fpu.c: Likewise. * i386/i386/gdt.c: Likewise. * i386/i386/hardclock.c: Likewise. * i386/i386/i386asm.sym: Likewise. * i386/i386/io_emulate.c: Likewise. * i386/i386/locore.S: Likewise. * i386/i386/pic.c: Likewise. * i386/i386/pic.h: Likewise. * i386/i386/pit.c: Likewise. * i386/i386/pit.h: Likewise. * i386/i386/seg.h: Likewise. * i386/i386at/model_dep.c: Likewise. * i386/i386at/com.c: Don't include `rc.h' * i386/i386at/cons_conf.c: Likewise. * i386/i386at/pic_isa.c: Likewise. * device/ds_routines.c: Don't include <i386/linux/device-drivers.h>. * i386/i386at/i386at_ds_routines.c: Likewise. * i386/linux/dev/include/linux/autoconf.h: Likewise. * linux/dev/arch/i386/kernel/setup.c: Likewise. * linux/dev/init/main.c: Likewise. * linux/pcmcia-cs/glue/pcmcia_glue.h: Likewise. * linux/pcmcia-cs/glue/wireless_glue.h: Likewise. * kern/lock_mon.c: Don't include <time_stamp.h>. * device/cons.c: Include <device/cons.h> instead of <cons.h>. * i386/i386at/com.c: Likewise. * i386/i386at/kd.c: Likewise. * i386/i386at/cons_conf.c: Likewise. * i386/i386at/i386at_ds_routines.c: Include <device/device.server.h> instead of "device_interface.h". * device/chario.c: Include <device/device_reply.user.h> instead of "device_reply.h". * device/ds_routines.c: Likewise. * linux/dev/glue/block.c: Likewise. * linux/dev/glue/net.c: Likewise. * linux/pcmcia-cs/glue/ds.c: Likewise. * device/cons.c: Include <device/kmsg.h> instead of <kmsg.h>. * device/kmsg.c: Likewise. * i386/i386/cswitch.S: Include <i386/cpu_number.h> instead of "cpu_number.h". * i386/i386/locore.S: Likewise. * i386/intel/pmap.c: Likewise. * ipc/ipc_kmsg.h: Likewise. * i386/i386/i386asm.sym: Include <i386/gdt.h> instead of "gdt.h". * i386/i386/idt.c: Likewise. * i386/i386at/int_init.c: Likewise. * i386/i386/cswitch.S: Include <i386/i386asm.h> instead of "i386asm.h". * i386/i386/locore.S: Likewise. * i386/i386at/boothdr.S: Likewise. * i386/i386at/interrupt.S: Likewise. * i386/i386at/idt.h: Include <i386/idt-gen.h> instead of "idt-gen.h". * i386/i386at/interrupt.S: Include <i386/ipl.h> instead of "ipl.h". * i386/i386/i386asm.sym: Include <i386/ldt.h> instead of "ldt.h". * i386/i386/locore.S: Likewise. * i386/i386/i386asm.sym: Include <i386/mp_desc.h> instead of "mp_desc.h". * i386/i386at/interrupt.S: Include <i386/pic.h> instead of "pic.h". * i386/i386/cswitch.S: Include <i386/proc_reg.h> instead of "proc_reg.h". * i386/i386/locore.S: Likewise. * i386/i386at/model_dep.c: Likewise. * i386/i386/i386asm.sym: Include <i386/seg.h> instead of "seg.h". * i386/i386/idt.c: Likewise. * i386/i386/locore.S: Likewise. * i386/i386/locore.S: Include <i386/trap.h> instead of "trap.h". * i386/i386/i386asm.sym: Include <i386/tss.h> instead of "tss.h". * i386/i386/i386asm.sym: Include <i386/vm_param.h> instead of "vm_param.h". * i386/i386/idt.c: Likewise. * i386/i386at/kd.c: Likewise. * i386/i386at/model_dep.c: Likewise. * i386/intel/pmap.c: Likewise. * i386/i386/i386asm.sym: Include <i386at/idt.h> instead of "idt.h". * i386/i386/idt.c: Likewise. * i386/i386at/int_init.c: Likewise. * ipc/ipc_target.c: Include <kern/sched_prim.h> instead of "sched_prim.h". * vm/memory_object.c: Include <vm/memory_object_default.user.h> instead of "memory_object_default.h". * vm/vm_object.c: Likewise. * vm/vm_pageout.c: Likewise. * vm/memory_object.c: Include <vm/memory_object_user.user.h> instead of "memory_object_user.h". * vm/vm_fault.c: Likewise. * vm/vm_object.c: Likewise. * vm/vm_pageout.c: Likewise.
2009-06-182006-10-13 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makerules.in (ASFLAGS): Don't define `ASSEMBLER'. * i386/i386/cpu_number.h: Check for `__ASSEMBLER__' instead of `ASSEMBLER'. * i386/i386/debug.h: Likewise. * i386/i386/ipl.h: Likewise. * i386/i386/ldt.h: Likewise. * i386/i386/proc_reg.h: Likewise. * i386/i386/seg.h: Likewise. * i386/i386/trap.h: Likewise. * i386/include/mach/i386/kern_return.h: Likewise. * i386/include/mach/i386/vm_types.h: Likewise. * i386/intel/pmap.h: Likewise. * include/mach/boolean.h: Likewise. * include/mach/boot.h: Likewise. * include/mach/error.h: Likewise. * kern/syscall_emulation.h: Likewise.
2009-06-182006-03-20 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* DEVELOPMENT: Document the NORMA removal. 2006-03-20 Leonardo Lopes Pereira <leonardolopespereira@gmail.com> Remove unused and unsupported code. Consult the file `DEVELOPMENT' for details. [patch #4982] * bogus/norma_device.h: Remove file. * bogus/norma_ether.h: Likewise. * bogus/norma_ipc.h: Likewise. * bogus/norma_task.h: Likewise. * bogus/norma_vm.h: Likewise. * include/mach/mach_norma.defs: Likewise. * include/mach/norma_task.defs: Likewise. * include/mach/norma_special_ports.h: Likewise. * Makefile.in (bogus-files): Remove `norma_device.h', `norma_ether.h', `norma_ipc.h', `norma_task.h' and `norma_vm.h'. (mach-headers): Remove `mach_norma.defs', `norma_task.defs' and `norma_special_ports.h'. * device/ds_routines.c: Don't include <norma_device.h> anymore and adopt all users of NORMA_DEVICE as if it were always defined to `0'. * device/net_io.c: Likewise for <norma_ether.h>, NORMA_ETHER. * kern/machine.c: Likewise. * ddb/db_command.c: Likevise for <norma_ipc.h>, NORMA_IPC. * ipc/ipc_init.c: Likewise. * ipc/ipc_kmsg.c: Likewise. * ipc/ipc_kmsg.h: Likewise. * ipc/ipc_mqueue.c: Likewise. * ipc/ipc_notify.c: Likewise. * ipc/ipc_port.c: Likewise. * ipc/ipc_port.h: Likewise. * ipc/ipc_space.c: Likewise. * ipc/ipc_space.h: Likewise. * ipc/mach_msg.c: Likewise. * kern/ast.c: Likewise. * kern/debug.c: Likewise. * kern/exception.c: Likewise. * kern/startup.c: Likewise. * vm/memory_object.c: Likewise. * vm/vm_map.c: Likewise. * kern/ipc_kobject.c: Likewise for <norma_task.h>, NORMA_TASK. * kern/task.c: Likewise. * kern/task.h: Likewise. * ddb/db_command.c: Likewise for <norma_vm.h>, NORMA_VM. * device/dev_pager.c: Likewise. * include/mach/mach_types.defs: Likewise. * include/mach/mach_types.h: Likewise. * include/mach/memory_object_default.defs: Likewise. * include/mach/memory_object.defs: Likewise. * ipc/ipc_kmsg.c: Likewise. * kern/ipc_kobject.c: Likewise. * kern/ipc_mig.c: Likewise. * kern/startup.c: Likewise. * vm/memory_object.c: Likewise. * vm/vm_object.c: Likewise. * vm/vm_object.h: Likewise. * vm/vm_pageout.c: Likewise.
2009-06-182006-03-19 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* DEVELOPMENT: Document the FIPC removal. 2006-03-19 Leonardo Lopes Pereira <leonardolopespereira@gmail.com> Remove unused and unsuported code. Consult the file `DEVELOPMENT' for details. * ipc/fipc.c: Remove file. * ipc/fipc.h: Likewise. * Makefile.in (ipc-cfiles): Remove `fipc.c'. (ipc-files): Remove `fipc.h'. * device/device_init.c [FIPC]: Remove code. * device/net_io.c [FIPC]: Likewise. * include/mach/syscall_sw.h [FIPC]: Likewise. * kern/syscall_sw.c [FIPC]: Likewise.
2001-10-072001-10-07 Roland McGrath <roland@frob.com>Roland McGrath
* ddb/db_access.c: Fix obsolescent #else/#endif syntax. * device/dev_name.c: Likewise. * device/dev_pager.c: Likewise. * device/ds_routines.c: Likewise. * i386/i386/i386asm.sym: Likewise. * include/device/device_reply.defs: Likewise. * include/mach/memory_object.defs: Likewise. * include/mach/memory_object_default.defs: Likewise.
2001-04-052001-04-04 Roland McGrath <roland@frob.com>Roland McGrath
* ddb/db_access.h: Fix obsolescent #else/#endif syntax. * ddb/db_aout.c: Likewise. * ddb/db_break.c: Likewise. * ddb/db_break.h: Likewise. * ddb/db_command.c: Likewise. * ddb/db_command.h: Likewise. * ddb/db_cond.c: Likewise. * ddb/db_examine.c: Likewise. * ddb/db_expr.c: Likewise. * ddb/db_ext_symtab.c: Likewise. * ddb/db_input.c: Likewise. * ddb/db_lex.c: Likewise. * ddb/db_macro.c: Likewise. * ddb/db_mp.c: Likewise. * ddb/db_output.c: Likewise. * ddb/db_print.c: Likewise. * ddb/db_run.c: Likewise. * ddb/db_sym.c: Likewise. * ddb/db_task_thread.c: Likewise. * ddb/db_task_thread.h: Likewise. * ddb/db_trap.c: Likewise. * ddb/db_variables.c: Likewise. * ddb/db_watch.c: Likewise. * ddb/db_watch.h: Likewise. * ddb/db_write_cmd.c: Likewise. * device/dev_pager.c: Likewise. * device/device_port.h: Likewise. * device/device_types_kernel.h: Likewise. * device/ds_routines.h: Likewise. * device/errno.h: Likewise. * device/if_ether.h: Likewise. * device/if_hdr.h: Likewise. * device/io_req.h: Likewise. * device/net_io.c: Likewise. * device/net_io.h: Likewise. * i386/i386/ast_check.c: Likewise. * i386/i386/cswitch.S: Likewise. * i386/i386/db_disasm.c: Likewise. * i386/i386/db_interface.c: Likewise. * i386/i386/db_trace.c: Likewise. * i386/i386/debug.h: Likewise. * i386/i386/debug_i386.c: Likewise. * i386/i386/debug_trace.S: Likewise. * i386/i386/eflags.h: Likewise. * i386/i386/gdt.h: Likewise. * i386/i386/hardclock.c: Likewise. * i386/i386/idt-gen.h: Likewise. * i386/i386/ipl.h: Likewise. * i386/i386/ktss.h: Likewise. * i386/i386/kttd_interface.c: Likewise. * i386/i386/ldt.h: Likewise. * i386/i386/lock.h: Likewise. * i386/i386/locore.S: Likewise. * i386/i386/mp_desc.h: Likewise. * i386/i386/pic.c: Likewise. * i386/i386/pic.h: Likewise. * i386/i386/pio.h: Likewise. * i386/i386/pit.h: Likewise. * i386/i386/seg.h: Likewise. * i386/i386/thread.h: Likewise. * i386/i386/trap.c: Likewise. * i386/i386/trap.h: Likewise. * i386/i386/vm_param.h: Likewise. * i386/i386/vm_tuning.h: Likewise. * i386/i386at/autoconf.c: Likewise. * i386/i386at/blit.c: Likewise. * i386/i386at/conf.c: Likewise. * i386/i386at/fd.c: Likewise. * i386/i386at/idt.h: Likewise. * i386/i386at/immc.c: Likewise. * i386/i386at/kd.c: Likewise. * i386/i386at/kd_event.c: Likewise. * i386/i386at/kd_mouse.c: Likewise. * i386/i386at/model_dep.c: Likewise. * i386/i386at/rtc.c: Likewise. * i386/include/mach/i386/asm.h: Likewise. * i386/include/mach/i386/eflags.h: Likewise. * i386/include/mach/i386/mach_i386.defs: Likewise. * i386/include/mach/i386/multiboot.h: Likewise. * i386/include/mach/i386/trap.h: Likewise. * i386/include/mach/i386/vm_types.h: Likewise. * i386/include/mach/sa/stdarg.h: Likewise. * i386/intel/pmap.c: Likewise. * i386/intel/pmap.h: Likewise. * include/alloca.h: Likewise. * include/device/device_types.defs: Likewise. * include/device/device_types.h: Likewise. * include/device/disk_status.h: Likewise. * include/device/net_status.h: Likewise. * include/mach/mach.defs: Likewise. * include/mach/memory_object.defs: Likewise. * include/mach/std_types.defs: Likewise. * include/mach_debug/hash_info.h: Likewise. * include/mach_debug/ipc_info.h: Likewise. * include/mach_debug/mach_debug.defs: Likewise. * include/mach_debug/mach_debug_types.defs: Likewise. * include/mach_debug/mach_debug_types.h: Likewise. * include/mach_debug/vm_info.h: Likewise. * include/mach_debug/zone_info.h: Likewise. * include/sys/ioctl.h: Likewise. * include/sys/time.h: Likewise. * ipc/ipc_entry.h: Likewise. * ipc/ipc_hash.h: Likewise. * ipc/ipc_init.c: Likewise. * ipc/ipc_kmsg.c: Likewise. * ipc/ipc_kmsg.h: Likewise. * ipc/ipc_marequest.c: Likewise. * ipc/ipc_marequest.h: Likewise. * ipc/ipc_mqueue.c: Likewise. * ipc/ipc_mqueue.h: 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_pset.c: Likewise. * ipc/ipc_pset.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/assert.h: Likewise. * kern/ast.c: Likewise. * kern/ast.h: Likewise. * kern/bootstrap.c: Likewise. * kern/counters.c: Likewise. * kern/counters.h: Likewise. * kern/debug.h: Likewise. * kern/exception.c: Likewise. * kern/host.h: Likewise. * kern/ipc_host.c: Likewise. * kern/ipc_host.h: Likewise. * kern/ipc_kobject.c: Likewise. * kern/ipc_mig.c: Likewise. * kern/ipc_tt.c: Likewise. * kern/ipc_tt.h: Likewise. * kern/kalloc.h: Likewise. * kern/lock_mon.c: Likewise. * kern/mach_clock.c: Likewise. * kern/mach_factor.c: Likewise. * kern/mach_param.h: Likewise. * kern/machine.c: Likewise. * kern/processor.c: Likewise. * kern/profile.c: Likewise. * kern/queue.h: Likewise. * kern/sched.h: Likewise. * kern/startup.c: Likewise. * kern/syscall_emulation.h: Likewise. * kern/syscall_subr.c: Likewise. * kern/syscall_subr.h: Likewise. * kern/syscall_sw.c: Likewise. * kern/syscall_sw.h: Likewise. * kern/task.h: Likewise. * kern/thread_swap.h: Likewise. * kern/time_out.h: Likewise. * kern/time_stamp.c: Likewise. * kern/time_stamp.h: Likewise. * kern/timer.c: Likewise. * kern/timer.h: Likewise. * kern/xpr.c: Likewise. * kern/xpr.h: Likewise. * kern/zalloc.c: Likewise. * kern/zalloc.h: Likewise. * linux/dev/drivers/block/ide.c: Likewise. * linux/dev/include/linux/blk.h: Likewise. * linux/src/include/linux/cdrom.h: Likewise. * linux/src/include/linux/md.h: Likewise. * util/cpu.h: Likewise. * vm/memory_object.c: Likewise. * vm/memory_object.h: Likewise. * vm/pmap.h: Likewise. * vm/vm_debug.c: Likewise. * vm/vm_external.h: Likewise. * vm/vm_fault.c: Likewise. * vm/vm_fault.h: Likewise. * vm/vm_kern.h: Likewise. * vm/vm_map.c: Likewise. * vm/vm_map.h: Likewise. * vm/vm_object.h: Likewise. * vm/vm_pageout.c: Likewise. * vm/vm_pageout.h: Likewise. * vm/vm_user.h: Likewise.
2000-10-292000-10-29 Roland McGrath <roland@frob.com>Roland McGrath
* i386/include/mach/proc_ops.h: Dead file removed. * i386/include/mach/setjmp.h: Dead file removed. * i386/include/mach/sa/sys/varargs.h: Dead file removed. * include/mach/proc_ops.h: Dead file removed. * Makefile.in (mach-headers): Remove proc_ops.h. * i386/Makefrag (i386-installed-headers): Likewise. (installed-headers): Don't touch this any more.
1999-06-21Delete old files from Utah Mach4 that we aren't using.Thomas Bushnell
1998-10-281998-10-28 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* include/mach/multiboot.h: Contents were doubled.
1998-10-241998-10-04 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* include/mach/message.h: Use __typeof instead of typeof.
1997-08-20Wed Aug 20 16:05:19 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* kern/thread.h (struct thread): New member `creation_time'. * include/mach/thread_info.h: New member `creation_time'. * kern/thread.c (thread_create): Set creation time stamp. (thread_info) [THREAD_BASIC_INFO]: Fill in new creation time field. Carefully preserve compatibility with old callers. * kern/task.h (struct task): New member `creation_time'. * include/mach/task_info.h: New member `creation_time'. * kern/task.c (task_create): Set creation time stamp. (task_info) [TASK_BASIC_INFO]: Fill in new creation time field. Carefully preserve compatibility with old callers.
1997-06-26Thu Jun 26 13:48:31 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* include/mach/machine.h (CPU_TYPE_I486, CPU_TYPE_PENTIUM, CPU_TYPE_PENTIUMPRO, CPU_TYPE_POWERPC): New CPU types. These conform to current OSF Mach values, but note that some of the various subtypes are different.