Age | Commit message (Collapse) | Author |
|
* include/mach/time_value.h (struct mapped_time_value): Adjust comment.
* kern/mach_clock.c (mtime): Likewise. Also make it volatile.
(update_mapped_time): Use full hardware barriers.
(read_mapped_time): New macro with proper fences.
(record_time_stamp, host_get_time): Use the new macro.
|
|
* 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.
|
|
* 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.
|
|
Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
* include/mach/notify.defs (notify_port_t): Add a payload-aware intran
mutator.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
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.
|
|
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.
|
|
* include/mach/mach_port.defs: Skip the routines mach_port_set_rpcinfo
and mach_port_create_act if MIGRATING_THREADS is not defined.
|
|
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.
|
|
* i386/Makefrag.am: Don't include i386/include/mach/i386/rpc.h.
* i386/include/mach/i386/rpc.h: Remove file.
|
|
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.
|
|
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.
|
|
* 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.
|
|
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.
|
|
* include/mach/vm_cache_statistics.h: New file
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
mach/mach_traps.h: Removed LINTLIBRARY #ifdefs.
mach/message.h: Removed LINTLIBRARY #ifdefs.
|
|
* 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-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.
|
|
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.
|
|
* include/mach/mach_types.defs (userprefix, serverprefix): Set, if
requested.
|
|
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>.
|
|
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.
|
|
[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.
|
|
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.
|
|
[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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
|
|
* include/mach/multiboot.h: Contents were doubled.
|
|
* include/mach/message.h: Use __typeof instead of typeof.
|
|
* 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.
|