Age | Commit message (Collapse) | Author |
|
|
|
* device/dev_pager.c: Remove register qualifiers.
|
|
* device/dev_name.c: Change in coding style.
|
|
Variable 'found' already receives values TRUE and FALSE, so why not make
it a boolean.
* device/dev_name.c: Use boolean_t instead of an int.
|
|
The first one is a message that name lookup has been called, which
I think is safe to remove, or maybe add #if DEBUG. Second one is a
alternate calculation that I doubt it will ever be used, so I think
it's safe to remove it.
* device/dev_name.c: Remove preprocessor comments.
|
|
* device/dev_name.c: Change in coding style.
|
|
* device/dev_name: Changes in coding style.
|
|
* device/dev_name.c: Remove register qualifiers.
|
|
NDEVICES is never used. Judging by the position and the comments
it was once used in initialization, but it's not anymore. I think
it's safe to remove it.
* device/dev_lookup.c (NDEVICES): Remove definition.
|
|
* device/dev_lookup.c: Remove register qualifiers.
|
|
* device/cirbuf.c: Remove register qualifiers.
|
|
A variable that keeps track if the console init has been called. It should
never receive values other than 0 and 1, so constrain it's possible range of
values to a boolean.
* device/cons.c (cn_inited): Use boolean_t instead of an int.
|
|
A variable that keeps track of the console buffer usage should never receive
values other than 0 and 1, so constrain it's value range to boolean. Plus, it's
more readable this way.
* device/cons.c (consbufused): Use boolean_t instead of an int.
|
|
CONSMAJOR is never used. I'm guessing that in the past it was
a part of some problematic code. I don't see a reason to keep
it's definition.
* device/cons.h (CONSMAJOR): Remove definition.
|
|
* device/chario.c: Remove register qualifiers.
|
|
* device/chario.c (tty_inq_size, tty_outq_size): Qualify constants as const.
|
|
* device/chario.c (tty_flush): Remove forward declaration (prototype is in tty.h).
|
|
* device/tty.h [luna88k]: Remove ifdef and include for nonexistent header files.
* kern/debug.c: Remove check for luna88k.
|
|
* device/ds_routines.h (device_pager_setup): Add prototype.
|
|
* device/net_io.h (ntohl, htonl, ntohs, htons): Add prototypes.
|
|
* device/net_io.c (bpf_match): Make the `keys' parameter a pointer to
unsigned int instead of unsigned long.
(bpf_do_filter): Make `A', `B' and `mem' unsigned ints instead of unsigned
longs. Also turn long casts into int casts.
|
|
* device/blkio.c (disksort): remove unused function
|
|
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.
|
|
* device/dev_pager.c: Remove #include <kern/kalloc.h>.
* i386/i386/io_perm.c: Add #include <kern/kalloc.h>.
* kern/bootstrap.c: Likewise.
* kern/ipc_tt.c: Likewise.
* kern/pc_sample.c: Likewise.
* kern/processor.c: Likewise.
* kern/server_loop.ch: Likewise.
* kern/thread.c: Likewise.
* linux/dev/glue/block.c: Likewise.
* linux/dev/glue/net.c: Likewise.
* vm/vm_map.c: Likewise.
* xen/block.c: Likewise.
* xen/net.c: Likewise.
* xen/store.c: Likewise.
|
|
Unlike the zone allocator, the slab code can't be fed with an initial
chunk of memory. Some VM objects used early during startup now have to
be statically allocated, and kernel map entries need a special path
to avoid recursion when being allocated.
* vm/vm_map.c (vm_submap_object_store): New variable.
(vm_submap_object): Point to vm_submap_object_store.
(kentry_data_size): Initialize to arbitrary value.
(kentry_count): Remove variable.
(kentry_pagealloc): New function.
(vm_map_setup): Likewise.
(vm_map_create): Replace initialization with a call to vm_map_setup().
* vm/vm_map.h (vm_map_setup): New prototype.
* vm/vm_kern.c (kernel_map_store): New variable.
(kernel_map): Point to kernel_map_store.
(kmem_suballoc): Remove function. Replaced with...
(kmem_submap): New function.
(kmem_init): Call vm_map_setup() instead of vm_map_create().
* vm/vm_kern.h (kmem_suballoc): Remove prototype.
(kmem_submap): New prototype.
* vm/vm_object.c (kernel_object_store): New variable.
(kernel_object): Point to kernel_object_store.
(vm_object_template): Change type from vm_object_t to struct vm_object.
(_vm_object_setup): New function.
(_vm_object_allocate): Replace initialization with a call to
_vm_object_setup().
(vm_object_bootstrap): Don't allocate vm_object_template, and use it as
a structure instead of a pointer. Initialize kernel_object and
vm_submap_object with _vm_object_setup() instead of
_vm_object_allocate().
* vm/vm_resident.c (vm_page_bootstrap): Don't initialize
kentry_data_size.
* device/ds_routines.c (device_io_map_store): New variable.
(device_io_map): Point to device_io_map_store.
(mach_device_init): Call kmem_submap() instead of kmem_suballoc().
* ipc/ipc_init.c (ipc_kernel_map_store): New variable.
(ipc_kernel_map): Point to ipc_kernel_map_store.
|
|
* device/dev_lookup.c: Replace zalloc header, types and function calls
with their slab counterparts.
* device/dev_pager.c: Likewise.
* device/ds_routines.c: Likewise.
* device/io_req.h: Likewise.
* device/net_io.c: Likewise.
* i386/i386/fpu.c: Likewise.
* i386/i386/io_perm.c: Likewise.
* i386/i386/machine_task.c: Likewise.
* i386/i386/pcb.c: Likewise.
* i386/i386/task.h: Likewise.
* i386/intel/pmap.c: Likewise.
* i386/intel/pmap.h: Remove #include <kernel/zalloc.h>.
* include/mach_debug/mach_debug.defs (host_zone_info): Replace
routine declaration with skip directive.
(host_slab_info): New routine declaration.
* include/mach_debug/mach_debug_types.defs (zone_name_t)
(zone_name_array_t, zone_info_t, zone_info_array_t): Remove types.
(cache_info_t, cache_info_array_t): New types.
* include/mach_debug/mach_debug_types.h: Replace #include
<mach_debug/zone_info.h> with <mach_debug/slab_info.h>.
* ipc/ipc_entry.c: Replace zalloc header, types and function calls with
their slab counterparts.
* ipc/ipc_entry.h: Likewise.
* ipc/ipc_init.c: Likewise.
* ipc/ipc_marequest.c: Likewise.
* ipc/ipc_object.c: Likewise.
* ipc/ipc_object.h: Likewise.
* ipc/ipc_space.c: Likewise.
* ipc/ipc_space.h: Likewise.
* ipc/ipc_table.c (kalloc_map): Remove extern declaration.
* kern/act.c: Replace zalloc header, types and function calls with their
slab counterparts.
* kern/kalloc.h: Add #include <vm/vm_types.h>.
(MINSIZE): Remove definition.
(kalloc_map): Add extern declaration.
(kget): Remove prototype.
* kern/mach_clock.c: Adjust comment.
* kern/processor.c: Replace zalloc header, types and function calls with
their slab counterparts.
* kern/startup.c: Remove #include <kernel/zalloc.h>.
* kern/task.c: Replace zalloc header, types and function calls with
their slab counterparts.
* kern/thread.c: Likewise.
* vm/memory_object_proxy.c: Likewise.
* vm/vm_external.c: Likewise.
* vm/vm_fault.c: Likewise.
* vm/vm_init.c: Likewise.
* vm/vm_map.c: Likewise.
* vm/vm_object.c: Likewise.
* vm/vm_page.h: Remove #include <kernel/zalloc.h>.
* vm/vm_pageout.c: Replace zalloc header, types and function calls with
their slab counterparts.
* vm/vm_resident.c: Likewise.
(zdata, zdata_size): Remove declarations.
(vm_page_bootstrap): Don't steal memory for the zone system.
|
|
Use «unifdef -DMACK_KERNEL=1» as a starting point, but only remove
the code not exposed on public headers, the rest is needed to build
properly from userland.
* device/cons.c [!MACH_KERNEL]: Remove includes.
[!MACH_KERNEL] (constty): Remove variable.
(cninit, cnmaygetc) [MACH_KERNEL]: Remove preprocessor conditionals.
[!MACH_KERNEL] (cnopen, cnclose, cnread, cnwrite, cnioctl, cnselect)
(cncontrol): Remove functions.
* device/cons.h (struct consdev) [MACH_KERNEL]: Remove preprocessor
conditional.
* device/kmsg.h [MACH_KERNEL]: Likewise.
* i386/i386at/autoconf.c [!MACH_KERNEL]: Remove includes.
* i386/i386at/kd_event.c [!MACH_KERNEL]: Likewise.
[!MACH_KERNEL] (kbd_sel, kbdpgrp, kbdflag): Remove variables.
[!MACH_KERNEL] (KBD_COLL, KBD_ASYNC, KBD_NBIO): Remove macros.
(kbdopen, kbdclose, kbd_enqueue) [!MACH_KERNEL]: Remove code.
[!MACH_KERNEL] (kbdioctl, kbdselect, kbdread): Remove functions.
[!MACH_KERNEL] (X_kdb_enter_init, X_kdb_exit_init: Likewise.
* i386/i386at/kd_mouse.c [!MACH_KERNEL]: Remove includes.
[!MACH_KERNEL] (mouse_sel, mousepgrp, mouseflag): Remove variables.
[!MACH_KERNEL] (MOUSE_COLL, MOUSE_ASYNC, MOUSE_NBIO): Remove macros.
(mouseopen, mouseclose, kd_mouse_read, mouse_enqueue) [!MACH_KERNEL]: Remove
code.
[!MACH_KERNEL] (mouseioctl, mouseselect, mouseread): Remove functions.
* i386/i386at/lpr.c [!MACH_KERNEL]: Remove includes.
(lpropen) [MACH_KERNEL]: Remove preprocessor conditionals.
(lpropen, lprclose, lprstart) [!MACH_KERNEL]: Remove code.
[!MACH_KERNEL] (lprwrite, lprioctl, lprstop): Remove functions.
* i386/i386at/rtc.c (readtodc, writetodc) [!MACH_KERNEL]: Remove code.
* kern/mach_factor.c [MACH_KERNEL]: Remove preprocessor conditional.
* xen/time.c (readtodc) [!MACH_KERNEL]: Remove code.
|
|
* 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.
|
|
* device/errno.h: Remove file.
* Makefrag.am (libkernel_a_SOURCES): Remove `device/errno.h'.
* i386/i386at/com.c: Include <device/device_types.h> instead of
<device/errno.h>.
(comopen): Replace ENXIO with D_NO_SUCH_DEVICE.
* i386/i386at/kd_event.c: Include <device/device_types.h> instead of
<device/errno.h>.
* i386/i386at/kd_mouse.c: Likewise.
(mouseopen): Replace ENODEV with D_NO_SUCH_DEVICE and EBUSY with
D_ALREADY_OPEN.
* i386/i386at/lpr.c: Include <device/device_types.h> instead of
<device/errno.h>.
(lpropen): Replace ENXIO with D_NO_SUCH_DEVICE and EBUSY with
D_ALREADY_OPEN.
|
|
* device/ds_routines.h (io_done_list): Add variable declaration.
(device_io_map): Keep variable declaration and move definition to...
* device/ds_routines.c: ... here.
* i386/i386/fpu.c: Include <i386/pic.h>
(curr_ipl): Remove declaration.
(fpintr): Add int unit parameter.
* linux/dev/glue/glue.h: New header.
* i386/i386/fpu.h (fpintr): Add function prototype.
* i386/i386/hardclock.c (clock_interrupt, linux_timer_intr): Remove prototypes.
[LINUX_DEV]: Include <linux/dev/glue/glue.h>
* i386/i386/ipl.h (curr_ipl): Add declaration.
* i386/i386/pic.h (curr_pic_mask, pic_mask, prtnull, intnull): Add
declarations.
* i386/i386at/kd.h (kdintr): Add declaration.
* i386/i386at/pic_isa.c: Include <i386/fpu.h> and <i386at/kd.h>
(intnull, fpintr, hardclock, kdintr, prtnull): Remove prototypes.
* i386/xen/xen.c: Include <kern/mach_clock.h>
(clock_interrupt): Remove prototype.
* linux/dev/arch/i386/kernel/irq.c: Include <linux/dev/glue/glue.h> and
<machine/machspl.h>
(linux_timer_intr, splhigh, spl0, curr_ipl, curr_pic_mask, pic_mask,
get_options): Remove declarations.
* linux/dev/drivers/block/floppy.c: Include <linux/dev/glue/glue.h>
(issig, get_options): Remove declarations.
* linux/dev/drivers/block/genhd.c: Include <linux/dev/glue/glue.h>
(linux_intr_pri): Remove declaration.
* linux/dev/glue/block.c: Include <devices/ds_routines.h> and
<linux/dev/glue/glue.h>.
(device_io_map, blksize_size): Remove declarations.
* linux/dev/glue/kmem.c: Include <kern/printf.h> and <linux/dev/glue/glue.h>
(alloc_contig_mem, printf): Remove declarations.
* linux/dev/glue/misc.c: Include <printf.h> and <linux/dev/glue/glue.h>
(vm_map_lookup_entry, printf): Remove prototypes.
* linux/dev/glue/net.c: Include <kern/printf.h>, <device/ds_routines.h> and
<linux/dev/glue/glue.h>.
(linux_intr_pri, io_done_list): Remove declarations.
* linux/dev/init/main.c: Include <machine/model_dep.h> and
<linux/dev/glue/glue.h>.
(phys_last_addr, alloc_contig_mem, free_contig_mem, init_IRQ,
restore_IRQ, startrtclock, linux_version_init, linux_kmem_init, pci_init,
linux_net_emulation_init, device_setup, linux_printk, linux_timer_intr, spl0,
splhigh, form_pic_mask, linux_bad_intr, prtnull, intnull, linux_sched_init,
pcmcia_init): Remove declarations.
* linux/dev/kernel/sched.c: Include <kern/printf.h>, <machine/machspl.h> and
<linux/dev/glue/glue.h>.
(alloc_contig_mem, free_contig_mem, splhigh, splx, linux_soft_intr, issig,
printf, linux_auto_config): Remove prototypes.
* linux/dev/kernel/softirq.c: Include <linux/dev/glue/glue.h>.
* linux/src/drivers/block/floppy.c: Include <linux/dev/glue/glue.h>.
(get_options): Remove prototype.
* linux/src/init/main.c: Include <linux/dev/glue/glue.h>
(init_IRQ): Remove prototype.
|
|
* device/dev_pager.c: Include <device/memory_object_reply.user.h>.
* linux/pcmcia-cs/glue/wireless_glue.h: Include <kern/debug.h>.
|
|
* device/cons.h: Add multiple inclusion _DEVICE_CONS_H macro protector.
(struct consdev): Add function members prototypes.
* i386/i386/xen.h: Include <mach/xen.h>.
* i386/i386at/com.c (comcnprobe, comcninit, comcngetc, comcnputc): Move
prototypes...
* i386/i386at/com.h: ... here. Include <device/cons.h>.
* i386/i386at/cons_conf.c [MACH_HYP]: Include <xen/console.h>.
[!MACH_HYP]: Include "kd.h".
[!MACH_HYP && NCOM > 0]: Include "com.h".
(hypcnprobe, hypcninit, hypcngetc, hypcnputc, kdcnprobe, kdcninit, kdcngetc,
kdcnputc comcnprobe, comcninit, comcngetc, comcnputc): Remove prototypes.
* i386/i386at/kd.c (kdcnputc): Make it return int, -1 on error, 0 on
success.
(kdcnprobe, kdcninit, kdcngetc, kdcnputc): Move prototypes...
* i386/i386at/kd.h: ... here. Include <device/cons.h>.
* xen/console.c (hypcnprobe): Remove unused `my_console' local variable.
* xen/console.h: Include <device/cons.h>
(hypcnputc, hypcngetc, hypcnprobe, hypcninit): Add prototypes.
|
|
* device/ds_routines.c (free_skbuffs): Move declaration to the top.
|
|
* device/net_io.c (bpf_do_filter): Remove lint conditional.
|
|
* device/ds_routines.c [LINUX_DEV && CONFIG_INET] (free_skbuffs): Add
prototype.
|
|
Follow-up to fa6c711d
* vm/vm_object.c (DEVICE_IO_MAP_SIZE): Increase to 16MiB.
* kern/kalloc.c (kalloc_map_size): Increase to 64MiB.
* i386/intel/pmap.c (morevm): Increase to 128MiB.
|
|
* device/device_init.c (device_service_create) [MACH_HYP]: Call
hyp_dev_init.
* xen/xen.c (hyp_init): Do not call hyp_block_init and hyp_net_init, now
called in ...
(hyp_dev_init): New function.
* xen/xen.h (hyp_dev_init): New declaration.
|
|
* kern/debug.h (SoftDebugger): Add prototype.
* kern/debug.c (Debugger): Move code invoking debugging trap
to...
(SoftDebugger): ... new function. Print the passed message.
* kern/lock_mon.c (decl_simple_lock_data, retry_bit_lock): Call
SoftDebugger instead of Debugger.
* device/ds_routines.c (ds_device_open, device_read,
device_read_inband): Call SoftDebugger instead of Debugger.
* i386/i386at/model_dep.c (c_boot_entry): Call SoftDebugger
instead of Debugger.
* kern/syscall_sw.c (null_port, kern_invalid): Call SoftDebugger
instead of Debugger.
* vm/vm_object.c (vm_object_collapse): Call SoftDebugger instead
of Debugger.
|
|
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.
|
|
* device/net_io.c (net_set_filter): Cast filter into bpf_insn_t for
bpf_eq call.
|
|
* devices/io_reqs.h (io_req): Set type of io_alloc_size field to
vm_size_t.
* device/ds_routines.c (device_write_dealloc): Remove cast of
io_alloc_size field.
* device/subrs.c (brelse): Likewise.
|
|
* device/chario.c (ttypush): Set parameter type to void * instead of
struct tty *, and implicitly cast the former into the latter instead.
* i386/i386at/com.c: Include <kern/mach_clock.h>.
(timeout, ttrstrt): Remove declarations.
(comtimer): Add unused void * parameter.
(comopen): Pass NULL to comtimer function.
* i386/i386at/kd.h (kd_belloff): Add unused void * parameter.
* i386/i386at/kd.c (timeout): Remove declaration.
(kd_belloff): Add unused void * parameter.
(feep, kdsetbell): Pass NULL to kd_belloff function.
* i386/i386at/lpr.c: Include <mach_clock.h>.
(timeout, ttrstrt): Remove declarations.
* kern/mach_clock.c (softclock, timeout, untimeout): Set parameter
type of fcn function pointer to void * instead of char *. Set type
of param to void * instead of char *.
* kern/mach_clock.h (timer_elt): Set parameter type of fcn member
to void * instead of char *. Set time of param member to void * instead
of char *.
(timeout): Set parameter type of fcn function pointer parameter to void
* instead of char *.
(untimeout): Likewise, set type of param parameter to void * instead of
char *.
* kern/sched_prim.c (sched_init): Remove cast of recompute_priorities.
Replace (char *)0 with NULL.
(thread_timeout): Set parameter type to void * instead of thread_t, and
implicitly cast the former into the latter instead.
(thread_timeout_setup): Remove cast of thread_timeout, cast
thread_depress_timeout into (void (*) (void*)). Remove cast of thread.
(thread_recompute_priorities): Add unused void * parameter.
|
|
* device/tty.h (tty): Set type of t_ispeed and t_ospeed members to
unsigned char instead of (potentially signed) char.
|
|
* net_io.c (net_filter): Correct the amount of data of a packet accepted by
BPF.
|
|
* device/ds_routines.h (device_reference, device_deallocate): Add
function prototypes.
* kern/task.c (task_create): Moved unused i variable inside FAST_TAS.
* vm/vm_map.h (vm_map_copy_page_discard): Add function prototype.
* vm/vm_kern.c (projected_buffer_deallocate): Give &map->hdr
instead of map to _vm_map_clip_start and _vm_map_clip_end functions.
2008-12-01 Samuel Thibault <samuel.thibault@ens-lyon.org>
* device/device_emul.h (device_emulation_ops): Turn back reference,
dealloc, dev_to_port, write_trap and writev_trap into taking a void*,
as they do not always take a mach_device_t.
* device/ds_routines.c (mach_device_emulation_ops): Cast
mach_device_reference, mach_device_deallocate,
mach_convert_device_to_port, device_write_trap and device_writev_trap
to (void*) to make them accept a void* argument.
* linux/pcmcia-cs/glue/ds.c (device_deallocate): Rename function
into...
(ds_device_deallocate): ... this.
(dev_to_port): Call ds_device_deallocate instead of device_deallocate.
(linux_pcmcia_emulation_ops): Use ds_device_deallocate instead of
device_deallocate, cast mach_device_reference to (void*) to make it
accept a void* argument.
|
|
* device/device_emul.h (struct device_emulation_ops): Make members
reference, dealloc, dev_to_port, write_trap, and writev_trap take
mach_device_t parameter instead of void *.
* i386/i386at/autoconf.c: Make forward declarations for comintr()
and lprintr() match prototype. Add brackets around initialization
members for bus_ctlr and bus_device structs.
* i386/i386at/conf.c (dev_name_list): Pass nomap instead of nulldev
for map field.
* i386/i386at/pic_isa.c (intnull, fpintr, hardclock, kdintr,
prtnull): Declare the type of the value returned by functions to void.
|
|
* device/chario.c (ttyinput_many): Change chars param to char *.
* device/tty.h (ttyinput_many): Likewise.
* i386/i386/pcb.h: Include <mach/exec/exec.h>.
* i386/i386at/autoconf.h: Include <chips/busses.h>.
* i386/i386at/model_dep.c (inittodr): Cast &new_time.seconds to u_int *.
* ipc/mach_port.c (mach_port_insert_right): Cast poly to ipc_object_t.
* ipc/mach_debug.c (host_ipc_hash_info): Initialize size to 0 to make
the compiler believe that there is no bug.
* ipc/mach_debug.c (mach_port_space_info): Likewise for tree_size and
table_size.
* i386/i386at/com.c (commctl): Likewise for b.
* i386/i386/trap.c (user_trap): Likewise for exc.
* i386/i386/user_ldt.c (i386_set_ldt): Likewise for old_copy_object.
* i386/i386at/com.c (comintr): Check line_stat&iOR instead of line&iOR.
|
|
* chips/busses.h (bus_ctlr, bus_device): Make intr return void instead
of int.
* device/tty.h (tty): Make t_start and t_stop return void instead of
int.
* i386/i386/ipl.h (ivect[]): return void instead of int.
* i386/i386at/pic_isa.h (ivect[]): Likewise.
* i386/i386at/kd_mouse.c (mouseintr): Likewise.
* i386/i386at/com.c (comintr, comstop): Likewise.
* i386/i386at/kd.c (kdcnputc, kdstart, kdstop, kdintr): Likewise.
* i386/i386/trap.c (exception, thread_exception_return, i386_exception):
Add __attribute__ ((noreturn)).
* i386/i386at/kd.c (kdcnprobe): Return 0 at end of function.
* i386/i386at/lpr.c (lprintr, lprstart): Return void instead of int.
(lprstart): Don't return numeric values any longer.
* kern/eventcount.c (evc_wait_clear): Return a value.
* kern/exceptions.c (exception, exception_try_task, exception_no_server,
exception_raise, exception_raise_continue, exception_raise_continue_slow,
exception_raise_continue_fast): Add __attribute__ ((noreturn)).
(exception, exceptio_try_task, exception_raise,
exception_raise_continue_slow, exception_raise_continue_fast):
Remove spurious returns.
(exception_no_server): Add panic() on return from thread_halt_self().
|
|
* device/net_io.c (net_set_filter): Reference the proper member
instead of casting pointers.
* device/subrs.c (ether_sprintf): Set type of `i' to `int'.
* i386/i386/trap.c (kernel_trap): Pass page fault address to printf.
* i386/i386at/rtc.c (rtcget): Fix parenthesis to really test the bit.
|
|
* device/net_io.c (net_deliver): Fix parenthesis to really round up.
|