2013-09-27  Thomas Schwinge  <thomas@codesourcery.com>

	GNU Mach 1.4.
	* version.m4 (AC_PACKAGE_VERSION): Set to 1.4.
	* NEWS: Finalize changes for 1.4.
	* README: Update.

	* configure.ac (AM_INIT_AUTOMAKE): Add dist-bzip2.

	Generate ChangeLog files for distributions.
	* gitlog-to-changelog: New file; import from gnulib's
	9fc81090f6c5590bd1b0e0fa5087577a2ee43a3e:build-aux/gitlog-to-changelog.
	* Makefile.am (gen-ChangeLog): New target.
	(dist-hook): Depend on it.

	dist-hook extensibility.
	* Makefile.am (dist-hook): Rename to...
	(dist-rm-CVS): ... this new target.
	(dist-hook): Depend on it.

	* README: Simplify build instructions.
	Follow-up to commit 471e5b080f7790c2cf95e3069d9fed1173c9ec17.

2013-09-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix gpl.texi build
	texinfo does not support @heading/@center in the middle of an enumerate.

	* doc/gpl.texi: Move "NO WARRANTY" to item heading.

2013-09-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Really update README
	* README: Network drivers are actually enabled by default.

	Update README
	* README: Update default drivers notice.  Mention cross-compilation flags
	for 64bit systems.

2013-09-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Drop Invariant, Front-Cover and Back-Cover references
	The referenced Invariant sections does not exist, and the front and back
	covers do not hold much information.

2013-09-22  Marin Ramesa  <mpr@hi.t-com.hr>

	device: remove unused file dk_label.c
	* device/dk_label.c: Remove file.

2013-09-21  Marin Ramesa  <mpr@hi.t-com.hr>

	add comments after endifs
	* device/ds_routines.c [CONFIG_PCMCIA, CONFIG_INET, LINUX_DEV, MACH_HYP]: Add comments after endifs.

	remove lint code
	* device/ds_routines.c [lint]: Remove ifdefs and associated code.

	remove register qualifiers
	* device/ds_routines.c: Remove register qualifiers.

	remove lint code
	* device/dev_pager.c [lint]: Remove ifdefs and associated code.

	Coding style trivial fixes

	remove register qualifiers
	* device/dev_pager.c: Remove register qualifiers.

2013-09-16  Marin Ramesa  <mpr@hi.t-com.hr>

	another small change in style for consistency
	* device/dev_name.c: Change in coding style.

2013-09-16  Marin Ramesa  <mpr@hi.t-com.hr>

	use boolean_t instead of an int
	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.

2013-09-16  Marin Ramesa  <mpr@hi.t-com.hr>

	remove preprocessor comments
	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.

2013-09-16  Marin Ramesa  <mpr@hi.t-com.hr>

	another small change in style for consistency
	* device/dev_name.c: Change in coding style.

	small style changes for consistency
	* device/dev_name: Changes in coding style.

	remove register qualifiers
	* device/dev_name.c: Remove register qualifiers.

2013-09-15  Marin Ramesa  <mpr@hi.t-com.hr>

	remove definition of NDEVICES
	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.

2013-09-15  Marin Ramesa  <mpr@hi.t-com.hr>

	remove register qualifiers
	* device/dev_lookup.c: Remove register qualifiers.

2013-09-11  Marin Ramesa  <mpr@hi.t-com.hr>

	remove register qualifiers.
	* device/cirbuf.c: Remove register qualifiers.

2013-09-11  Marin Ramesa  <mpr@hi.t-com.hr>

	track the console init with a boolean instead of an int
	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.

2013-09-11  Marin Ramesa  <mpr@hi.t-com.hr>

	track the console buffer usage with a boolean 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.

2013-09-11  Marin Ramesa  <mpr@hi.t-com.hr>

	drop unused CONSMAJOR
	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.

2013-09-09  Marin Ramesa  <mpr@hi.t-com.hr>

	Remove register qualifiers
	* device/chario.c: Remove register qualifiers.

	Add const qualifiers.
	* device/chario.c (tty_inq_size, tty_outq_size): Qualify constants as const.

	Drop useless forward declaration
	* device/chario.c (tty_flush): Remove forward declaration (prototype is in tty.h).

	Drop luna88k bits
	* device/tty.h [luna88k]: Remove ifdef and include for nonexistent header files.
	* kern/debug.c: Remove check for luna88k.

2013-08-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Drop FXSR initialization message
	* i386/i386/fpu.c (init_fpu): Drop FXSR initialization message

2013-07-18  Marin Ramesa  <mpr@hi.t-com.hr>

	kern: add missing prototype
	* kern/lock.h (db_show_all_slocks): Add prototype.

	ipc: organize ipc print function prototypes
	* ipc/ipc_print.h: New file.
	[MACH_KDB] Include <mach/mach_types.h>.
	[MACH_KDB] Include <mach/message.h>.
	[MACH_KDB] Include <ipc/ipc_types.h>.
	(ipc_port_print): Add prototype.
	(ipc_pset_print): Likewise.
	(ipc_kmsg_print): Likewise.
	(ipc_msg_print): Likewise.
	* ipc/ipc_port.h (ipc_port_print): Remove prototype.
	* ipc/ipc_port.c [MACH_KDB]: Include <ipc/ipc_print.h>.
	* ipc/ipc_pset.h (ipc_pset_print): Remove prototype.
	* ipc/ipc_pset.c [MACH_KDB]: Include <ipc/ipc_print.h>.
	* ipc/ipc_kmsg.c [MACH_KDB]: Include <ipc/ipc_print.h>.

	vm: organize vm print function prototypes
	* vm/vm_print.h: New file.
	Include <vm/vm_map.h>.
	Include <machine/db_machdep.h>.
	(vm_map_print): Add prototype.
	(vm_map_copy_print): Likewise.
	(vm_object_print): Likewise.
	(vm_page_print): Likewise.
	Include <vm/vm_object.h>.
	Include <vm/vm_page.h>
	* vm/vm_map.h (vm_map_print): Remove prototype.
	* vm/vm_map.c [MACH_KDB]: Include <vm/vm_print.h>.
	* vm/vm_object.h (vm_object_print): Remove prototype.
	* vm/vm_object.c [MACH_KDB]: Include <vm/vm_print.h>.
	* vm/vm_resident.c [MACH_KDB]: Include <vm/vm_print.h>.

	ddb: cleanup db_command.c
	* ddb/db_command.c (_longjmp): Remove prototype.
	(vm_map_print): Likewise.
	(vm_object_print): Likewise.
	(vm_page_print): Likewise.
	(vm_map_copy_print): Likewise.
	(ipc_port_print): Likewise.
	(ipc_pset_print): Likewise.
	(db_show_all_slocks): Likewise.
	(ipc_kmsg_print): Likewise.
	(ipc_msg_print): Likewise.
	Include <vm/vm_print.h>.
	Include <ipc/ipc_print.h>.
	Include <kern/lock.h>.
	* i386/i386/setjmp.h [__GNUC__] (_longjmp): Add prototype.

2013-07-07  Marin Ramesa  <marin.ramesa@gmail.com>

	fix implicit declarations
	* ddb/db_trap.c: Include <machine/setjmp.h>.
	* i386/i386/setjmp.h (_setjmp): Add prototype.

2013-07-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Restore db_help_cmd
	* ddb/db_command.c (db_help_cmd): Restore function.

2013-07-06  Marin Ramesa  <marin.ramesa@gmail.com>

	ddb: cleanup db_command.c
	* ddb/db_write_cmd.h: New file.
	(db_write_cmd): Add prototype.
	Include <mach/boolean.h>.
	Include <machine/db_machdep.h>.
	* ddb/db_break.h (db_listbreak_cmd): Add prototype.
	(db_delete_cmd): Likewise.
	(db_breakpoint_cmd): Likewise.
	* ddb/db_watch.h (db_listwatch_cmd): Likewise.
	(db_deletewatch_cmd): Likewise.
	(db_watchpoint_cmd): Likewise.
	* ddb/db_print.h (db_show_one_thread): Likewise.
	(db_show_all_threads): Likewise.
	* ddb/db_examine.h (db_print_cmd): Likewise.
	(db_examine_forward): Likewise.
	(db_examine_backward): Likewise.
	(db_search_cmd): Likewise.
	* ddb/db_variables.h (db_set_cmd): Likewise.
	* ddb/db_run.h (db_trace_until_call_cmd): Likewise.
	(db_trace_until_matching_cmd): Likewise.
	(db_continue_cmd): Likewise.
	* ddb/db_command.h (db_fncall): Likewise.
	* ddb/db_command.c: Include <ddb/db_break.h>.
	Include <ddb/db_watch.h>.
	Include <ddb/db_variables.h>.
	Include <ddb/db_write_cmd.h>.
	Include <ddb/db_run.h>.
	Include <ddb/db_cond.h>.
	(db_listbreak_cmd): Remove prototype.
	(db_listwatch_cmd): Likewise.
	(db_show_one_thread): Likewise.
	(db_show_all_threads): Likewise.
	(db_show_macro): Likewise.
	(db_show_help): Likewise.
	(db_print_cmd): Likewise.
	(db_examine_cmd): Likewise.
	(db_set_cmd): Likewise.
	(db_examine_forward): Likewise.
	(db_examine_backward): Likewise.
	(db_search_cmd): Likewise.
	(db_write_cmd): Likewise.
	(db_delete_cmd): Likewise.
	(db_breakpoint_cmd): Likewise.
	(db_deletewatch_cmd): Likewise.
	(db_watchpoint_cmd): Likewise.
	(db_single_step_cmd): Likewise.
	(db_trace_until_call_cmd): Likewise.
	(db_trace_until_matching_cmd): Likewise.
	(db_continue_cmd): Likewise.
	(db_cond_cmd): Likewise.
	(db_help_cmd): Likewise.
	(db_def_macro_cmd): Likewise.
	(db_del_macro_cmd): Likewise.
	(db_fncall): Likewise.

2013-07-05  Marin Ramesa  <marin.ramesa@gmail.com>

	ddb: use and cleanup db_print.h
	* ddb/db_command.c: Include db_print.h.
	Remove extern db_show_regs().
	Remove extern db_show_one_task().
	Remove extern db_show_port_id().
	* ddb/db_print.c: Include db_print.h
	* ddb/db_print.h (db_show_all_acts): Remove prototype.
	(db_show_one_act): Likewise.
	(db_show_shuttle): Likewise.
	(db_show_one_task_vm): Likewise.
	(db_show_all_task_vm): Likewise.
	(db_show_one_space): Likewise.
	(db_show_all_spaces): Likewise.
	(db_sys): Likewise.
	(db_port_kmsg_count): Likewise.
	(db_show_one_simple_lock): Likewise.
	(db_show_one_mutex): Likewise.
	(db_show_subsystem): Likewise.
	(db_show_runq): Likewise.

2013-07-04  Marin Ramesa  <marin.ramesa@gmail.com>

	ddb: fix implicit declarations
	* ddb/db_break.c: Include ddb/db_access.h.
	* ddb/db_examine.h (db_xcdump): Add prototype.
	* ddb/db_ext_symtab.c: Include vm/vm_user.h.
	* ddb/db_input.c: Include device/cons.h.
	* ddb/db_output.c: Likewise.

2013-06-29  Marin Ramesa  <marin.ramesa@gmail.com>

	(slab_info): fix format warnings
	* kern/slab.c (slab_info): Fix format for vm_size_t.

	Add device_pager_setup prototype
	* device/ds_routines.h (device_pager_setup): Add prototype.

	Add [nh]to[hn][ls] prototypes
	* device/net_io.h (ntohl, htonl, ntohs, htons): Add prototypes.

2013-06-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix int/long discrepancy
	* 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.

2013-06-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add partitioning reload support to ahci
	* linux/dev/drivers/block/ahci.c (port): Add `gd' field.
	(ahci_ioctl): New function.
	(ahci_fops): Fill `ioctl' field with `ahci_ioctl'.
	(ahci_probe_pci): Fill `gd' field with `gd'.

	Fix printing ahci PCI dev and fun
	* linux/dev/drivers/block/ahci.c (ahci_probe_dev): Compute `dev' and `fun'
	earlier so they can be printed.

2013-06-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add missing 4KiB memory
	* i386/i386at/model_dep.c (init_alloc_aligned): Let allocated area last
	until end of memory map.

	Add non-contiguous mmap support
	* i386/include/mach/i386/multiboot.h (multiboot_mmap): New structure
	* i386/i386at/model_dep.c (mem_size_init): Parse boot_info.mmap_addr if
	available.
	(init_alloc_aligned): Likewise.

2013-06-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

2013-06-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Do not skip AHCI controller without HOST_CAP_ONLY
	We rather rely on the announced PCI type to determine whether to use IDE or
	AHCI.

	* linux/dev/drivers/block/ahci.c (ahci_probe_dev): Do not skip AHCI
	controller without HOST_CAP_ONLY.

2013-06-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add timeout to ahci IDENTIFY
	* linux/dev/drivers/block/ahci.c (identify_timeout): New function.
	(identify_timer): New variable.
	(ahci_probe_port): Add timer to abandon identify command.

	Fix printf format
	* linux/dev/drivers/block/ahci.c (ahci_do_request): Cast capacity into unsigned
	long and use %lu format.
	(ahci_probe_port): Cast size into unsigned and use %u format.

	Fix format

2013-06-09  Richard Braun  <rbraun@sceen.net>

	Fix object construction in the slab allocator
	There is currently no actual use of constructors, which is why this bug has
	been long overlooked.

	* kern/slab.c (kmem_cpu_pool_fill): Call constructor on buffers unless
	verification is enabled for the cache, or the constructor is NULL.

2013-06-04  Marin Ramesa  <marin.ramesa@gmail.com>

	Comment unused variable
	* kern/ipc_mig.c (syscall_device_write_request): Comment unused variable.

2013-06-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

2013-06-04  Miguel Figueiredo  <elmig@debianpt.org>

	Fix format warnings
	* vm/vm_resident.c (pmap_startup): Fix printf format.
	* xen/block.c (hyp_block_init, device_write): Likewise.
	* xen/net.c (hyp_net_init): Likewise.

2013-06-02  Miguel Figueiredo  <elmig@debianpt.org>

	Remove unused variable
	* kern/act.c (act_create): Remove unused variable.

2013-06-02  Richard Braun  <rbraun@sceen.net>

	Fix yet another locking error in the slab allocator
	* kern/slab.c (kmem_cache_free): Relock cache before retrying releasing
	an object to the CPU pool layer.

2013-06-02  Miguel Figueiredo  <elmig@debianpt.org>

	Remove unused variable
	* ipc/mach_port.c (mach_port_set_syscall_right): Remove unused variable.

2013-05-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add LBA48 support to AHCI driver
	* linux/dev/drivers/block/ahci.c (port): Extend `capacity' field type to
	unsigned long long. Add `lba48' field. Make `identify' field unsigned.
	(ahci_do_port_request): When `lba48' is true, use WIN_READDMA_EXT and
	WIN_WRITEDMA_EXT commands.
	(ahci_probe_port): Test lba48 flag, read capacity and set `lba48'
	accordingly. Display size in GiB above 10GiB.
	* linux/src/include/linux/hdreg.h (WIN_READDMA_EXT, WIN_WRITEDMA_EXT): New
	macros
	(hd_driveid): Add `command_set_2' and lba_capacity_2' fields.

2013-05-27  Miguel Figueiredo  <elmig@debianpt.org>

	Remove old elevator algorithm function
	* device/blkio.c (disksort): remove unused function

2013-05-19  Miguel Figueiredo  <elmig@debianpt.org>

	Remove unneeded variable initialization
	* kern/thread.c (thread_force_terminate): Remove unneeded variable
	initialization.

2013-05-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Remove duplicate line
	Reported by Miguel Figueiredo

	* kern/thread.c (thread_create): Remove duplicate reset of
	new_thread->pc_sample.buffer to 0.

2013-05-16  Richard Braun  <rbraun@sceen.net>

	Reduce fragmentation in the slab allocator
	This reverts a change brought when reworking slab lists handling that made
	the allocator store slabs in LIFO order, whatever their reference count.
	While it's fine for free slabs, it actually increased fragmentation for
	partial slabs.

	* kern/slab.c (kmem_cache_alloc_from_slab): Insert slabs that become partial
	at the end of the partial slabs list.

2013-05-16  Richard Braun  <rbraun@sceen.net>

	Rename list_insert to list_insert_head
	This change increases clarity.

	* kern/list.h (list_insert): Rename to ...
	(list_insert_head): ... this.
	* kern/slab.c: Update calls to list_insert.

2013-05-15  Richard Braun  <rbraun@sceen.net>

	Fix itemization errors in the texinfo documentation
	* doc/mach.texi: Replace @itemx with @item for --enable-tulip and
	--enable-epic100.

2013-05-13  Miguel Figueiredo  <elmig@debianpt.org>

	Drop unused variables
	* kern/slab.c (kalloc_init): Remove unused variables.

2013-05-11  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add missing parameters to printf
	* linux/dev/drivers/block/ahci.c (ahci_probe_dev): Add missing parameters to
	printf.

2013-05-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix ahci.h path
	* linux/Makefrag.am (liblinux_a_SOURCES): Fix path to ahci.h

	Add AHCI driver
	* linux/dev/glue/kmem.c (vmtophys): New function.
	* linux/dev/include/linux/mm.h (vmtophys): New prototype.
	* linux/src/include/linux/pci.h (PCI_CLASS_STORAGE_SATA,
	PCI_CLASS_STORAGE_SATA_AHCI): New macros.
	* linux/dev/drivers/block/ahci.c: New file.
	* linux/dev/include/ahci.h: New file.
	* linux/Makefrag.am (liblinux_a_SOURCES): Add linux/dev/drivers/block/ahci.c
	and linux/dev/drivers/block/ahci.h.
	* linux/src/drivers/block/ide.c: Include <ahci.h>.
	(probe_for_hwifs): Call ahci_probe_pci.

2013-05-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix non-block-aligned-offset reads
	This fixes grave issues when device_read is called with non-block-aligned
	offset, e.g. when using grub-probe with a non-block-aligned partition table.

	* linux/dev/glue/block.c (rdwr_full): Use current position instead of base
	buffer position to check for alignment.

2013-05-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

	Fix macro name
	* linux/dev/glue/block.c (device_get_status): Use
	DEV_GET_RECORDS_RECORD_SIZE for DEV_GET_RECORDS instead of
	DEV_GET_SIZE_RECORD_SIZE.

2013-04-21  Richard Braun  <rbraun@sceen.net>

	Optimize slab reaping
	Instead of walking the list of free slabs while holding the cache lock,
	detach the list from the cache and directly compute the final count values,
	and destroy slabs after releasing the cache lock.

	* kern/slab.c (kmem_cache_reap): Optimize.

2013-04-21  Richard Braun  <rbraun@sceen.net>

	Rework slab lists handling
	Don't enforce strong ordering of partial slabs. Separating partial slabs
	from free slabs is already effective against fragmentation, and sorting
	would sometimes cause pathological scalability issues. In addition, store
	new slabs (whether free or partial) in LIFO order for better cache usage.

	* kern/slab.c (kmem_cache_grow): Insert new slab at the head of the slabs list.
	(kmem_cache_alloc_from_slab): Likewise. In addition, don't sort partial slabs.
	(kmem_cache_free_to_slab): Likewise.
	* kern/slab.h: Remove comment about partial slabs sorting.

2013-04-21  Richard Braun  <rbraun@sceen.net>

	Fix locking error in the slab allocator
	* kern/slab.c (kmem_cache_free): Lock cache before releasing an object to
	the slab layer.

2013-04-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add -fno-optimize-sibling-calls option for better kdb traces
	* Makefrag.am (AM_CFLAGS) [enable_kdb]: Add -fno-optimize-sibling-calls
	option.

2013-03-11  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Update BASEPRI_USER
	* kern/sched.h (BASEPRI_USER): Increase to 25.

	Fix build without kdb
	* i386/i386/db_interface.h [! MACH_KBD] (db_set_hw_watchpoint,
	db_clear_hw_watchpoint, db_dr): Do not declare functions.

2013-03-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Increase number of priorities
	* kern/sched.h (NRQS): Increase to 50.

2013-03-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Do not hardcode maximum priority value
	* kern/sched_prim.c (do_priority_computation): Replace 31 with NRQS - 1.
	idle_thread: Likewise.

2013-02-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Include machine/db_interface instead of hardcoding function prototypes
	* ddb/db_access.c: Include <machine/db_interface.h>.
	(db_read_bytes, db_write_bytes): Remove functions prototypes.
	(db_get_task_value): Fix calling db_read_bytes.
	(db_put_task_value): Fix calling db_write_bytes.
	* ddb/db_watch.c: Include <machine/db_interface.h>.
	(db_set_hw_watchpoint, db_clear_hw_watchpoint): Remove functions prototypes.

2013-02-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Plug hw debug register support into kdb
	Make the `watch' command use hw debug registers whenever possible.

	* ddb/db_watch.c (db_set_hw_watchpoint, db_clear_hw_watchpoint): Add
	functions prototypes.
	(db_set_watchpoints): Try to call db_set_hw_watchpoint.
	(db_clear_watchpoints): Call db_clear_hw_watchpoint.
	* i386/i386/db_interface.c: Include <ddb/db_watch.h>
	(db_set_hw_watchpoint): Take a db_watchpoint_t WATCH parameter instead of
	its content. Remove support for clearing a debug register.
	(db_clear_hw_watchpoint): Add function.
	* i386/i386/db_interface.h: Include <ddb/db_watch.h>.
	(db_set_hw_watchpoint): Fix function prototype.
	(db_clear_hw_watchpoint): Add function prototype.
	* i386/i386/db_machdep.h: Do not include <machine/db_interface.h>

2013-02-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Document dwatch
	* doc/mach.texi: Add dwatch documentation.

2013-02-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add x86 hardware debugging register support
	This adds using the x86 hardware debugging registers, either from the kernel
	through db_set_hw_watchpoint, or from userland through i386_DEBUG_STATE.
	While the kernel is using the registers, the userland values are ignored.

	* i386/i386/db_interface.c (kernel_dr, ids): New variables.
	(db_load_context, db_get_debug_state, db_set_debug_state, db_dr,
	db_set_hw_watchpoint): New functions.
	(kdb_trap): Use get_dr* instead of dr_addr[].
	* i386/i386/db_interface.h (db_user_to_kernel_address, db_set_hw_watchpoint)
	(db_dr, db_get_debug_state, db_set_debug_state, db_load_context): Add functions
	prototypes.
	(dr0, dr1, dr2, dr3): Remove functions prototypes.
	* i386/i386/locore.S (dr6, dr0, dr1, dr2, dr3): Remove functions.
	(dr_msk, dr_addr): Remove variables.
	* i386/include/mach/i386/thread_status.h (i386_DEBUG_STATE): Add macro.
	(i386_debug_state): Add structure.
	(i386_DEBUG_STATE_COUNT): Add macro.
	* i386/i386/thread.h: Include <mach/machine/thread_status.h>.
	(i386_machine_state): Add `struct i386_debug_state ids' field.
	* i386/i386/pcb.c: Include <i386/db_interface.h>.
	(switch_ktss): Call db_load_context.
	(thread_setstatus, thread_getstatus): Add I386_DEBUG_STATE case.
	* i386/i386/proc_reg.h (get_dr0, set_dr0, get_dr1, set_dr1, get_dr2,
	set_dr2, get_dr3, set_dr3, get_dr6, set_dr6, get_dr7, set_dr7): Add macros.

2013-02-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Prevent the kernel from making any FPU use
	* i386/Makefrag.am (AM_CFLAGS): Add -mno-3dnow -mno-mmx -mno-sse -mno-sse2.

2013-01-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Implement pmap_map_mfn for the PVH case
	* i386/intel/pmap.c (pmap_map_mfn) [MACH_XEN && !MACH_PV_PAGETABLES]:
	Implement.

	Make the PVH variant get sure that the support is available in the hypervisor
	* i386/xen/xen_boothdr.S (FEATURES): Mark PVH features as required.

2013-01-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add comment for TODO

	Do not use 4gb segment assistance in PVH
	* i386/i386/gdt.c (gdt_init) [MACH_PV_DESCRIPTORS && !MACH_PV_PAGETABLES]:
	Do not enable VMASST_TYPE_4gb_segments.
	* i386/i386/trap.c (user_trap): Do not handle trap 15, 4gb segment
	assist notification.

	Drop spurious inclusion
	* i386/i386/vm_param.h [MACH_XEN && !MACH_PV_PAGETABLES]: Do not include
	<xen/public/xen.h>.

	Increase VM_MAX_KERNEL_ADDRESS for PVH case
	* i386/i386/vm_param.h (VM_MAX_KERNEL_ADDRESS) [MACH_XEN &&
	!MACH_PV_PAGETABLES]: Remove hypervisor area from VM_MAX_KERNEL_ADDRESS
	restriction.

2013-01-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	More ifdef fixes for ring1 support and pv descriptors support
	* i386/i386/idt_inittab.S: Turn MACH_XEN test into MACH_PV_DESCRIPTORS test.
	* i386/i386/fpu.c: Turn appropriate MACH_HYP/XEN tests into MACH_RING1 tests.
	* i386/i386/ktss.c: Likewise.
	* i386/i386/locore.S: Likewise.
	* i386/i386/mp_desc.c: Likewise.
	* i386/i386/pcb.c: Likewise.
	* i386/i386/proc_reg.h: Likewise.
	* i386/i386/trap.c: Likewise.

	Add initial code for disabling PV pagetables
	* 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.

	Fix comments

	Fix build with --disable-pseudo-phys
	* i386/i386/i386asm.sym (PFN_LIST) [!MACH_PSEUDO_PHYS]: Do not define.

	Add initial code for disabling ring1 xen execution
	* xen/configfrag.ac (--disable-ring1): Add option.
	* i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_RING1]: Add
	supervisor_mode_kernel.
	* i386/i386/seg.h (KERNEL_RING) [!MACH_RING1]: Set macro to 0.

	Add initial code for disabling PV descriptors
	* xen/configfrag.ac (--disable-pv-descriptors): Add option
	* i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_PV_DESCRIPTORS]: Add
	writable_descriptor_tables.
	* i386/i386/gdt.c: Turn appropriate MACH_XEN/MACH_HYP tests into
	MACH_PV_DESCRIPTORS tests.
	* i386/i386/gdt.h: Likewise.
	* i386/i386/i386asm.sym: Likewise.
	* i386/i386/idt.c: Likewise.
	* i386/i386/idt_inittab.S: Likewise.
	* i386/i386/ldt.c: Likewise.
	* i386/i386/pcb.c: Likewise.
	* i386/i386/seg.h: Likewise.
	* i386/i386/user_ldt.c: Likewise.
	* i386/i386/user_ldt.h: Likewise.

2013-01-22  Richard Braun  <rbraun@sceen.net>

	Add the mach_print debugging system call
	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.

2013-01-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

	Fix task stats incrementations
	* vm/vm_fault.c (vm_fault_page): Properly increment
	current_task()->zero_fills and cow_faults.

2013-01-13  David Höppner  <0xffea@gmail.com>

	Add statistics for task_events_info
	* ipc/ipc_mqueue.c (ipc_mqueue_send, ipc_mqueue_receive): Increment
	counters for message sent and received.
	* kern/ipc_kobject.c (ipc_kobject_server): Increment sent and received
	counters for the kernel task.
	* kern/task.c (task_create): Zero statistics.
	* kern/task.c (task_info): Add task_events_info call.
	* kern/task.h: Add statistics.
	* vm/vm_fault.c (vm_fault_page): Increment zero_fills, pageins,
	reactivations and cow_faults counters.
	* vm/vm_fault.c (vm_fault_wire_fast): Increment faults counters.
	* vm/vm_pageout.c (vm_pageout_scan): Increment reactivations counter.

2013-01-08  Richard Braun  <rbraun@sceen.net>

	Fix slab cache list locking
	This problem was overlooked because of simple locks being no-ops.

	* kern/slab.c (slab_collect): Fix lock name to kmem_cache_list_lock.
	(host_slab_info): Likewise.

2013-01-08  Richard Braun  <rbraun@sceen.net>

	Add function to dump a raw summary of the slab allocator state
	The purpose of this function is to allow kernel code to display the state
	of the slab caches in situations where the host_slab_info RPC wouldn't be
	available, e.g. before a panic.

	* kern/slab.c (slab_info): New function.
	* kern/slab.h: Add declaration for slab_info.

2013-01-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Double KENTRY_DATA_SIZE
	* vm/vm_map.h (KENTRY_DATA_SIZE): Bump from 32 pages to 64 pages.

2013-01-04  David Höppner  <0xffea@gmail.com>

	Fix compilation warning implicit function declaration kdbprintf
	When kernel debugger support is requested ipc and vm need
	the prototype for the debugger function kdbprintf.

	* ddb/db_output.h: Add prototype for kdbprintf.
	* ipc/ipc_object.c: Add include file ddb/db_output.h
	* ipc/ipc_port.c: Likewise.
	* ipc/ipc_pset.c: Likewise.
	* vm/vm_map.c: Likewise.
	* vm/vm_object.c: Likewise.
	* vm/vm_resident.c: Likewise.

2012-12-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix slow boot in virtualbox
	By disabling some of the most slow drivers by default, and giving progress
	feedback to the user.

	* linux/configfrag.ac (CONFIG_SCSI_NCR53C7xx, CONFIG_SCSI_AIC7XXX,
	CONFIG_SCSI_GDTH): Disable by default
	* linux/src/drivers/scsi/eata.c (__initfunc): Don't feed line in probe
	message.
	* linux/src/drivers/scsi/hosts.c (scsi_init): Print SCSI probe progress.

2012-12-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix spurious error on accessing fd1
	Cherry picked from Linux kernel commit 76c25284e0d845bff4ee1031721556148af4db1c

	* linux/dev/drivers/block/floppy.c (config_types): Clear from
	`allowed_drive_mask' floppy drives whose cmos type is 0.

2012-12-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

2012-12-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Make thread_suspend wait for !TH_UNINT
	0a55db5 made thread_suspend return KERN_FAILURE when the target thread is in
	TH_UNINT state. That however is not currently handled by libc, and it's more
	useful to just wait for the thread to get interruptible.

	* kern/sched_prim.c (thread_invoke): Wake NEW_THREAD->STATE for thread_suspend.
	* kern/thread.c (thread_suspend): Wait on NEW_THREAD->STATE as long as THREAD
	has TH_UNINT.

2012-12-21  David S. Miller  <davem@davemloft.net>

	ide: Increase WAIT_DRQ to accomodate some CF cards and SSD drives.
	Based upon a patch by Philippe De Muyter, and feedback from Mark
	Lord and Robert Hancock.

	As noted by Mark Lord, the outdated ATA1 spec specifies a 20msec
	timeout for setting DRQ but lots of common devices overshoot this.

	(cherry picked from Linux kernel commit 602da297e293eb2cbd28dcdbbe247593a46a853a)

	* linux/src/drivers/block/ide.h (WAIT_DRQ): Increase to 1 s.

2012-12-21  Thomas Schwinge  <thomas@codesourcery.com>

	IDE disk drives with unusual C/H/S.
	* linux/src/drivers/block/ide.c: Partially update to Linux 2.0.40 code.

2012-12-05  Richard Braun  <rbraun@sceen.net>

	Fix kernel task creation time
	The mapable_time_init function is called before machine_init, but the
	latter sets the system boot time. Fix their calling order.

	* kern/startup.c (setup_main): Call machine_init before mapable_time_init.

2012-12-04  Richard Braun  <rbraun@sceen.net>

	Strongly reduce risks of name capture in rbtree macros
	* kern/rbtree.h (rbtree_lookup): Prefix local variable names with three
	underscores.
	(rbtree_lookup_nearest): Likewise.
	(rbtree_insert): Likewise.
	(rbtree_lookup_slot): Likewise.
	(rbtree_insert_slot): Rewrite as an inline function.

2012-11-21  Richard Braun  <rbraun@sceen.net>

	Fix calls to vm_map when size is 0
	* vm/vm_map.c (vm_map_enter): return KERN_INVALID_ARGUMENT if size is 0.
	* vm/vm_user.c (vm_map): Likewise.

2012-11-19  Matthew Leach  <matthew@mattleach.net>

	Fix compilation error with older versions of GCC
	Some versions of GCC will error if you define a type twice (even if
	the definition is the same). The NCR53C8XX SCSI driver defines
	'vm_offset_t', this is also defined in vm_types.h and will therefore
	cause a compilation error depending on the GCC version.

	* linux/src/drivers/scsi/ncr53c8xx.c [!MACH] (vm_offset_t, vm_size_t): Don't
	define types.

2012-09-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix gnumach_server_routine prototype
	* kern/ipc_kobject.c (ipc_kobject_server): Set gnumach_server_routine
	prototype to mig_routine_t.

2012-09-23  Richard Braun  <rbraun@sceen.net>

	Add missing file for page statistics
	* kern/gnumach.srv: New file.

	Add missing file for page statistics
	* include/mach/vm_cache_statistics.h: New file

2012-09-23  Gianluca Guida  <glguida@gmail.com>

	Fix panic on irq >= 16
	* linux/src/drivers/net/pci-scan.c (pci_drv_register): Skip device
	if we are getting an invalid IRQ >= 16 and different from 255 (it
	happens in some motherboard).

2012-09-23  Sergio Lopez  <koro@sinrega.org>

	Update DMA auto-enabling, make forcing DMA an option
	* linux/configfrag.ac (--enable-ide-forcedma): Add option.
	* linux/src/drivers/block/ide.c (ide_probe_promise_20246): Do not call
	ide_init_promise.
	(probe_for_hwifs): Add SI, VIA, AL PCI probing.
	* linux/src/drivers/block/ide.h (hwif_chipset_t): Add hpt343, udma and
	ultra66 chipsets.
	* linux/src/drivers/block/triton.c: Update to upstream 1.14 version.
	* linux/src/include/linux/hdreg.h (HDIO_GET_IDENTITY): Rename to ...
	(HDIO_OBSOLETE_IDENTITY): ... new macro.
	(HDIO_GET_IDENTITY): New macro.
	(hd_driveid): Add fields for extended identification.

2012-09-23  Alexey Dejneka  <adejneka@comail.ru>

	Fix CDROM door unlock on closure without device_close
	* linux/dev/glue/block.c
	(device_open): Properly return devp on multiple opens.
	(device_close_forced): Renamed from device_close, when force parameter is 1, do
	not wait for open_count to become 0 before closing.
	(device_close): New function.
	(device_no_senders): New function.
	linux_block_emulation_ops: Use (device_no_senders).

2012-09-23  Richard Braun  <rbraun@sceen.net>

	Provide basic page cache statistics
	* 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-08-24  Richard Braun  <rbraun@sceen.net>

	Store threads waiting on a message queue in LIFO order
	* ipc/ipc_thread.h (ipc_thread_enqueue_macro): Insert thread at the
	head of the list instead of the tail.

2012-07-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix Xen boot at linear address 0xC0000000
	* i386/intel/pmap.c (pmap_bootstrap): Interate over linear addresses and compute
	l3 and l2 offsets from it instead of assuming nul l3 offset.

2012-07-08  Richard Braun  <rbraun@sceen.net>

	Fix slab collection timing
	The slab garbage collector uses sched_tick as its time reference, which
	is increased every seconds, while the interval is expressed in clock
	ticks. Use the proper time reference instead.

	* kern/slab.c (kmem_gc_last_tick): Declare as unsigned long.
	(slab_collect): Use elapsed_ticks instead of sched_tick.

2012-07-08  Richard Braun  <rbraun@sceen.net>

	Increase the slab collection interval
	* kern/slab.c (KMEM_GC_INTERVAL): Increase to 5 seconds.

2012-07-07  Richard Braun  <rbraun@sceen.net>

	Allocate kernel thread stacks out of kmem_map
	The kernel submaps eat most of the available kernel space. Using the
	main kernel map for thread stacks sometimes lead to exhaustion when many
	threads are created. Use kmem_map instead to increase this limit.

	* kern/thread.c (stack_alloc): Use kmem_map instead of kernel_map for
	stack allocation.
	(stack_collect): Likewise for release.

2012-07-07  Richard Braun  <rbraun@sceen.net>

	Merge kalloc_map into kmem_map
	* ipc/ipc_table.c: Add #include <kern/slab.h>.
	(ipc_table_alloc): Use kmem_map instead of kalloc_map when allocating
	a table.
	(ipc_table_realloc): Likewise for reallocation.
	(ipc_table_free): Likewise for release.
	* kern/kalloc.h (kalloc_map): Remove declaration.
	* kern/slab.c (KMEM_MAP_SIZE): Increase to 128 MiB.
	(KALLOC_MAP_SIZE): Remove macro.
	(kalloc_map_store): Remove variable.
	(kalloc_map): Likewise.
	(kalloc_pagealloc): Use kmem_map instead of kalloc_map for general
	purpose allocations.
	(kalloc_pagefree): Likewise.
	(kalloc_init): Remove the creation of kalloc_map.

2012-06-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Permit to select/deselect whole driver groups
	* linux/configfrag.ac (AC_OPTION_Linux_group): New function
	(AC_OPTION_Linux_ix86_at): Do not enable driver by default if the group was
	explicitly disabled.
	(scsi, net, pcmcia, wireless): Define groups.

2012-05-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Offset bios32 entry
	* linux/src/arch/i386/kernel/bios32.c (check_pcibios, pcibios_init): Convert
	physical bios32 entry address to kernel virtual address.

2012-05-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Clear direction flag after bios32 call
	Linux does this, there are probably wild BIOSes out there.

	* linux/src/arch/i386/kernel/bios32.c (bios32_service, check_pcibios,
	pci_bios_find_class, pci_bios_find_device, pci_bios_read_config_byte,
	pci_bios_read_config_word, pci_bios_read_config_dword,
	pci_bios_write_config_byte, pci_bios_write_config_word,
	pci_bios_write_config_dword): Clear direction flag after lcall to bios32.

2012-05-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Offset kernel addresses by 3GiB
	This permits better trace support in kdb.

	* i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS): Set to 0xC0000000
	* i386/Makefrag.am (_START): Set to 0xC0100000.

2012-05-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Document how to offset the kernel to get better debugging
	* i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS): Document that it can be
	changed, but _START has to be offset too.
	(INIT_VM_MIN_KERNEL_ADDRESS): Document that it should remain 0.

2012-04-27  Richard Braun  <rbraun@sceen.net>

	Augment VM maps with a red-black tree
	* vm/vm_map.c: Add #include <kern/rbtree.h>.
	(vm_map_setup): Initialize the map red-black tree.
	(vm_map_entry_cmp_lookup): New function.
	(vm_map_entry_cmp_insert): Likewise.
	(_vm_map_entry_link): Insert map entry in the red-black tree.
	(_vm_map_entry_unlink): Remove map entry from the red-black tree.
	(vm_map_lookup_entry): Rework the way the VM map hint is used, and
	replace the linear search with a binary search tree lookup.
	(vm_map_copy_insert): Move map entries from the map copy tree to the
	destination map tree.
	(vm_map_copyin): Initialize the map copy red-black tree.
	* vm/vm_map.h: Add #include <kern/rbtree.h>.
	(vm_map_entry): Add `tree_node' member.
	(vm_map_header): Add `tree' member.

2012-04-22  Richard Braun  <rbraun@sceen.net>

	Update comments.
	Literature about red-black trees vary concerning the cases numbering,
	and the implementation doesn't make all of them clearly appear. Remove
	cases numbering references to avoid confusion.

2012-04-22  Richard Braun  <rbraun@sceen.net>

	Fix copyright assignment
	Maksym and I have assigned copyright to the Free Software Foundation.
	In addition, restore the original upstream copyrights for correctness.

	* kern/list.h: Fix copyright assignment.
	* kern/rbtree.c: Likewise.
	* kern/rbtree.h: Likewise.
	* kern/rbtree_i.h: Likewise.
	* kern/slab.c: Likewise.
	* kern/slab.h: Likewise.

2012-04-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Check hyp_stack_switch return
	* i386/i386/pcb.c (switch_ktss): Check value returned by hyp_stack_switch.

	Fix integer type
	* kern/thread.c (host_stack_usage): Set `total' type to natural_t.

2012-04-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Do not take address of va_list variable
	This breaks on x86_64, where it is an array and thus gets bogus results.

	* ddb/db_output.c (db_printf, kdbprintf): Pass copy of va_list variable instead
	of its address.
	* kern/debug.c (panic, log): Likewise.
	* kern/printf.c (vprintf, iprintf, sprintf, vsnprintf): Likewise.
	(_doprnt): Take va_list instead of va_list *, fix usage and comment accordingly.
	* kern/printf.h (_doprnt): Take va_list instead of va_list *.

2012-03-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix Xen boot after c74adfe
	* i386/Makefrag.am (_START_MAP): Define symbol to 0x100000.
	* i386/xen/Makefrag.am (_START_MAP): Define symbol to 0xC0000000.
	* i386/ldscript: Use _START_MAP instead of hardcoding 0x100000.

2012-03-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Relocate kernel at bootup
	Grub is not able to map us at high addresses. We can however make it load us at
	low addresses (through the linker script mapping), then use segmentation to move
	ourselves to high addresses, and switch to C which uses high addresses
	(through _START definition).

	* i386/ldscript: Force mapping kernel at 0x100000, regardless of the value
	of _START.
	* i386/i386at/boothdr.S (boot_entry): Set up initial segments to project the
	bootstrap linear space to high addresses.

2012-03-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Make sure BIOS area is mapped in kernel threads
	* i386/i386at/model_dep.c (i386at_init): Map BIOS memory at 0.
	* i386/intel/pmap.c (pmap_create): Do not map BIOS memory in user tasks.

2012-03-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Separate INIT_VM_MIN_KERNEL_ADDRESS from VM_MIN_KERNEL_ADDRESS
	The former is the initial value set by the bootloader. It may not be the
	same as what Mach will set up.

	* i386/i386/vm_param.h (INIT_VM_MIN_KERNEL_ADDRESS): New macro.
	* i386/i386at/model_dep.c (i386at_init): Use INIT_VM_MIN_KERNEL_ADDRESS
	instead of VM_MIN_KERNEL_ADDRESS.

2012-03-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add missing phystokv/kvtophys calls
	* i386/i386/vm_param.h [!MACH_XEN]: Do not include <xen/public/xen.h>.
	* i386/i386at/model_dep.c (init_alloc_aligned): Use phystokv to compare physical
	memory addresses with kernel start, end, and symbol table.
	* i386/intel/pmap.c (pmap_enter): Use kvtophys to convert ptp pointer to pte
	entry.
	* linux/dev/init/main.c (alloc_contig_mem, linux_init): Use phystokv to convert
	allocated pages to virtual pointer.
	* linux/src/include/asm-i386/io.h: Include <machine/vm_param.h>.
	(virt_to_phys): Call _kvtophys.
	(phys_to_virt): Call phystokv.
	* linux/src/include/linux/compatmac.h: Include <asm/io.h>.
	(ioremap): Use phys_to_virt to convert physical address to virtual pointer.
	(my_iounmap): Likewise.
	* linux/dev/include/asm-i386/page.h: Include <mach/vm_param.h>.
	(PAGE_SHIFT, PAGE_SIZE, PAGE_MASK): Remove macros.
	* linux/src/drivers/scsi/ncr53c8xx.c (vm_size_t): Remove type.
	* linux/dev/glue/net.c: Include <machine/vm_param.h>
	(device_write): Call phystokv to convert from physical page address to
	virtual pointer.
	* linux/dev/glue/block.c (alloc_buffer, free_buffer, rdwr_full): Likewise.

	Fix issig crash at boot
	* linux/dev/glue/misc.c (issig): Return 0 if current_thread() is NULL.

	Fix wrap-around in pmap bootstrap
	* i386/intel/pmap.c (pmap_bootstrap): Check against `va' wrap around
	0xffffffff.

2012-03-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix boot with big values of _start
	When _start is not close to 0, just using init_alloc_aligned() is not enough
	to know how much should be duplicated between linear and virtual mappings.
	Just mapping everything that can be is not very costly and should just work
	when it can work.

	* i386/i386at/model_dep.c (i386at_init) [VM_MIN_KERNEL_ADDRESS !=
	LINEAR_MIN_KERNEL_ADDRESS]: Extend `nb_direct' to VM_MIN_KERNEL_ADDRESS -
	LINEAR_MIN_KERNEL_ADDRESS.

2012-03-22  Ludovic Courtès  <ludo@gnu.org>

	Refer to `PFN_LIST' on Xen only.
	* i386/i386/i386asm.sym (PFN_LIST): Enclose in #ifdef MACH_XEN.  Thanks
	  to Samuel Thibault for the suggestion.

2012-03-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Use long types
	* ddb/db_examine.c (db_xcdump): Do not cast addr before passing to
	db_read_bytes.
	* ddb/db_macro.c (db_arg_variable): Return long.
	* ddb/db_macro.h (db_arg_variable): Likewise.
	* ddb/db_sym.c (db_maxoff): Set type to unsigned long.
	* ddb/db_task_thread.c (db_set_default_thread, db_get_task_thread): Return
	long.
	* ddb/db_variables.h (db_variable): Make fcn function field to return long.
	(FCN_NULL): Make function type return long.
	* i386/i386/db_interface.c (int_regs): Set field sizes to long.
	* i386/i386/db_machdep.h (db_expr_t): Set type to long.
	* i386/i386/db_trace.c (db_i386_reg_value): Return long. Use long types.
	(i386_frame, i386_kregs, interrupt_frame, db_nextframe): Set field sizes to
	long.
	(db_regs, i386_kregs): Use long * pointers.
	(db_lookup_i386_kreg): Return long *.
	(db_numargs, db_nextframe, db_stack_trace_cmd, db_i386_stack_trace): Use long
	types.
	* i386/i386/debug_i386.c (dump_ss): Fix format.
	* i386/i386/ktss.c (ktss_init): Use long type.
	* i386/i386/pcb.c (set_user_regs): Likewise.
	* i386/i386/thread.h (i386_saved_state, v86_segs, i386_kernel_state,
	i386_interrupt_state): Set field sizes to long.
	* i386/i386/trap.c (kernel_trap, user_trap): Fix formats.
	* kern/ast.h (ast_t): Set type to long.
	* kern/boot_script.c (create_task, resume_task, prompt_resume_task,
	boot_script_set_variable): Use long types.
	* kern/boot_script.h (boot_script_set_variable): Use long type.
	* kern/bootstrap.c (bootstrap_create): Pass long type.
	* kern/lock.c (simple_lock, simple_lock_try): Use long type.
	* linux/dev/kernel/softirq.c (linux_soft_intr): Fix format.

	Complain about Xen console smash only once at a time
	* xen/console.c (hypputc): Warning only once per console write about console
	ring smash.

	Make xchgl arch-neutral
	* i386/i386/xen.h (xchgl): Use xchg instruction instead of xchgl, so the
	assembler can detect unsigned long size.

2012-03-20  Guillem Jover  <guillem@debian.org>

	Use compiler defined __i386__ symbol instead of use defined i386
	* i386/configfrag.ac (i386): Remove definition.
	* i386/intel/pmap.c (pmap_update_interrupt): Rename i386 to __i386__.
	* i386/intel/pmap.h: Likewise.
	* kern/debug.c (Debugger): Likewise.
	* kern/lock.c (simple_lock, simple_lock_try, db_show_all_slocks): Likewise.

2012-03-20  Guillem Jover  <guillem@debian.org>

	Change types holding cpu flags from int to long
	On amd64 the cpu flags is a 64-bit word, and long on 32-bit systems is
	32-bit wide anyway.

	* linux/dev/glue/kmem.c (linux_kmalloc, linux_kfree, __get_free_pages,
	free_pages): Use unsigned long instead of unsigned.
	* linux/dev/include/asm-i386/system.h (__save_flags, __restore_flags):
	Likewise.
	* linux/dev/kernel/printk.c (printk): Likewise.
	* linux/src/drivers/scsi/advansys.c (DvcEnterCritical, DvcLeaveCritical,
	advansys_queuecommand, advansys_abort, advansys_reset, advansys_interrupt,
	interrupts_enabled, AdvISR): Likewise.
	* linux/src/drivers/scsi/aha152x.c (aha152x_intr): Likewise.
	* linux/src/drivers/scsi/aha1542.c (aha1542_intr_handle): Likewise.
	* linux/src/drivers/scsi/aic7xxx.c (aic7xxx_done_cmds_complete): Likewise.
	* linux/src/drivers/scsi/ultrastor.c (log_ultrastor_abort,
	ultrastor_queuecommand, ultrastor_abort): Likewise.

2012-03-20  Guillem Jover  <guillem@debian.org>

	Match type for count with tty_get_status and tty_set_status
	* i386/i386at/com.c (comgetstat): Use natural_t instead of `unsigned int'.
	(comsetstat): Likewise.
	* i386/i386at/kd.c (kdgetstat, kdsetstat): Likewise.
	* i386/i386at/lpr.c (lprgetstat, lprsetstat): Likewise.

2012-03-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Use unsigned int for ELF 32bit values
	* i386/include/mach/i386/exec/elf.h (Elf32_Addr, Elf32_Off, Elf32_Sword,
	Elf32_Word): Use int type instead of long.

2012-03-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix assembly snippet portability
	* xen/evt.c (hyp_c_callback): Do not set assembly instruction suffixes,
	using 1UL constant instead.

	Use unsigned long types for addresses
	* i386/include/mach/i386/vm_param.h (i386_btop, i386_ptob, i386_round_page,
	i386_trunc_page): Cast to unsigned long.

	Use unsigned long for registers
	* i386/i386/proc_reg.h (get_eflags, get_esp, get_eflags, get_cr0, get_cr2,
	get_cr3, get_cr4): Return unsigned long type.
	(set_eflags, set_cr0, set_cr3, set_cr4): Take unsigned long type.

	Do not hardcode structure offset
	* i386/i386/i386asm.sym (R_EDI): Define macro.
	* i386/i386/locore.S (t_page_fault): Use R_CR2-R_EDI instead of hardcoded
	12.

2012-03-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Set Xen kernel virtual address to 0xC0000000
	That makes the virtual addressing equal to linear addressing, thus optimizing
	some computations away.

	* i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS) [MACH_XEN]: Set to
	0xC0000000UL.
	* i386/xen/Makefrag.am (gnumach_LINKFLAGS): Set _START to 0xC0000000.
	* i386/xen/xen_boothdr.S (VIRT_BASE, ELF_PADDR_OFFSET): Set to 0xC0000000.

2012-03-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix access above 4GiB in bootstrap page table
	* i386/intel/pmap.c (pmap_set_page_readonly_init) [PAE]: Access the bootstrap
	dirbase with PTEMASK (1 page) instead of PDEMASK (4 pages) through pmap_pde.

2012-03-15  Thomas Schwinge  <thomas@schwinge.name>

	Fix build error introduced in 5f701793f63f16d111db3e3d2e91134fcc179c5b.
	* linux/src/include/linux/interrupt.h (intr_count): Declare as unsigned int.

2012-03-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Simplify splx
	* i386/i386/spl.S (splx): Use S_ARG0 instead of reimplementing it.

	Fix variable types according to assembly use
	* linux/dev/arch/i386/kernel/irq.c (intr_count): Set to int type.
	* linux/dev/kernel/softirq.c (bh_active, bh_mask): Likewise.
	(linux_soft_intr: active, mask, left): Likewise
	* linux/src/include/linux/interrupt.h (bh_active, bh_mask): Likewise.
	* linux/src/kernel/softirq.c (intr_count, bh_active, bh_mask): Likewise.
	(do_bottom_half: active, mask, left): Likewise

	Stick to binutils ELF scripts
	* i386/ldscript: Reformat to follow binutils version

	Fix PAE page frame number mask.
	* i386/intel/pmap.h (INTEL_PTE_PFN): Keep only 47bits, others are not usable.

	Fix Xen bootstrap at virtual address above 1GiB
	* i386/intel/pmap.h (lin2pdpnum): New macro.
	* i386/intel/pmap.c (pmap_set_page_readonly_init): Use lin2pdpnum macro
	instead of hardcoding 0.

	Simplify i386at_init
	* i386/i386at/model_dep.c (i386at_init): Do not copy linear into virtual kernel
	mapping when they are equal, and do not drop the former either. Use the
	function `i' variable.

	Simplify kvtophys
	* i386/i386/phys.c (kvtophys): Use pte_to_pa macro instead of reimplementing
	it.

2012-03-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Use unsigned long for addresses and sizes
	TODO: remonter formats

	* i386/include/mach/i386/vm_types.h (vm_offset_t): Define to unsigned long.
	(signed32_t): Define to signed int.
	(unsigned32_t): Define to unsigned int.
	* i386/include/mach/sa/stdarg.h (__va_size): Use sizeof(unsigned long)-1
	instead of 3.
	* include/mach/port.h (mach_port_t): Define to vm_offset_t instead of
	natural_t.
	* include/sys/types.h (size_t): Define to unsigned long instead of
	natural_t.
	* linux/src/include/asm-i386/posix_types.h (__kernel_size_t): Define to
	unsigned long.
	(__kernel_ssize_t): Define to long.
	* linux/src/include/linux/stddef.h (size_t): Define to unsigned long.

	* device/dev_pager.c (dev_pager_hash): Cast port to vm_offset_t insted of
	natural_t.
	(device_pager_data_request): Fix format.

	* device/ds_routines.c (ds_no_senders): Fix format.
	* i386/i386/io_map.c (io_map): Likewise.
	* i386/i386at/autoconf.c (take_dev_irq): Likewise.
	* i386/i386at/com.c (comattach): Likewise.
	* i386/i386at/lpr.c (lprattach): Likewise.
	* i386/i386at/model_dep.c (mem_size_init, mem_size_init, c_boot_entry):
	Likewise.
	* i386/intel/pmap.c (pmap_enter): Likewise.
	* ipc/ipc_notify.c (ipc_notify_port_deleted, ipc_notify_msg_accepted,
	ipc_notify_dead_name): Likewise.
	* ipc/mach_port.c (mach_port_destroy, mach_port_deallocate): Likewise.
	* kern/ipc_kobject.c (ipc_kobject_destroy): Likewise.
	* kern/slab.c (kalloc_init): Likewise.
	* vm/vm_fault.c (vm_fault_page): Likewise.
	* vm/vm_map.c (vm_map_pmap_enter): Likewise.
	* xen/block.c (device_read): Likewise.

	* device/net_io.c (bpf_match): Take unsigned long * instead of unsigned int
	*.
	(bpf_do_filter): Make mem unsigned long instead of long.
	* i386/i386/ktss.c (ktss_init): Cast pointer to unsigned long instead of
	unsigned.
	* i386/i386/pcb.c (stack_attach, switch_ktss): Cast pointers to long instead of
	int.
	* i386/i386/trap.c (dump_ss): Likewise.
	* ipc/ipc_hash.c (IH_LOCAL_HASH): Cast object to vm_offset_t.
	* ipc/mach_msg.c (mach_msg_receive, mach_msg_receive_continue): Cast kmsg to
	vm_offset_t instead of natural_t.
	* kern/pc_sample.c (take_pc_sample): Cast to vm_offset_t instead of
	natural_t.
	* kern/boot_script.c (sym, arg): Set type of `val' field to long instead of int.
	(create_task, builtin_symbols, boot_script_parse_line,
	boot_script_define_function): Cast to long instead of int.
	* kern/bootstrap.c (bootstrap_create): Likewise.
	* kern/sched_prim.c (decl_simple_lock_data): Likewise.
	* kern/printf.c (vsnprintf): Set size type to size_t.
	* kern/printf.h (vsnprintf): Likewise.
	* vm/vm_map.h (kentry_data_size): Fix type to vm_size_t.
	* vm/vm_object.c (vm_object_pmap_protect_by_page): Fix size parameter type
	to vm_size_t.

2012-03-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Move kentry_data_size initial value to header
	* vm/vm_map.h (KENTRY_DATA_SIZE): Define macro.
	* vm/vm_map.c (kentry_data_size): Initialize to KENTRY_DATA_SIZE.

2012-03-03  Gabriele Giacone  <1o5g4r8o@gmail.com>

	Set default serial parameters to 8N1 instead of 7E1
	* i386/i386at/com.c (comcninit): Set LINE_CTL register to i8BITS instead of
	i7BITS|iPEN.

2012-02-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix format for string print
	* linux/src/drivers/net/3c505.c (elp_sense): Use %s format for printing a mere
	string, not the string.

	Fix format for string print
	* linux/src/drivers/net/8390.c: Use %s format for printing a mere string, not
	the string.

	Fix format for string print
	* linux/src/drivers/net/3c503.c (el2_probe1): Use %s format for printing a mere
	string, not the string.

	Fix format for string print
	* linux/src/drivers/scsi/aha1542.c (aha1542_setup): Use %s format for printing a
	mere string, not the string.

	Fix format for string print
	* linux/src/drivers/scsi/advansys.c (asc_prt_line): Use %s format for
	printing a mere string, not the string.

	Fix format for string print
	* i386/i386at/model_dep.c (c_boot_entry): Use %s format for printing a mere
	string, not the string.

2012-01-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' into master-slab

2012-01-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix build on 64bit host
	When stealing the memset function from the 32bit host libc on a 64bit host
	system, glibc tends to bring unwanted references to _Unwind_Resume,
	__gcc_personality_v0, etc. So let's stop stealing memset.

	* kern/strings.c (memset): New function.
	* Makefile.am (clib_routines): Remove memset.

2012-01-09  Richard Braun  <rbraun@sceen.net>

	Improve ipc hash/marequest init readability
	Use macros instead of raw numeric values.

	* ipc/ipc_hash.h (IPC_HASH_GLOBAL_SIZE): New macro.
	* ipc/ipc_hash.c (ipc_hash_init): Directly set the global hash table
	size to IPC_HASH_GLOBAL_SIZE.
	* ipc/ipc_marequest.h (IPC_MAREQUEST_SIZE): New macro.
	* ipc/ipc_marequest.c (ipc_marequest_init): Directly set the marequest
	hash table size to IPC_MAREQUEST_SIZE.

2011-12-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Cope with dom0s which do not respect feature-no-csum-offload
	Event with feature-no-csum-offload=1, some dom0s (such as Debian Squeeze's
	2.6.32) send packets with a blank checksum. Recompute them before givin the
	packet to pfinet.

	* xen/net.c (recompute_checksum): New function.
	(hyp_net_intr): Call recompute_checksum when the checksum is blank but the
	data is validated.

2011-12-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix typo

	Upgrade number of event queues
	* kern/sched_prim.c (NUMQUEUES): Increase to 1031

2011-12-17  Richard Braun  <rbraun@sceen.net>

	Remove arbitrary limits used by the zone system
	The zone allocator could limit the size of its zones to an arbitrary
	value set at zinit() time. There is no such parameter with the slab
	module. As a result of removing those limits, the kern/mach_param.h
	header becomes empty, and is simply removed altogether.

	* Makefrag.am (libkernel_a_SOURCES): Remove kern/mach_param.h.
	* i386/i386/fpu.c: Remove #include <kern/mach_param.h>.
	* i386/i386/machine_task.c: Likewise.
	* i386/i386/pcb.c: Likewise.
	* ipc/ipc_init.c: Likewise.
	(ipc_space_max): Remove variable.
	(ipc_tree_entry_max): Likewise.
	(ipc_port_max): Likewise.
	(ipc_pset_max): Likewise.
	* ipc/ipc_init.h (IPC_ZONE_TYPE): Remove macro.
	(ipc_space_max): Remove extern declaration.
	(ipc_tree_entry_max): Likewise.
	(ipc_port_max): Likewise.
	(ipc_pset_max): Likewise.
	* ipc/ipc_hash.c (ipc_hash_init): Don't use ipc_tree_entry_max to
	compute ipc_hash_global_size.
	* ipc/ipc_marequest.c: Remove #include <kern/mach_param.h>.
	(ipc_marequest_max): Remove variable.
	(ipc_marequest_init): Don't use ipc_marequest_max to compute
	ipc_marequest_size.
	(ipc_marequest_info): Return (unsigned int)-1 in maxp.
	* kern/act.c: Remove #include <kern/mach_param.h>.
	* kern/mach_clock.c: Likewise.
	* kern/priority.c: Likewise.
	* kern/task.c: Likewise.
	* kern/thread.c: Likewise.
	* vm/memory_object_proxy.c: Likewise.
	* vm/vm_fault.c: Likewise.

2011-12-17  Richard Braun  <rbraun@sceen.net>

	Remove the defunct kernel_task_create() function
	The kmem_suballoc() function, which has been replaced with
	kmem_submap(), is called by kernel_task_create(). Rather than update it,
	remove this now unused function.

	* kern/task.c (kernel_task_create): Remove function.
	* kern/task.h (kernel_task_create): Remove prototype.

2011-12-17  Richard Braun  <rbraun@sceen.net>

	Fix kern/kalloc.h includes
	* 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.

2011-12-17  Richard Braun  <rbraun@sceen.net>

	Adjust VM initialization
	Unlike the zone allocator, the slab code can't be fed with an initial
	chunk of memory. Some VM objects used early during startup now have to
	be statically allocated, and kernel map entries need a special path
	to avoid recursion when being allocated.

	* vm/vm_map.c (vm_submap_object_store): New variable.
	(vm_submap_object): Point to vm_submap_object_store.
	(kentry_data_size): Initialize to arbitrary value.
	(kentry_count): Remove variable.
	(kentry_pagealloc): New function.
	(vm_map_setup): Likewise.
	(vm_map_create): Replace initialization with a call to vm_map_setup().
	* vm/vm_map.h (vm_map_setup): New prototype.
	* vm/vm_kern.c (kernel_map_store): New variable.
	(kernel_map): Point to kernel_map_store.
	(kmem_suballoc): Remove function. Replaced with...
	(kmem_submap): New function.
	(kmem_init): Call vm_map_setup() instead of vm_map_create().
	* vm/vm_kern.h (kmem_suballoc): Remove prototype.
	(kmem_submap): New prototype.
	* vm/vm_object.c (kernel_object_store): New variable.
	(kernel_object): Point to kernel_object_store.
	(vm_object_template): Change type from vm_object_t to struct vm_object.
	(_vm_object_setup): New function.
	(_vm_object_allocate): Replace initialization with a call to
	_vm_object_setup().
	(vm_object_bootstrap): Don't allocate vm_object_template, and use it as
	a structure instead of a pointer. Initialize kernel_object and
	vm_submap_object with _vm_object_setup() instead of
	_vm_object_allocate().
	* vm/vm_resident.c (vm_page_bootstrap): Don't initialize
	kentry_data_size.
	* device/ds_routines.c (device_io_map_store): New variable.
	(device_io_map): Point to device_io_map_store.
	(mach_device_init): Call kmem_submap() instead of kmem_suballoc().
	* ipc/ipc_init.c (ipc_kernel_map_store): New variable.
	(ipc_kernel_map): Point to ipc_kernel_map_store.

2011-12-17  Richard Braun  <rbraun@sceen.net>

	Adjust the kernel to use the slab allocator
	* device/dev_lookup.c: Replace zalloc header, types and function calls
	with their slab counterparts.
	* device/dev_pager.c: Likewise.
	* device/ds_routines.c: Likewise.
	* device/io_req.h: Likewise.
	* device/net_io.c: Likewise.
	* i386/i386/fpu.c: Likewise.
	* i386/i386/io_perm.c: Likewise.
	* i386/i386/machine_task.c: Likewise.
	* i386/i386/pcb.c: Likewise.
	* i386/i386/task.h: Likewise.
	* i386/intel/pmap.c: Likewise.
	* i386/intel/pmap.h: Remove #include <kernel/zalloc.h>.
	* include/mach_debug/mach_debug.defs (host_zone_info): Replace
	routine declaration with skip directive.
	(host_slab_info): New routine declaration.
	* include/mach_debug/mach_debug_types.defs (zone_name_t)
	(zone_name_array_t, zone_info_t, zone_info_array_t): Remove types.
	(cache_info_t, cache_info_array_t): New types.
	* include/mach_debug/mach_debug_types.h: Replace #include
	<mach_debug/zone_info.h> with <mach_debug/slab_info.h>.
	* ipc/ipc_entry.c: Replace zalloc header, types and function calls with
	their slab counterparts.
	* ipc/ipc_entry.h: Likewise.
	* ipc/ipc_init.c: Likewise.
	* ipc/ipc_marequest.c: Likewise.
	* ipc/ipc_object.c: Likewise.
	* ipc/ipc_object.h: Likewise.
	* ipc/ipc_space.c: Likewise.
	* ipc/ipc_space.h: Likewise.
	* ipc/ipc_table.c (kalloc_map): Remove extern declaration.
	* kern/act.c: Replace zalloc header, types and function calls with their
	slab counterparts.
	* kern/kalloc.h: Add #include <vm/vm_types.h>.
	(MINSIZE): Remove definition.
	(kalloc_map): Add extern declaration.
	(kget): Remove prototype.
	* kern/mach_clock.c: Adjust comment.
	* kern/processor.c: Replace zalloc header, types and function calls with
	their slab counterparts.
	* kern/startup.c: Remove #include <kernel/zalloc.h>.
	* kern/task.c: Replace zalloc header, types and function calls with
	their slab counterparts.
	* kern/thread.c: Likewise.
	* vm/memory_object_proxy.c: Likewise.
	* vm/vm_external.c: Likewise.
	* vm/vm_fault.c: Likewise.
	* vm/vm_init.c: Likewise.
	* vm/vm_map.c: Likewise.
	* vm/vm_object.c: Likewise.
	* vm/vm_page.h: Remove #include <kernel/zalloc.h>.
	* vm/vm_pageout.c: Replace zalloc header, types and function calls with
	their slab counterparts.
	* vm/vm_resident.c: Likewise.
	(zdata, zdata_size): Remove declarations.
	(vm_page_bootstrap): Don't steal memory for the zone system.

2011-12-17  Richard Braun  <rbraun@sceen.net>

	Import the slab allocator
	As it is intended to completely replace the zone allocator, remove it on
	the way. So long to the venerable code !

	* Makefrag.am (libkernel_a_SOURCES): Add kern/slab.{c,h}, remove kern/kalloc.c
	and kern/zalloc.{c,h}.
	* configfrag.ac (SLAB_VERIFY, SLAB_USE_CPU_POOLS): Add defines.
	* i386/Makefrag.am (libkernel_a_SOURCES): Remove i386/i386/zalloc.h.
	* i386/configfrag.ac (CPU_L1_SHIFT): Remove define.
	* include/mach_debug/slab_info.h: New file.
	* kern/slab.c: Likewise.
	* kern/slab.h: Likewise.
	* i386/i386/zalloc.h: Remove file.
	* include/mach_debug/zone_info.h: Likewise.
	* kern/kalloc.c: Likewise.
	* kern/zalloc.c: Likewise.
	* kern/zalloc.h: Likewise.

2011-12-17  Richard Braun  <rbraun@sceen.net>

	Import utility files
	* Makefrag.am (libkernel_a_SOURCES): Add kern/list.h, kern/rbtree.c,
	kern/rbtree.h and kern/rbtree_i.h.
	* kern/list.h: New file.
	* kern/rbtree.c: Likewise.
	* kern/rbtree.h: Likewise.
	* kern/rbtree_i.h: Likewise.
	* kern/macro_help.h (MACRO_BEGIN): Use GNU C compound statement
	enclosed in parentheses.
	(MACRO_END): Likewise.

2011-11-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Keep frame pointer when debugger is enabled
	* Makefrag.am (AM_CFLAGS) [enable_kdb]: Add -fno-omit-frame-pointer.

2011-10-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of callisto:gnumach

2011-10-16  Samuel Thibault  <sthibaul@callisto.debian.net>

	Do not map xen driver pages
	* xen/block.c (hyp_block_init): Use vm_page_grab_phys_addr instead of
	kmem_alloc_wired to allocate driver pages.
	* xen/net.c (hyp_net_init): Likewise.

2011-10-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Increase kmem area for the Xen case.
	Kernel tacks are 4 pages in the Xen case, so we need more kmem space.

	* i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE) [MACH_XEN]: Increase to 224MiB.

2011-10-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Raise block device interrupt level to SPL6
	* linux/dev/drivers/block/genhd.c (device_setup): Set linux_intr_pri to
	SPL6.
	* linux/dev/glue/block.c (init_partition, device_open): Likewise.

	Raise Linux kmem memory size
	* linux/dev/glue/kmem.c (MEM_CHUNKS): Increase to 32.

2011-10-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Leave interrupts enabled in sym53c8xx driver
	The driver can work with them, and request_irq works fine with them.

	* linux/src/drivers/scsi/sym53c8xx.c (ncr_attach): Do not pass SA_INTERRUPT to
	request_irq().

2011-10-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Define BITS_PER_LONG for Linux code
	* linux/src/include/asm-i386/types.h (BITS_PER_LONG): Define to 32.

2011-10-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add sym53c8xx driver from linux 2.2
	This driver supports qemu's SCSI host device.
	Unfortunately it seems to be breaking the network device, so test with care.

	* linux/Makefrag.am (liblinux_a_SOURCES): Add
	linux/src/drivers/scsi/sym53c8xx{.c,_comm.h,.h,_defs.h}
	* linux/configfrag.ac: Add AC_Linux_DRIVER([sym53c8xx] to enable
	CONFIG_SCSI_SYM53C8XX.
	* linux/dev/glue/kmem.c (MEM_CHUNKS): Increase to 16.
	* linux/src/drivers/scsi/hosts.c [CONFIG_SCSI_SYM53C8XX]: Include "sym53c8xx.h".
	(builtin_scsi_hosts): include SYM53C8XX.

2011-09-28  Sergio Lopez  <slp@sinrega.org>

	fix copy out-of-line data when length >= 512MB
	* ipc/ipc_kmsg.c (ipc_kmsg_copyin_body): Change length type to
	unsigned64_t. Cast number to unsigned64_t.
	(ipc_kmsg_copyout_body): Likewise.

2011-09-28  Sergio López  <slpml@sinrega.org>

	Make thread_suspend honor the TH_UNINT flag
	Interrupting a thread without a continuation, puts it in a
	inconsistent state. This is the cause for the bug described in
	https://lists.gnu.org/archive/html/bug-hurd/2011-09/msg00148.html

	* kern/thread.c (thread_suspend): Fail with KERN_FAILURE if thread is
	uninterruptible.

2011-09-12  Guillem Jover  <guillem@hadrons.org>

	Remove unused [!MACH_KERNEL] driver code
	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.

2011-09-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

2011-09-09  Guillem Jover  <guillem@hadrons.org>

	Do not take unused strpbrk() from libc
	* Makefile.am (clib_routines): Remove strpbrk.

2011-09-06  Thomas Schwinge  <thomas@schwinge.name>

	* .gitignore: Tighten some rules, and distribute others to... * doc/.gitignore: ... here; * i386/i386/.gitignore: ... here; * tests/.gitignore: ..., and here.

	* i386/i386/pcb.h (stack_attach): Parameterize the continuation parameter's parameter list. * i386/i386/pcb.c (stack_attach): Likewise.

	Move i386/i386/locore.S declarations.
	* i386/i386/trap.c (recover_table, recover_table_end, retry_table)
	(retry_table_end): Move declarations to...
	* i386/i386/locore.h: ... here.

2011-09-06  Thomas Schwinge  <thomas@schwinge.name>

	Further prototyping work for memory_object_proxy.c functions.
	* vm/memory_object_proxy.h: Add #includes.
	(memory_object_proxy_lookup): New declaration.
	* vm/memory_object_proxy.c: #include <vm/memory_object_proxy.h>.
	* vm/vm_user.c: Likewise.
	(memory_object_proxy_lookup): Drop declaration.

	Parts based on a patch by Fridolín Pokorný <fridolin.pokorny@gmail.com>.

2011-09-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Drop module memory free verbosity
	* kern/bootstrap.c (bootstrap_create): Do not show freed module memory.

	Free memory used by boot modules
	* vm/vm_resident.c (pmap_startup): Warn when some pages could not be included
	in the allocator due to bad estimation.
	* kern/bootstrap.c: Include <vm/pmap.h>.
	(bootstrap_create): Call vm_page_create on bootstrap modules content.

2011-09-03  Fridolín Pokorný  <fridolin.pokorny@gmail.com>

	Add prototypes for memory_object_proxy.c functions
	* vm/memory_object_proxy.h: Add file.
	* vm/vm_init.c: Include <vm/memory_object_proxy.h>.
	* kern/ipc_kobject.c: Likewise.
	* Makefile.am (libkernel_a_SOURCES): Add vm/memory_object_proxy.h.

2011-09-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

2011-09-02  Guillem Jover  <guillem@hadrons.org>

	Remove long obsolete RPC routines
	* 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-09-02  Guillem Jover  <guillem@hadrons.org>

	Do not remap errno codes from E* to LINUX_E*
	Mach no longer uses any of the old and clashing errno E* codes, so
	it's safe to use them now w/o namespacing. This also means one less
	modification needed to the Linux code.

	* linux/dev/include/asm-i386/errno.h: Remove file.
	* linux/dev/kernel/dma.c (notifier_chain_unregister) [MACH_INCLUDE]: Remove
	code.
	* linux/dev/include/linux/notifier.h: Likewise.
	* linux/dev/arch/i386/kernel/irq.c (setup_x86_irq): Rename LINUX_EBUSY
	to EBUSY.
	(request_irq): Rename LINUX_EINVAL to EINVAL.
	* linux/dev/glue/block.c (register_blkdev): Rename LINUX_EBUSY to EBUSY
	and LINUX_EINVAL to EINVAL.
	(unregister_blkdev): Rename LINUX_EINVAL to EINVAL.
	(rdwr_partial) Rename LINUX_ENOMEM to ENOMEM and LINUX_EIO to EIO.
	* linux/dev/glue/misc.c (linux_to_mach_error): Rename LINUX_EPERM to
	EPERM, LINUX_EIO to EIO, LINUX_ENXIO to ENXIO, LINUX_EACCES to EACCES,
	LINUX_EFAULT to EFAULT, LINUX_EBUSY to EBUSY, LINUX_EINVAL to EINVAL,
	LINUX_EROFS to EROFS, LINUX_EWOULDBLOCK to EWOULDBLOCK and LINUX_ENOMEM
	to ENOMEM.
	(verify_area): Rename LINUX_EFAULT to EFAULT.
	* linux/dev/kernel/resource.c (check_region): Rename LINUX_EBUSY to
	EBUSY.
	* linux/dev/kernel/sched.c (__do_down): Rename LINUX_EINTR to EINTR.

2011-09-02  Guillem Jover  <guillem@hadrons.org>

	Use Mach native error codes instead of POSIX errno E* ones
	* 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.

2011-09-02  Guillem Jover  <guillem@hadrons.org>

	Change argument name to match function body usage
	Otherwise the function wrongly uses the global symbol.

	* linux/src/drivers/scsi/ppa.c (ppa_nibble_in): Rename `str_p' argument
	to `base'.

2011-09-02  Guillem Jover  <guillem@hadrons.org>

	Disable set but unused variable
	* linux/src/drivers/scsi/gdth.c (gdth_detect): Conditionalize `b' on
	[LINUX_VERSION_CODE < 0x020000]. Do not preset it to 0, it's initialized
	later on when needed.

	Remove set but unused variables
	* linux/dev/drivers/block/floppy.c (setup_rw_floppy): Remove `dflags'.
	(floppy_eject): Remove `dummy'.
	* linux/src/drivers/net/8390.c (ethdev_init): Remove `ei_local'.
	* linux/src/drivers/scsi/ppa.c (ppa_detect): Remove `ppb'.

	Cast addr argument to vm_offset_t
	* linux/dev/glue/kmem.c (vfree): Cast `addr' argument on kfree_mem
	function to vm_offset_t.

	Add vsnprintf prototype
	* kern/printf.h (vsnprintf): New prototype.

	Add missing headers
	* linux/dev/init/main.c: Include <linux/pci.h>.
	* linux/dev/kernel/printk.c: Include <kern/printf.h>.

2011-09-01  Ludovic Courtès  <ludo@gnu.org>

	Add missing header file to the distribution.
	* linux/Makefrag.am (liblinux_a_SOURCES): Add `linux/dev/glue/glue.h',
	  which appeared in commit 2b4bff9914d57bff600ac70194b8b1aab3485bee
	  ("Fix declarations").

2011-09-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix documentation

	Close kernel stacks.
	* i386/i386/pcb.c (stack_attach): Initialize ebp to 0.

2011-09-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix PC sampling
	interrupt.S now saves the IRQ on the stack to acknowledge it later.

	* i386/i386/hardclock.c (hardclock): Add irq parameter.
	* i386/i386at/kd.c (kdintr, kdcheckmagic): Remove regs parameter.
	* i386/i386at/kd.h (kdintr): Likewise.

2011-08-31  Guillem Jover  <guillem@hadrons.org>

	Add silent rules support if available and disable it by default
	* configure.ac (AM_SILENT_RULES): Add silent rules support if available,
	and disable it by default.
	* Makefile.am (AWK_V, AWK_V_, AWK_V_0): New variables.
	(NM_V, NM_V_, NM_V_0): Likewise.
	(GZIP_V, GZIP_V_, GZIP_V_0): Likewise.
	(MIGCOM_V, MIGCOM_V_, MIGCOM_V_0): Likewise.
	(gnumach-undef): Use NM_V in front of NM.
	(gnumach-undef-bad): Use AM_V_GEN in front of sed.
	(clib-routines.o): Use AM_V_at in fron of undefined symbols check.
	Use AM_V_CCLD in front of CCLD.
	* Makefrag.am (gnumach.msgids): Use AM_V_GEN in front of cat.
	* Makerules.am (%.symc): Use AWK_V in front of AWK.
	(%.symc.o): Use AM_V_CC in front of COMPILE.
	(%.h): Use AM_V_GEN in front of sed.
	(%.gz): Use GZIP_V in front of GZIP.
	* Makerules.mig.am (%.user.defs.c): Use AM_V_GEN in front of command.
	(%.server.defs.c): Likewise.
	(%.user.h %.user.c %.user.msgids): Use MIGCOM_V in front of MIGCOM.
	(%.server.h %.server.c %.server.msgids): Likewise.

2011-08-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Optimize copyout path
	* i386/i386/locore.S (copyout): Remove RETRY() use from >=i486 variant. Move
	copyout_ret and copyout_fail.

	Fix copyout retry on lazy allocation on >= i486
	* i386/i386/locore.S (copyout): Add a >=i486 variant of copyout which uses
	no loop, but simply retries rep mov.

	Disable global page while writing in kernel space
	* i386/i386/db_interface.c (db_write_bytes): If CPU has PGE feature, disable
	CR4_PGE before enabling kernel page write access, and re-enable the former after
	disabling the latter.

2011-08-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Protect set_cr3 against compiler assignment optimizations
	This fixes the kdb `break' command.

	i386/i386/proc_reg.h (set_cr3): Add "memory" clobber.

2011-08-31  Guillem Jover  <guillem@hadrons.org>

	Fix undefined operation on assigning self pre-incremented variable
	* linux/src/drivers/scsi/wd7000.c (mail_out): Add `1' instead of
	pre-incrementing self assigned variable.
	* linux/src/drivers/net/de4x5.c (de4x5_sw_reset, de4x5_queue_pkt, de4x5_rx)
	(de4x5_tx, de4x5_rx_ovfc, set_multicast_list, ping_media, mii_get_phy)
	(de4x5_ioctl): Likewise.
	* linux/src/drivers/net/depca.c (depca_rx, depca_tx, load_packet): Likewise.

	Honour type promotion on variable argument handling
	* linux/dev/lib/vsprintf.c (linux_vsprintf): Use `int' when retrieving
	a `short' through `va_arg'.

	Correct MiG Mach types to fix compilation warnings
	* 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.

	Denote __exit symbols as used
	* linux/src/include/linux/init.h: Include <linux/compiler.h>.
	(__exitused): New macro.
	(__exit): Define to ` __exitused __cold notrace'.
	* linux/src/include/linux/kcomp.h (__exit): Remove.

	Move <linux/init.h> from linux/pcmcia-cs to linux/src
	* linux/pcmcia-cs/include/linux/init.h: Move to ...
	* linux/src/include/linux/init.h: ... here.

	Import Linux 3.1 compiler definitions
	* linux/src/include/linux/compiler.h: New file.
	* linux/src/include/linux/compiler-gcc.h: Likewise.
	* linux/src/include/linux/compiler-gcc3.h: Likewise.
	* linux/src/include/linux/compiler-gcc4.h: Likewise.
	* linux/dev/include/linux/kernel.h (barrier): Remove definition and
	include <linux/compiler.h> instead.

	Import Linux 3.1 ctype code
	* linux/src/include/linux/ctype.h: Update file.
	* linux/src/lib/ctype.c: Likewise.

	Remove unused and non-functional string specialization header
	* linux/src/include/asm-i386/string-486.h: Remove.

	Fix memcmp prototype
	* include/string.h (memcmp): Remove bogus `*' from return type.

2011-08-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix declarations
	* 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.

2011-08-30  Guillem Jover  <guillem@hadrons.org>

	Add linux_timer_intr function declaration
	* i386/i386/hardclock.c [LINUX_DEV] (linux_timer_intr): New prototype.

	Add missing headers
	* device/dev_pager.c: Include <device/memory_object_reply.user.h>.
	* linux/pcmcia-cs/glue/wireless_glue.h: Include <kern/debug.h>.

	Remove unused variable
	* i386/i386at/rtc.c (rtc): Remove variable.

	Cast host_get_time() arguments to fix warnings
	* linux/dev/glue/misc.c (do_gettimeofday): Cast arguments to
	`host_get_time'.

	Cast function timeout() argument to fix a warning
	* kern/mach_clock.h (timer_func_t): New function type.
	(struct timer_elt): Change fcn type to timer_func_t.
	* i386/i386at/com.c (comstart): Cast `ttrstrt' to `timer_funct_t *' in
	`timeout' call.
	* i386/i386at/lpr.c (lprstart): Likewise,

	Return a value on non-void function
	* i386/i386at/com.c (comcnprobe, comcninit, comcnputc): Return 0.

2011-08-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix copyright assignment
	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-08-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Console declaration cleanup
	* 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.

2011-08-30  Guillem Jover  <guillem@hadrons.org>

	Move Linux module macros to their original header
	* linux/pcmcia-cs/glue/wireless_glue.h (EXPORT_SYMBOL)
	(SET_MODULE_OWNER): Move to ...
	* linux/src/include/linux/module.h [!MODULE]: ... here.

	Move cdrom_sleep() definition to its original source file
	* linux/dev/kernel/sched.c (cdrom_sleep): Move to ...
	* linux/src/drivers/block/ide-cd.c [MACH]: ... here, make it static.
	Include <kern/sched_prim.h>.

2011-08-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Make copyout run in 1 loop on >= i486
	* i386/i386/locore.S (copyout): On >= i486, skip WP-check loop split and just
	use byte count.

2011-08-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Skip kernel WP check on i486 and above
	* i386/i386/i386asm.sym (machine_slot.sub_type): Define.
	* i386/i386/locore.S (copyout_retry): Skip if machine_slot[0].cpu_type > 3.

	Enable >4GiB cr3
	* i386/xen/xen_boothdr.S (__xen_guest): Add [extended-cr3] to PAE
	(XEN_ELFNOTE_PAE_MODE): Likewise.

2011-08-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Disable (<i486)-only WP workaround on Xen & PAE
	i386 didn't support PAE anyway.

	* i386/i386/locore.S (copyout_retry) [MACH_HYP || PAE]: Remove.
	* xen/xen.c (hyp_invalidate_pte): Remove function.
	* xen/xen.h (hyp_invalidate_pte): Remove prototype.

2011-08-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix pmap_clear_bootstrap_pagetable with >4G mfns
	* i386/intel/pmap.c (pmap_clear_bootstrap_pagetable): Use pte_to_pa instead
	of atop.

	Rework memory mapping reservation
	* i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE): Define to 192MiB.
	* i386/i386at/model_dep.c (mem_size_init): Use VM_KERNEL_MAP_SIZE instead of
	1/6 factor.
	* i386/intel/pmap.c (morevm): Remove.
	(pmap_bootstrap): Use VM_KERNEL_MAP_SIZE instead of morevm.

	Move free_skbuffs declaration to the top
	* device/ds_routines.c (free_skbuffs): Move declaration to the top.

2011-08-27  Guillem Jover  <guillem@hadrons.org>

	Initialize the new map entry when it's a projected buffer
	* vm/vm_map.c (vm_map_fork): Call vm_map_entry_create for projected_on
	buffers too.

	Fix initialization from incompatible pointer type
	* linux/dev/glue/block.c (device_get_status): Cast `hg' to `unsigned long'
	in ioctl call.

	Match signedness of char pointer comparisons and assignments
	* linux/dev/drivers/block/genhd.c (msdos_partition): Cast `data' assignment
	to `unsigned char *'.
	* linux/src/drivers/block/ide-cd.c (cdrom_queue_request_sense): Cast
	`buffer' assignment to `unsigned char *'.
	(cdrom_transfer_packet_command): Change `cmd_buf' argument type to
	`unsigned char *'.
	(cdrom_read_capacity): Cast `pc.buffer' assignments to `unsigned char *'.
	Use temporary `model' and `fw_rev' `const char *' variables to compare
	against literal strings and characters.
	* linux/src/drivers/block/ide.c (execute_drive_cmd): Cast `args'
	assignment to `byte *'.
	(ide_open): Cast `rq.buffer' assignment to `char *'.
	(ide_release): Likewise.
	(ide_ioctl): Likewise.
	(do_identify): Cast variables being compared against literal string to
	`char *'.
	(probe_for_drive): Likewise.
	* linux/src/drivers/block/ide.h (struct packet_command): Change `buffer'
	type to `unsigned char *'.

	Always initialize A and X variables in BPF code
	* device/net_io.c (bpf_do_filter): Remove lint conditional.

	Disable unused variables
	* i386/i386at/com.c (comstart): Disable `i' variable.
	* linux/src/drivers/net/at1700.c (net_close): Disable `lp' variable.
	* linux/dev/include/linux/blk.h (end_request): Disable `nsect' variable
	on MACH.

	Remove unused variables
	* vm/memory_object_proxy.c (memory_object_create_proxy): Remove unused
	`kr' variable.
	* linux/dev/glue/block.c (free_buffer): Remove unused `i' variable.
	(register_blkdev): Remove unused `err' variable.
	(unregister_blkdev): Likewise.
	(bread): Likewise.
	(init_partition): Likewise.
	* linux/dev/glue/net.c (device_write): Likewise.

	Remove ident tags producing preprocessor warnings
	* linux/src/drivers/scsi/FlashPoint.c: Remove #ident tags.

	Add header for printf prototype
	* vm/memory_object_proxy.c: Include <kern/printf.h>.

	Add prototype for free_skbuffs function
	* device/ds_routines.c [LINUX_DEV && CONFIG_INET] (free_skbuffs): Add
	prototype.

	Add prototype for log function
	* kern/debug.h (log): New prototype.

2011-08-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* Makefile.am (AM_CFLAGS): Add -fno-builtin-log.

2011-08-27  Guillem Jover  <guillem@hadrons.org>

	Add prototypes for locore functions
	* i386/i386at/model_dep.c (discover_x86_cpu_type): Move ...
	* i386/i386/locore.h: ... here.
	(inst_fetch, cpu_shutdown): New prototypes.
	* i386/i386at/kd.c: Include <i386/locore.h>.

	Do not take obsolete and unused bcopy and bzero from libc
	* Makefile.am (clib_routines): Remove bcopy and bzero.

	Use AC_LANG_SOURCE inside AC_LANG_CONFTEST to fix autoconf warning
	* configure.ac (AC_LANG_CONFTEST): Wrap the source into a AC_LANG_SOURCE
	call.

	Add a .gitignore file
	* .gitignore: New file.

2011-08-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Make ipc_space_zone not exhaustible
	Users of ipc_space_create() actually assume that it succeeds.

	* ipc/ipc_init.c (ipc_bootstrap): Create ipc_space_zone without EXHAUSTIBLE
	flag.

2011-08-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add more details to "zone exhausted" panics.
	* kern/zalloc (zalloc): Add more details to "zone exhausted" panics.

2011-08-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add 8byte breakpoint macro
	* i386/i386/db_interface.h (I386_DB_LEN_8): Define macro.

2011-08-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add compiler barrier to update_mapped_time
	* kern/mach_clock.c (update_mapped_time): Add compiler barriers between
	writes to shared memory. Update comment: on SMP, write barriers are
	required.

2011-08-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Do not warn for cross-space spurious port deallocation
	These are harmless (the target is stopped) and difficult to fix anyway.

	* ipc/mach_port.c (mach_port_destroy): Do not warn about spurious port
	deallocation when SPACE is not equal to current_space().
	(mach_port_deallocate): Likewise.

2011-08-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add more spurious deallocation debugging
	* ipc/mach_port.c (mach_port_destroy): Print the current space and the
	target space on spurious deallocation.
	(mach_port_deallocate): Likewise.

2011-07-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Whitelist QEMU Hard-Drive for DMA.
	PIO has become very slow in Linux 2.6.35+, so we do not really have the
	choice any more.

	* linux/src/drivers/block/triton.c (good_dma_drives): Re-whitelist QEMU hard
	drive.

2011-05-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix gcc 4.6 build
	* linux/dev/include/linux/skbuff.h (skb_put, skb_push): Do not print the
	address of a local label, gcc 4.6 does not build this and the debugger can
	output it anyway.
	* linux/src/include/linux/skbuff.h (skb_put, skb_push): Likewise.

2011-05-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge two asm constraints
	* linux/src/drivers/scsi/ultrastor.c (find_and_clear_bit_16): Use + modifier
	instead of using both a read and a write constraint.

2011-05-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Do not warn on vm_map_enter with fixed address failing
	* vm/vm_map.c (vm_map_enter): Warn about missing room in map only if
	anywhere is set.

2011-04-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Update constants to nowadays standards
	Follow-up to fa6c711d

	* ipc/ipc_init.c (ipc_kernel_map_size): Increase to 8MiB.

2011-04-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Enable all caches
	* i386/i386at/model_dep.c (i386at_init): Set CR0_CD and CR0_NW in CR0
	register.

	Drop spurious warning
	* ipc/ipc_entry.c (ipc_entry_get): Do not warn when ipc_entry_get returns
	KERN_NO_SPACE.

2011-04-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Warn once when part of the kernel is lacking space
	* ipc/ipc_entry.c (ipc_entry_get, ipc_entry_grow_table): Warn when returning
	KERN_NO_SPACE.
	* vm/vm_map.c (vm_map_find_entry, vm_map_enter, vm_map_copyout,
	vm_map_copyout_page_list): Warn when returning KERN_NO_SPACE.

2011-04-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Update constants to nowadays standards
	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.

2011-04-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Warn once when part of the kernel is lacking memory
	* kern/printf.h (printf_once): New macro.
	* ipc/mach_port.c (mach_port_names, mach_port_get_set_status): Warn when
	returning KERN_RESOURCE_SHORTAGE.
	* vm/vm_kern.c: Include printf.h.
	(kmem_alloc, kmem_realloc, kmem_alloc_wired, kmem_alloc_aligned,
	kmem_alloc_pageable): Warn when failing.
	* vm/vm_resident.c (vm_page_grab_contiguous_pages): Warn when returning
	KERN_RESOURCE_SHORTAGE.

2011-04-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Close call stack on continuation
	* i386/i386/locore.S (call_continuation): Push dummy return address instead
	of letting the callee get a random one.

2011-04-18  Arne Babenhauserheide  <arne_bab@web.de>

	Removed deprecated LINTLIBRARY #ifdefs
	    mach/mach_traps.h: Removed LINTLIBRARY #ifdefs.
	    mach/message.h: Removed LINTLIBRARY #ifdefs.

2011-04-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix build with kdb from make dist-generated tarball
	* Makefrag.am (libkernel_a_SOURCES): Add ddb/db_cond.h, ddb/db_examine.h,
	ddb/db_input.h, ddb/db_macro.h, ddb/db_trap.h.
	* i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386/db_interface.h

2011-03-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix typo
	* i386/i386at/kd.c (key_map): Fix K_PERIOD typo.

2011-03-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Clean kd.[ch]
	* i386/i386at/kd.h (NUMSTATES): Fix comment about NORM_STATE.
	* i386/i386at/kd.c (key_map): Use K_* macros instead of numeric values.

2011-03-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Also warn about mach_port_destroy on invalid ports
	* ipc/mach_port.c (mach_port_destroy): Warn (and possibly call debugger) when
	ipc_right_lookup_write didn't find the port name.

2011-03-11  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix continuation after keyboard debugger invocation
	According to stack layout change in 5da1aea7

	* i386/i386/locore.S [!MACH_XEN] (RET_OFFSET): Define to 12 instead of 8.

2011-03-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Enable global pages after enabling paging
	* i386/i386at/model_dep.c (i386at_init): Enable CR4_PGE after enabling
	CR0_PG.

2011-03-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix temporary direct mapping during page table enabling
	* i386/i386at/model_dep.c (i386at_init): Count the number of actually
	needed temporary L1 direct mapping by getting the last used address from
	init_alloc_aligned(), instead of hardcoding it to 1 or 3, and then use a for
	loop.

2011-03-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Keep supplementary L1 pages read-only
	* i386/intel/pmap.c (pmap_bootstrap): Fix loop which keeps supplementary L1
	pages read-only: break as soon as one of the L1 supplementary pages has been
	recognized, so that its pte does not get rewritten read-write.

2011-02-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Refuse to share IRQs at different interrupt levels
	* linux/dev/arch/i386/kernel/irq.c (setup_x86_irq): Return -LINUX_EBUSY when
	trying to share an IRQ between two different interrupt levels.

2011-02-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Re-enable updating pvlist for kernel_pmap
	This partially reverts 0744feb6

	* i386/intel/pmap.c (pmap_remove_range): Update pvlist for kernel_pmap too.

2011-02-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Acknoledge interrupt after handler call
	This fixes interrupt overflows when software interrupts processing gets slower
	than hardware.

	* i386/i386at/interrupt.S (interrupt): Issue EOI to PICs after having called
	the interrupt handler and disabled interrupts through cli.

2011-02-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Detect interrupt overflow
	* i386/i386/locore.S (int_from_instack): Check %esp against _intstack, issue
	ud2 on stack overflow.

	Add x86 debug register Xen support
	* i386/xen/xen_boothdr.S: Add global visibility to __hyp_* symbols.
	* i386/i386/locore.S [MACH_XEN] (dr6,dr0,dr1,dr2,dr3): Make get_debugreg and
	set_debugreg hypercalls to manipulate debug registers.
	(dr0,dr1,dr2,dr3): Fix dr7 field shift.
	* i386/i386/xen.h (hyp_set_debugreg, hyp_get_debugreg): New prototypes.

	Add prototypes for x86 debug registers
	* i386/i386/db_interface.h (I386_DB_TYPE_X, I386_DB_TYPE_W, I386_DB_TYPE_RW,
	I386_DB_LEN_1, I386_DB_LEN_2, I386_DB_LEN_4, I386_DB_LOCAL,
	I386_DB_GLOBAL): New macros.
	(dr0, dr1, dr2, dr3): New function prototypes.

	Fix for kdb watch command
	* i386/intel/pmap.c (pmap_remove_range): Do not update pvlist for
	kernel_map.
	[MACH_KBD] (pmap_enter): Allow physical memory remapping.

2011-02-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add console=comN boot option to enable serial console
	* i386/configfrag.ac (RCLINE, RCADDR): Remove defines.
	* i386/i386at/com.c: Include <string.h> and <util/atoi.h>
	[!RCLINE] (RCBAUD, comcndev, comcnprobe, comcninit, comcngetc, comcnputc):
	Declare and define macro, variable, and functions.
	(rcline): New variable.
	(kernel_cmdline): New declaration.
	(comcnprobe): Detect "console=comN" option and set rcline accordingly, use
	rcline instead of RCLINE for serial console selection.
	* i386/i386at/cons_conf.c [NCOM>0 && !RCLINE] (comcnprobe, comcninit,
	comcngetc, comcnputc): Declare functions.
	[NCOM>0 && !RCLINE] (constab): Enable "com" console.
	* i386/i386at/kd_event.c (kbdopen): Call kdinit function, for when the
	VGA+pckbd console was not initialized.

2011-02-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	xen block: Add more legacy hd* name support
	* xen/block.c (hyp_block_init): Add IDE 3-10 device number recognition. Skip
	  unknown block device numbers.

2011-02-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Defer Xen device initialization to device_service_create
	* 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.

	Add rx-copy support to netfront
	* xen/net.c (net_data): Add rx_copy field.
	(enqueue_rx_buf): When rx_copy != 0, give grant on buffer to domD instead of
	issuing a transfer from domD.
	(hyp_net_intr): When rx_copy != 0, take back grant on buffer instead of
	finishing transfer. Do not panic on packet error, free kmsg on error.
	(hyp_net_init): Check for feature-rx-copy in backend, write 1 to
	request-rx-copy in such case. Wait for Connected state before continuing.
	Only unmap buffer when rx_copy is 0.

2011-01-31  Diego Nieto Cid  <dnietoc@gmail.com>

	* doc/mach.texi (device_set_filter): Document filter header.
	Acked-by: Richard Braun <rbraun@sceen.net>

2011-01-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Enable pae_extended_cr3 in pmap_bootstrap
	* i386/i386/gdt.c (gdt_init): Do not enable VMASST_TYPE_pae_extended_cr3.
	* i386/intel/pmap.c (pmap_bootstrap): Enable VMASST_TYPE_pae_extended_cr3.

	Enable Xen >4GiB physical memory support
	* i386/i386/gdt.c (gdt_init): Enable VMASST_TYPE_pae_extended_cr3.
	* i386/i386/xen.h: Drop actually-unneeded comment.
	* i386/xen/xen_boothdr.S (FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb.
	(XEN_ELFNOTE_FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb.

	Drop kbd device on xen
	* i386/Makefrag.am (libkernel_a_SOURCES): Move i386/i386at/kd_event.[ch] and
	i386/i386at/kd_queue.[ch] to [PLATFORM_at].
	* i386/i386at/conf.c (dev_name_list): Move kbd device to [!MACH_HYP].

2011-01-15  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Avoid dropping kd_intr when RCLINE is >= 0
	* i386/i386at/kd.c (kdintr): Return immediately if !kd_initialized.
	* i386/i386at/pic_isa.c (ivect) [RCLINE >= 0]: Enable kdintr in that case
	too.

2011-01-15  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Move -d and -H parse to kern/startup.c
	The code is arch-independant, and reboot_on_panic, used by kern/debug.c
	would be undefined on non-i386.

	* i386/i386at/model_dep.c (reboot_on_panic, c_boot_entry): Move -d and -H parse
	to...
	* kern/startup.c (reboot_on_panic,setup_main): ... here.  Include <string.h>

2010-12-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	memcpy operands are not supposed to overlap
	* include/string.h (memmove): Add prototype.
	* i386/i386at/immc.c (immc_cnputc): Replace memcpy with memmove.

2010-10-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Avoid harmless warning
	* i386/i386at/kd.c (kd_setleds1): Only display unexpected state warning when
	debugging is enabled.

2010-10-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add prototype for strstr
	* include/string.h (strstr): Add prototype.

	Add prototype for discover_x86_cpu_type
	* i386/i386at/model_dep.c (discover_x86_cpu_type): Add prototype.

	Warn on unknown CPU family
	* i386/i386at/model_dep.c (c_boot_entry): Warn in the default case for
	cpu_type.

	Recognize P4 and Opteron-like as pentium pro
	* i386/i386at/model_dep.c (c_boot_entry): Treat cpu_type 15 as Pentium pro.

2010-09-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix device_get/set_status ABI for NET_FLAGS
	* linux/dev/glue/net.c (device_get_status): Compare count with 1 instead
	of sizeof(short).  Access *status instead of *(short *) status.
	(device_set_status): Likewise.

2010-09-14  Thomas Schwinge  <thomas@schwinge.name>

	Merge branch 'typo-print'

2010-09-14  Thomas Schwinge  <schwinge@nic-nac-project.de>

	Typo fix.
	* i386/i386/trap.c (user_trap): Call printf, not print.

2010-09-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix ifunc entries
	* i386/ldscript: Update to the version from binutils 2.20.51.20100617.
	Remove SEARCH_DIR calls.
	* Makefile.am (clib_routines): Accept undefined __rel_iplt_start and
	__rel_iplt_end as these come from the ldscript.
	* i386/i386at/boothdr.S (boot_entry): Call ifunc hooks at boot.
	* i386/xen/xen_boothdr.S (start): Likewise.

2010-09-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

	Fix non-contiguous PCI functions
	* linux/src/drivers/pci/pci.c (scan_bus): Do not set `is_multi' to 0
	when a hole is encountered. Detect 0000:ffff and ffff:0000 vendor ID as
	holes too.

2010-08-27  Guillem Jover  <guillem@hadrons.org>

	Fix "make dist"
	* Makefile.am (EXTRA_DIST): Remove ChangeLog.0, ChangeLog.00 and
	Makefile.correct_output_files_for_.S_files.patch.
	* Makefrag.am (libkernel_a_SOURCES): Add ipc/mach_port.h,
	kern/ipc_mig.h, kern/machine.h, util/putchar.h, util/atoi.h,
	vm/vm_resident.h, vm/vm_types.h and device/subrs.h.
	Remove kern/time_out.h.
	* i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/autoconf.h,
	i386/i386at/com.h, i386/i386at/int_init.h, i386/i386/loose_ends.h,
	i386/i386/model_dep.h, i386/intel/read_fault.h and i386/i386/xen.h.
	Remove i386/i386/timer.h.
	* linux/Makefrag.am (liblinux_a_SOURCES): Add
	linux/src/drivers/net/sis900.h.
	* xen/Makefrag.am (libkernel_a_SOURCES): Add xen/public/arch-x86_32.h
	xen/public/arch-x86_64.h, xen/public/arch-x86/xen.h,
	xen/public/arch-x86/xen-mca.h, xen/public/arch-x86/xen-x86_32.h,
	xen/public/arch-x86/xen-x86_64.h, xen/public/callback.h, xen/public/COPYING,
	xen/public/dom0_ops.h, xen/public/domctl.h, xen/public/elfnote.h,
	xen/public/elfstructs.h, xen/public/event_channel.h, xen/public/features.h,
	xen/public/grant_table.h, xen/public/io/blkif.h, xen/public/io/console.h,
	xen/public/io/fbif.h, xen/public/io/fsif.h, xen/public/io/kbdif.h,
	xen/public/io/netif.h, xen/public/io/pciif.h, xen/public/io/protocols.h,
	xen/public/io/ring.h, xen/public/io/tpmif.h, xen/public/io/xenbus.h,
	xen/public/io/xs_wire.h, xen/public/kexec.h, xen/public/libelf.h,
	xen/public/memory.h, xen/public/nmi.h, xen/public/physdev.h,
	xen/public/platform.h, xen/public/sched.h, xen/public/sysctl.h,
	xen/public/trace.h, xen/public/vcpu.h, xen/public/version.h,
	xen/public/xencomm.h, xen/public/xen-compat.h, xen/public/xen.h,
	xen/public/xenoprof.h, xen/block.h, xen/console.h, xen/evt.h,
	xen/grant.h, xen/net.h, xen/ring.h, xen/store.h, xen/time.h and xen/xen.h.

2010-08-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Do not advice to install libc0.3-xen on 4gb_segment trap
	ext2fs.static will trigger some anyway.  Instead, provide an easy way to
	track how many traps happen.

	* i386/i386/gdt.c [MACH_XEN] (gdt_init): Disable enabling
	VMASST_TYPE_4gb_segments_notify.
	* i386/i386/trap.c [MACH_XEN] (user_trap): Remove printing libc0.3-xen
	installation advice on 4gb_segments trap.  Instead, print a count every 10000
	traps, and disable them on the 1000000th.

2010-08-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Disable 4gb segment emulation notification on first notification
	i386/i386/trap.c [MACH_XEN] (user_trap): Disable
	VMASST_TYPE_4gb_segments_notify on trap 15.

	Report Xen 4gb segment emulation
	* i386/i386/gdt.c [MACH_XEN] (gdt_init): Enable VMASST_TYPE_4gb_segments_notify.
	* i386/i386/idt_inittab.S [MACH_XEN]: Set trap 15 as pushing an error
	code.
	* i386/i386/trap.c [MACH_XEN]: Print trap 15 first occurrence.

2010-08-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix unexpected irq + irq timeout on write
	* linux/src/drivers/block/ide.c (do_rw_disk): Set IRQ handler before
	issuing write command.

	Move read-only sections to after text section

2010-07-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Un-whitelist the QEMU harddisk for DMA support
	* linux/src/drivers/block/triton.c (good_dma_drives): Remove "QEMU HARDDISK".

	Put a name on the 16MiB magic number
	* linux/dev/glue/kmem.c (MEM_DMA_LIMIT): New macro
	(linux_kmem_init): Replace 16 * 1024 * 1024 occurrences with
	MEM_DMA_LIMIT.

2010-06-25  Jeremie Koenig  <jk@jk.fr.eu.org>

	Route BLKRRPART to partitions layer
	* linux/dev/glue/block.c (device_set_status): New function
	(linux_block_emulation_ops): Set set_status field to device_set_status.

2010-04-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add memory clobbers to segment selector loaders
	* i386/i386/seg.h (lldt): Add memory clobber to lldt asm
	snippet.
	* i386/i386/tss.h (ltr): Add memory clobber to ltr asm
	snippet.

2010-04-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix bootstrap additional mapping
	* i386/intel/pmap.c (pmap_bootstrap): Use pt_entry_t type
	instead of vm_offset_t to map additional kernel space.

	Extend machine addresses to 64bit for PAE
	* 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.

2010-04-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

	Fix crash on Xen when no module is provided
	* kern/bootstrap.c (bootstrap_create): Iterate over bmods only
	if is not NULL.

2010-03-15  Thomas Schwinge  <thomas@schwinge.name>

	Require GNU Automake 1.10.2.
	9ff49d9648debffbe42d18863c739d37bcdb50b4's config.status.dep.patch is fit for
	1.10.2 (released in November 2008) and later, and is no longer suitable for
	1.10.1.

	* configure.ac (AM_INIT_AUTOMAKE): Require 1.10.2.

2010-03-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix Xen build without kdb
	* xen/console.c (hypcnintr): Use #if MACH_KDB instead of #ifdef
	MACH_KDB.

	Add mem device
	* i386/Makefrag.am (libkernel_a_SOURCES): Add
	i386/i386at/iopl.c.
	* i386/i386at/conf.c [!MACH_HYP] (memmmap): Declare function.
	(memname): Add macro.
	(dev_name_list): Add mem device.
	* i386/i386at/mem.c: New file.

2010-03-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	whitelist the QEMU harddisk for DMA support
	* linux/src/drivers/block/triton.c (good_dma_drives): Add
	"QEMU HARDDISK".

2010-01-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	ignore bogus FDPT information from BIOS

2009-12-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Align mach_port_deallocate debug flag with usage
	* ipc/mach_port.c (debug_mach_port_deallocate): Rename to...
	(mach_port_deallocate_debug): ... new name, and set volatile
	to permit live changes from ddb.

	Do not systematically debug buggy port deallocation
	* ipc/mach_port.c (debug_mach_port_deallocation): New variable,
	set to 0.
	(mach_port_deallocate): Only call SoftDebugger if
	debug_mach_port_deallocation is not 0.

	Merge branch 'master' of debhurd0:xen/gnumach

2009-12-22  root  <root@phys.ethz.ch>

	Fix debugger trigger
	* i386/i386/locore.S [MACH_XEN] (RET_OFFSET): Define to 8
	* xen/console.c (hypcnintr): On pound sign, call kdb_kintr instead of
	        panicing.

2009-12-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Invoke debugger on duplicate port deallocation
	* ipc/mach_port.c (mach_port_deallocate): Call SoftDebugger if
	ipc_right_lookup_write was not succcessful and `name' is not
	MACH_PORT_NULL or MACH_PORT_DEAD.

	Add a SoftDebugger function
	* 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-12-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Document kdb_kintr stack manipulation
	* i386/i386/locore.S: Document kdb_kintr stack manipulation.

2009-12-19  root  <root@phys.ethz.ch>

	Fix debugger trigger
	* i386/i386/locore.S [MACH_XEN] (RET_OFFSET): Define to 8
	* xen/console.c (hypcnintr): On pound sign, call kdb_kintr instead of
	        panicing.

2009-12-18  Guillem Jover  <guillem@hadrons.org>

	Add missing casts
	* vm/vm_resident.c (vm_page_grab_contiguous_pages): Cast `prevmemp'
	assignement to vm_page_t.

	Add missing function prototypes
	* i386/i386/pcb.c (Load_context): New prototype.
	* i386/i386at/lpr.c (lprpr_addr): Likewise.

	Use `unsigned char *' for byte buffers
	* linux/src/drivers/net/apricot.c (struct i596_tbd): Change `data'
	member type to `unsigned char *'.
	(struct i596_rfd): Change `data' member type to `unsigned char'.
	(print_eth): Change argument type to `unsigned char'. Remove
	unneeded casts.
	(set_multicast_list): Change cast for print_eth to `unsigned char *'.

	Mark macro arguments as used
	* i386/intel/pmap.c [!NCPUS > 1] (INVALIDATE_TLB): Mark `pmap', `s'
	and `e' arguments as used.
	* i386/intel/pmap.h [!NCPUS > 1] (PMAP_ACTIVATE_KERNEL): Mark `my_cpu'
	argument as used.
	(PMAP_DEACTIVATE_KERNEL): Likewise.
	(PMAP_ACTIVATE_USER): Likewise. Mark `th' argument as used.
	(PMAP_DEACTIVATE_USER): Mark `thread' and `cpu' arguments as used.

	Missing `*' in assembler indirect lcall
	* linux/src/arch/i386/kernel/bios32.c (bios32_service): Add `*'
	in indirect lcall.
	(check_pcibios, pci_bios_find_class, pci_bios_find_device): Likewise.
	(pci_bios_read_config_byte, pci_bios_read_config_word): Likewise.
	(pci_bios_read_config_dword, pci_bios_write_config_byte): Likewise.
	(pci_bios_write_config_word, pci_bios_write_config_dword): Likewise.

	Interrupt handlers do not return any value
	* i386/i386at/kd_mouse.c (kd_mouse_open): Change kdintr return type
	to `void'.
	(oldvect): Change return type to `void'.
	* linux/dev/arch/i386/kernel/irq.c (linux_timer_intr): Likewise.
	(intnull, prtnull, linux_intr, linux_bad_intr): Likewise.
	(old_clock_handler): Likewise.

	Use selector definitions from Mach for Linux code
	* linux/src/include/asm-i386/segment.h [MACH]: Include <machine/gdt.h>
	and <machine/ldt.h>.
	[MACH && MACH_HYP] (KERNEL_CS, KERNEL_DS): Remove macros.
	[MACH && !MACH_HYP] (KERNEL_CS, KERNEL_DS): Likewise.
	[MACH] (USER_CS, USER_DS): Likewise.

	Move linux/dev/include/asm-i386/segment.h to src tree
	* linux/dev/include/asm-i386/segment.h: Move to ...
	* linux/src/include/asm-i386/segment.h: ... here.

	Match function types with `struct tty' member functions
	* i386/i386at/com.c (comstart): Change return type to `void'.
	* i386/i386at/lpr.c (lprstop): Likewise.

	Use explicit type int when defining register variables
	* linux/src/drivers/scsi/aha1542.c (WAIT, WAITd): Define variables
	with explicit type `register int' and not just `register'.

2009-12-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add Xen support
	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-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add stack-protector support
	* kern/debug.c (__stack_chk_guard): New variable
	(__stack_chk_fail): New function.

	Use gcc builtins for stdarg.h when available
	* i386/include/mach/sa/stdarg.h [__GNUC__ >= 3] (va_list):
	Typedef to __builtin_va_list.
	(va_start): define to __builtin_va_start.
	(va_end): define to __builtin_va_end.
	(va_arg): define to __builtin_va_arg.

2009-11-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix commit d088a062
	* vm/memory_object_proxy.c: New file.

2009-11-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add memory object proxies
	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-11-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add -H option to halt on panic
	2005-12-29  Soeren D. Schulze  <soeren.d.schulze@gmx.de>

	* i386/i386at/model_dep.c (reboot_on_panic) [!MACH_KBD]: New variable.
	(c_boot_entry) [!MACH_KBD]: Set reboot_on_panic to 0 if kernel_cmdline
	contains '-H'.
	* kern/debug.c (panic): Call halt_all_cpus with reboot_on_panic as
	argument.

2009-11-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add sis900 driver
	2005-05-01  Andreas B. Mundt  <andi.mundt@web.de>

	* i386/README-Drivers: Likewise.
	* i386/linux/Makefile.in (linux-net-files): Added 'sis900'.
	* i386/linux/configure.ac (sis900): New driver.
	* linux/dev/drivers/net/Space.c: Add conditional probes 'sis900'
	driver.
	* linux/src/drivers/net/sis900.c: New file.
	* linux/src/drivers/net/sis900.h: Likewise.

2009-11-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add XMM FPU registers save/restore support.
	* i386/include/mach/i386/fp_reg.h (struct i386_fp_regs): Invert array
	indices.
	(struct i386_xfp_save): New structure.
	(FP_387X): New macro.
	* i386/i386/thread.h (struct i386_fpsave_state): Add xfp_save_state
	member, keep existing fp_save_state and fp_regs members in an unnamed
	union member.  Move fp_valid member to the end of the structure.
	* i386/i386/fpu.h (fxsave, fxrstor): New macros.
	(fpu_save_context): Use fxsave() when FPU is FXSR-capable.
	* i386/i386/fpu.c: Include <i386/locore.h>
	(mxcsr_feature_mask): New variable.
	(fp_save, fp_load): Add declaration.
	(init_fpu): Add FXSR-capable FPU detection.
	(fpu_module_init): Request 16-byte alignment to zinit() for
	i386_fpsave_state structures.
	(twd_i387_to_fxsr, twd_fxsr_to_i387): New functions.
	(fpu_set_state): Convert FPU state when FPU is FXSR-capable.
	(fpu_get_state): Convert FPU state when FPU is FXSR-capable.
	        (fpexterrflt): Pass to i386_exception either xfp_save_state or
	        fp_save_state according to FPU type.
	(fpastintr): Likewise.
	(fp_load): Likewise.  Use fxrstor() when FPU is FXSR-capable.
	(fp_save): Use fxsave() when FPU is FXSR-capable.
	(fp_state_alloc): Add FXSR-aware initialization.

	Fix debugging message
	* i386/i386/fpu.c (fphandleerr): Fix debugging message.

	Add native FPU error support
	* i386/i386/fpu.c (init_fpu): Enable CR0_NE when processor is at
	least i486.
	(fpintr): Move code handling the FPU state to...
	(fphandleerr): New function.
	(fpexterrflt): Rename into...
	(fpastintr): New function.
	(fpexterrflt): Reintroduce function, calls fphandleerr then
	raises exception.
	* i386/i386/fpu.h (fpastintr): Add prototype.
	* i386/i386/trap.c (i386_astintr): Call fpastintr instead of
	fpexterrflt.

	Panic when no FPU is available
	* i386/i386/fpu.c (init_fpu): Panic if no FPU is available.

	Initialize FPU in MS-DOS compatibility mode
	* i386/i386/fpu.c (init_fpu): Make sure CR0_NE is dropped.

2009-11-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Declare memcmp function
	* include/string.h (memcmp): New prototype.

	Do not fail if no PTE maps virtual address 0
	        * i386/intel/pmap.c (pmap_unmap_page_zero): Do not fail if no PTE maps
	        virtual address 0.

	Remove (vm_offset_t) casts from constants
	        * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS, VM_MAX_KERNEL_ADDRESS,
	        LINEAR_MIN_KERNEL_ADDRESS, LINEAR_MAX_KERNEL_ADDRESS): Remove
	        (vm_offset_t) cast, use UL suffix instead.
	* i386/include/mach/i386/vm_param.h (VM_MIN_ADDRESS,
	VM_MAX_ADDRESS): Remove (vm_offset_t) cast, use UL suffix instead.

	Really call startrtclock() with an active thread.
	* kern/startup.c (cpu_launch_first_thread): Call startrtclock
	really after starting at least one thread.

	Add pmap parameter to INVALIDATE_TLB
	* i386/intel/pmap.c (INVALIDATE_TLB): Add pmap parameter.
	(PMAP_UPDATE_TLBS): Pass pmap parameter.
	(process_pmap_updates): Likewise.
	(pmap_unmap_page_zero): Use INVALIDATE_TLB instead of hardcoding
	it.

	Add phys_first_addr and phys_last_addr declaration
	* i386/i386/model_dep.h (phys_first_addr, phys_last_addr): New
	declarations.
	* i386/i386/trap.c: Include <i386/model_dep.h>
	(user_trap): Remove extern declaration of phys_last_addr.
	* i386/intel/pmap.c: Include <i386/model_dep.h>
	(phys_first_addr, phys_last_addr): Remove extern declaration.

	Use typeof(boot_info)
	* i386/i386at/model_dep.c (i386at_init): Use typeof(boot_info)
	instead of hardcoding struct multiboot_info*.

	Fix early interrupt crash
	* i386/i386at/model_dep.c (i386at_init): Move int_stack_high
	assignation to before setting up interrupts.

	Add missing phystokv/kvtophys conversions
	* i386/i386/mp_desc.c (interrupt_stack_alloc): Apply phystokv to
	stack_start.
	* i386/i386at/model_dep.c (i386at_init): Apply phystokv to
	memory allocated to duplicate multiboot information.  Apply
	_kvtophys before calling set_cr3.  Apply phystokv to
	phys_last_addr before assigning to int_stack_high.
	* i386/intel/pmap.c (pmap_bootstrap): Apply phystokv to
	phys_last_addr, use kernel_virtual_start instead of
	phys_last_addr.  Apply phystokv to allocated bootstrap page
	table pages.  Apply _kvtophys to page table pointers before
	writing into page table.
	(pmap_enter): Apply phystokv to allocated page table page, apply
	kvtophys to deallocated page table page.

	Show command lines in task list
	* Makefile.am (clib_routines): Add memcmp.
	* i386/i386/db_machdep.h (DB_GNUMACH_TASK_NAME): New macro.
	* i386/i386/db_interface.c (GNU): New macro.
	[GNU] (looks_like_command): New function.
	(db_task_name): When task map is kernel_pmap, return
	DB_GNUMACH_TASK_NAME.
	[GNU] (db_task_name): Use a GNU/Hurd-specific heuristic to get
	argv[] of a task.

	Replace phys_mem_va with VM_MIN_KERNEL_ADDRESS
	* i386/i386/vm_param.h (phystokv): Use VM_MIN_KERNEL_ADDRESS
	instead of phys_mem_va.
	(_kvtophys): New macro.
	* i386/i386at/model_dep.c (phys_mem_va): Remove variable.

	Avoid confusion between global and local ldt vars
	* i386/i386/pcb.c (switch_ktss): Rename ldt variable into tldt.

	Do not assume that VM_MIN_KERNEL_ADDRESS is 0
	* i386/i386/vm_param.h (VM_MAX_KERNEL_ADDRESS): Add
	VM_MIN_KERNEL_ADDRESS.
	(kvtolin): Subtract VM_MIN_KERNEL_ADDRESS.
	(lintokv): Add VM_MIN_KERNEL_ADDRESS.
	* i386/i386at/model_dep.c (mem_size_init): Subtract
	VM_MIN_KERNEL_ADDRESS in computation of phys_last_addr.
	(i386at_init): Use VM_MIN_KERNEL_ADDRESS instead of 0 as
	argument of lin2pdenum.

	Rewamp spl.h
	* i386/i386/spl.h (splnet, splbio, spl7, splx_cli): Add
	prototypes.

	Do not assume that VM_MIN_KERNEL_ADDRESS is 0
	* i386/i386/gdt.c (gdt_init): Subtract VM_MIN_KERNEL_ADDRESS
	from LINEAR_MIN_KERNEL_ADDRESS to avoid assuming the former
	being 0.

	Fix db_search_null loop
	* i386/i386/db_interface.c (db_search_null): Do not decrease
	vaddr twice.

	Introduce KERNEL_RING
	* i386/i386/seg.h (KERNEL_RING): New macro, set to 0.
	        (ACC_PL_K, SEL_PL_K): Use KERNEL_RING instead of assuming 0.
	        * i386/i386/gdt.h (KERNEL_CS, KERNEL_DS): Likewise.
	        * i386/i386/db_interface.c (kdb_trap, kdb_kentry): Likewise.
	        * i386/i386/kttd_interface.c (kttd_trap, kttd_netentry): Likewise.
	* i386/i386/i386asm.sym: Add KERNEL_RING expression.

	Rename kd_atoi into mach_atoi
	* i386/i386at/kd.c: Include <util/atoi.h>
	(DEFAULT): Remove, replaced by MACH_ATOI_DEFAULT.
	        (kd_parserest): Use mach_atoi instead of kd_atoi and MACH_ATOI_DEFAULT
	        instead of DEFAULT.
	(kd_atoi): Move and rename function to...
	* util/atoi.c: ... mach_atoi in new file.
	* i386/i386at/kd.h (kd_atoi): Move and rename declaration to...
	* util/atoi.h: ... mach_atoi in new file.
	* Makefrag.am (libkernel_a_SOURCES): Add util/atoi.c

2009-11-16  Guillem Jover  <guillem@hadrons.org>

	Update dependency patch for Automake 1.10.2, 1.11, and thereabouts.
	* config.status.dep.patch: Refresh.

2009-11-11  Zheng Da  <zhengda1936@gmail.com>

	Fix a bug in vm_page_grab_contiguous_pages.
	* vm/vm_resident.c (vm_page_grab_contiguous_pages): Maintain the free vm page queue correctly.

2009-11-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Show EATA probing progression
	* linux/src/drivers/scsi/eata.c (port_detect): Print the port being
	probed.

2009-10-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix VM_MAX_ADDRESS default
	* i386/include/mach/i386/vm_param.h (VM_MAX_ADDRESS): Set back to 0xc0000000 by
	default.

	Make tuning VM_MAX_ADDRESS trivial
	* i386/i386/vm_param.h (LINEAR_MIN_KERNEL_ADDRESS): Set to
	VM_MAX_ADDRESS instead of hardcoding to 0xc0000000.
	(VM_MAX_KERNEL_ADDRESS): Set to LINEAR_MAX_KERNEL_ADDRESS -
	LINEAR_MIN_KERNEL_ADDRESS instead of hardcoding to 0x40000000.
	* i386/include/mach/i386/vm_param.h: Document how it may be tuned.

	Fix build
	* i386/i386at/com.h (comtimer): Fix prototype of comtimer.

2009-10-25  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix warning
	* i386/i386at/autoconf.c: Include <i386/pic.h> even when [!LINUX_DEV].

	Fix warning
	* i386/i386/trap.h: Include <mach/mach_types.h>

	Fix warning
	* i386/i386/pcb.c (thread_setstatus): Comment out state variable
	declaration.

	Fix warning
	* device/net_io.c (net_set_filter): Cast filter into bpf_insn_t for
	bpf_eq call.

	Fix warning
	* i386/i386/locore.S (TIME_INT_ENTRY): Fix comment.

	Fix warning
	* i386/intel/pmap.c (i): Declare only when [NCPUS > 1].

2009-10-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix warnings
	* 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.

	Fix warnings
	* 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.

	Fix warnings
	* device/tty.h (tty): Set type of t_ispeed and t_ospeed members to
	unsigned char instead of (potentially signed) char.

	Fix warnings
	* vm/vm_resident.c (vm_page_grab_contiguous_pages): Remove unused
	count_zeroes and not_found_em labels.

	Fix warning
	* vm/vm_pageout.c (vm_pageout_scan): Remove unused Restart label.

	Fix warning
	* vm/vm_map.c (vm_map_lookup): Add braces to fix readability.

	Fix warning
	* kern/thread.c (_s_): Remove unused variable.

	Fix warnings
	* kern/bootstrap.c (task_insert_send_right): Remove spurious cast of
	port into ipc_object_t.
	(load_protect_text, load_fault_in_text, boot_map,
	load_bootstrap_symbols): Comment out unused variables and function.
	(read_exec): Comment out unused user_map variable.

	Fix boot from grub2 with more than 800MiB memory
	* i386/i386at/model_dep.c (init_alloc_aligned): Add declaration.
	(i386at_init): Use init_alloc_aligned to allocate memory to save the
	content pointed by boot_info: cmdline, mods_addr, mod_start, and string.
	Set kernel_cmdline to the newly allocated string.
	(c_boot_entry): Do not set kernel_cmdline.

	Better estimate avail_remaining
	* i386/i386at/model_dep.c (mem_size_init): Move avail_remaining computation to
	after all phys_last_addr corrections.

2009-10-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Revert "Fix multiboot compliancy concerning x86 D flag"
	This reverts commit de00e82b8c4491a4ff3320c0ddd80ac91ed0977b.

	Flags already get cleared using push/pop a few instructions later.

2009-10-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix multiboot compliancy concerning x86 D flag
	i386/i386at/boothdr.S (boot_entry): Clear D flag.

2009-10-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach

	Update constants to nowadays standards
	kern/zalloc.c (zone_map_size): Increase to 64MiB.
	i386/i386at/model_dep.c (mem_size_init): Reduce cap to 1/6 of memory
	space to save room for zalloc area.
	linux/src/drivers/block/ide.h (INITIAL_MULT_COUNT): Set to 16.
	vm/vm_map.h (VM_MAP_COPY_PAGE_LIST_MAX): Set to 64.
	vm/vm_object.c (vm_object_cached_max): Set to 4000.

2009-10-14  Thomas Schwinge  <schwinge@nic-nac-project.de>

	Merge branch 'master-zhengda'

2009-10-14  Zheng Da  <zhengda1936@gmail.com>

	Apply patch #6851: fix a bug in BPF * net_io.c (net_filter): Correct the amount of data of a packet accepted by BPF.

2009-10-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix yet more allocation failures during gc
	kern/zalloc.c (zone_gc): Allocate and free two vm_map_kentry_zone elements to
	make sure the gc will be able to allocate two in vm_map_delete.

	Revert spurious part of 909c941d

	Fix db kernel memory access
	i386/i386/db_interface.c (db_read_bytes): Also check addr against
	VM_MAX_KERNEL_ADDRESS.

	Fix macro escapes
	i386/intel/pmap.c (INVALIDATE_TLB): Fix macro escapes

	Fix allocation failure during gc
	kern/zalloc.c (zone_gc): Allocate and free a vm_map_kentry_zone element to make
	sure the gc will be able to allocate one for vm_map_delete.

	More restrictive requirements on zone alignment
	kern/zalloc.c (zinit): Panic if requested alignment doesn't match page
	size and list elements.

	Fix return with lock held
	vm/vm_map.c (vm_map_copy_overwrite): Unlock dst_map before returning.

	Fix return with lock held
	vm/vm_map.c (vm_map_enter): Use RETURN instead of return to unlock the
	map before returning.

	Make local variable static
	kern/lock.c (lock_wait_time): Add static qualifier.

	Advertise memory size truncations
	i386/i386at/model_dep.c (mem_size_init): Advertise memory size
	truncations.

2009-09-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Disable CMD-640 support
	It messes too much with probing and brings hang issue.

	* i386/linux/dev/include/linux/autoconf.h
	(CONFIG_BLK_DEV_CMD640, CONFIG_BLK_DEV_CMD640_ENHANCED):
	Undefine macros.

2009-07-11  Thomas Schwinge  <tschwinge@gnu.org>

	Switch to the new ChangeLog style.
	* ChangeLog: Wipe out content, and add instructions about how to get it back.
	* ChangeLog.0: Remove file.
	* ChangeLog.00: Likewise.

2009-02-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/prog_reg.h (invlpg_linear): Rename macro into...
	(invlpg_linear_range): ... this.
	(invlpg_linear): New macro.
	* i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_linear instead
	of flush_tlb when e - S is compile-time known to be PAGE_SIZE,
	instead of run-time known to be less than 32 * PAGE_SIZE.

2009-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/gdt.h (LINEAR_DS): New macro.
	* i386/i386/gdt.c (gdt_init): Initialize LINEAR_DS descriptor.
	* i386/i386/proc_reg.h (invlpg_user): Rename macro into...
	(invlpg_linear): ... this.  Use movw instead of movl to set KERNEL_DS
	selector.  Use LINEAR_DS selector instead of USER_DS selector.
	* i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_linear instead of
	invlpg_user.  For now, disable use of invlpg.

2008-12-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/proc_reg.h [__ASSEMBLER__ && __GNUC__]: Include
	<i386/gdt.h> and <i386/ldt.h>
	(invlpg_user): New macro.
	* i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_user instead
	of invlpg.
	(pmap_remove, pmap_page_protect, pmap_protect, pmap_enter,
	pmap_collect, phys_attribute_clear): Call PMAP_UPDATE_TLBS
	after pde update instead of before.

2008-12-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/intel/pmap.c (pmap_bootstrap): Extend kernel virtual memory to
	at least the size of the physical memory.

2008-12-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* vm/vm_fault.c (vm_fault_page): Print value returned
	memory_object_data_request as %x instead of %d.

2008-11-15  Shakthi Kannan  <shakshurd@gmail.com>

	* 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.

2008-11-28  Thomas Schwinge  <tschwinge@gnu.org>

	* doc/Makefrag.am: Only advertize updating the web pages on
	gnumach-1-branch.

2008-11-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/proc_reg.h (invlpg): New macro.
	* i386/intel/pmap.c (INVALIDATE_TLB): If portion to be flushed is less
	than 32 pages, use calls to invlpg instead of flush_tlb.

2008-11-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/proc_reg.h (get_cr0, get_cr2, get_cr3, get_cr4, get_tr,
	get_ldt): Add volatile qualifier to asm statement to prevent gcc from
	optimizing it away since there seems to be no way to clobber these
	properly in the set_* macros.

2008-11-17  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.am (install_sh, INSTALL): Point to `build-aux/install-sh'.
	Make use of its `-C' option.

	* configure.ac: Require GNU Automake 1.10.1.
	* Makefile.am: Adapt.
	* Makefile.correct_output_files_for_.S_files.patch: Remove.

2008-07-19  Barry deFreese  <bdefreese@debian.org>

	* 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.

2008-11-13  Thomas Schwinge  <tschwinge@gnu.org>

	[task #8135 -- PAE for GNU Mach]
	* i386/configfrag.ac (enable_pae): Add checks: this is ix86-only.
	* doc/mach.texi (Configuration): Document the new option.

2008-11-11  Shakthi Kannan  <shakshurd@gmail.com>

	* kern/eventcount.c (evc_wait_clear): Remove unused variable 'ret'.

2008-11-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[task #8135 -- PAE for GNU Mach]
	* i386/configfrag.ac: Add --enable-pae option, which defines PAE.
	* i386/i386/i386asm.sym (PDPSHIFT, PDEMASK, PTE_SIZE): New assembly
	macros.
	* i386/i386/locore.S (copyout_retry) [PAE]: Use page directory pointer
	bits, take PTE_SIZE into account.
	* i386/i386at/model_dep.c (i386at_init) [PAE]: Set second initial 2MB
	page.  Enable PAE bit.  Set cr3 to page directory pointer table instead
	of page directory.
	* i386/intel/pmap.c (pmap_bootstrap, pmap_create) [PAE]: Allocate 4
	pages for dirbase.  Setup pdpbase.
	(pmap_destroy) [PAE]: Free 4 pages from dirbase.  Free pdpbase.
	* i386/intel/pmap.h (pt_entry_t) [PAE]: Typedef to unsigned long long.
	(PDPSHIFT, PDPNUM, PDPMASK) [PAE]: New macros.
	(PDESHIFT, PDEMASK, PTEMASK) [PAE]: Set to PAE values.
	(lin2pdenum, NPDES) [PAE]: Make them take the page directory pointer
	index into account too.
	(struct pmap) [PAE]: Add `pdpbase' member.
	(set_dirbase): Remove macro, replaced by...
	(set_pmap): New macro, taking a pmap instead of the dirbase.
	(PMAP_ACTIVATE_USER): Use set_pmap instead of set_dirbase.

2008-11-05  Shakthi Kannan  <shakshurd@gmail.com>

	* ipc/mach_port.c (mach_port_insert_right): Cast poly into
	(ipc_object_t) to fix compiler warning when calling
	ipc_object_copyout_name.

2008-08-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/trap.c (user_trap): On page fault, raise exception instead
	of asserting that cr2 is below LINEAR_MIN_KERNEL_ADDRESS.

2008-07-29  Zheng Da  <zhengda1936@gmail.com>
            Manuel Menal <mmenal@hurdfr.org>

	* include/device/net_status.h (NET_FLAGS): New macro.
	* linux/dev/glue/net.c (device_get_status): Handle NET_FLAGS case.
	(device_set_status): Likewise, calls dev_change_flags.
	* linux/dev/include/linux/netdevice.h (dev_change_flags): Declare
	function.
	* linux/dev/net/core/dev.c (dev_change_flags): Add function.

2008-08-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/lock.h (_simple_lock_xchg_, bit_lock, bit_unlock): Add
	memory clobbers.
	* i386/include/mach/i386/cthreads.h (spin_unlock, spin_try_lock): Add
	memory clobbers.

2008-07-23  Barry deFreese  <bddebian@comcast.net>

	* 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.

2008-07-23  Barry deFreese  <bddebian@comcast.net>

	* i386/i386/locore.h (copyinmsg, copyoutmsg): 
	Make parameters const void* and void* instead of vm_offset_t.
	* i386/i386at/com.c (comportdeath): Cast port as ipc_port_t in 
	tty_portdeath call.
	* i386/i386at/kd.c (kdportdeath): Likewise.
	* i386/i386at/lpr.c (lprportdeath): Likewise.
	* i386/i386at/kd_mouse.c (mouse_handle_byte): Cast param to wakeup() as 
	vm_offset_t.
	* i386/intel/pmap.c (pmap_destroy): Cast arg 2 of kmem_free() to 
	vm_offset_t.
	* i386/intel/pmap.h: Cast all arg 1 params to kvtophy() to vm_offset_t.
	* ipc/ipc_kmsg.c: Remove casts from params to copyinmsg and 
	copyoutmsg calls.
	* ipc/mach_msg.c: Likewise.
	* kern/exceptions.c: Likewise.
	* ipc/mach_msg.c: Remove casts from params to copyout calls.
	* ipc/bootstrap.c: Likewise.
	* kern/ipc_tt.c (mach_ports_register): Cast memory[i] as ipc_port_t in 
	assignment.

2008-07-19  Barry deFreese  <bddebian@comcast.net>

	* 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().

2008-07-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* linux/pcmcia-cs/glue/wireless_glue.h (schedule_task): Add parameter
	to Debugger() call.
	* kern/lock_mon.c (retry_simple_lock, retry_bit_lock): Likewise.
	* kern/machine.c (Debugger): Remove declaration.
	* device/net_io.c (net_deliver): Fix parenthesis to really round up.
	* kern/mach_clock.c (timeout): Make the `fcn' parameter take a void *
	instead of char *.
	* kern/mach_clock.h (timeout): Likewise.
	* 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.
	* linux/src/include/linux/tqueue.h (queue_task_irq,
	queue_task_irq_off, queue_task, run_task_queue): Turn into static
	inlines.

2008-07-19  Barry deFreese  <bddebian@comcast.net>

	* device/dev_hdr.h (dev_name_lookup, dev_set_indirection): Add
	prototypes.
	* device/dev_pager.c: Include <vm/vm_user.h>.
	* device/ds_routines.c: Likewise.
	* device/subrs.c: Likewise.
	* device/device_init.c: Include <device/tty.h>.
	* device/ds_routines.h (iowait): Add prototype.
	* device/net_io.h (net_kmsg_collect): Add prototype.
	* device/net_io.c (hash_ent_remove, net_free_dead_infp,
	net_free_dead_entp, bpf_validate, bpf_eq, net_add_q_info,
	bpf_match): Add forward declarations.
	* device/subrs.h: New header.
	* i386/i386/fpu.h: Include <sys/types.h>.
	Change <i386/thread.h> include to <kern/thread.h>.
	(fp_save, fp_load, fp_free, fpu_module_init, fpu_set_state, 
	fpu_get_state, fpnoextflt, fpextovrflt, fpexterrflt, init_fpu):
	Add prototypes.
	* i386/i386/gdt.h (gdt_init): Add prototype.
	* i386/i386/io_map.c: Include <vm/pmap.h>.
	* vm/vm_kern.c: Likewise.
	* i386/i386/ktss.h (ktss_init): Add prototype.
	* i386/i386/ldt.h (ldt_init): Add prototype.
	* i386/i386/loose_ends.h: New header.
	* i386/i386/loose_ends.c (delay): Complete prototype.
	* i386/i386/model_dep.h (startrtclock): Add prototype.
	* i386/i386/pcb.h (load_context, stack_attach, stack_detach, 
	switch_ktss): Add prototypes.
	* i386/i386/pic.h (form_pic_mask, picinit): Add prototypes.
	* i386/i386/pit.c: Include <i386/pic.h>.
	* i386/i386at/kd_mouse.c: Likewise.
	* i386/i386/pit.h (clkstart): Add prototype.
	* i386/i386/trap.c: Include <i386/fpu.h>, <intel/read_fault.h>,
	<vm/vm_fault.h>.
	* i386/i386/trap.h (interrupted_pc): Add prototype.
	* i386/i386/user_ldt.c: Include <i386/pcb.h>.
	* i386/i386at/autoconf.h: New header.
	* i386/i386at/com.h: New header.
	* i386/i386at/com.c: Include <i386at/autoconf.h>, <i386at/com.h>.
	* i386/i386at/idt.h (idt_init): Add prototype.
	* i386/i386at/int_init.h: New header.
	* i386/i386at/kd.c: Include <i386/loose_ends.h>.
	* kern/debug.c: Likewise.
	* i386/i386at/kd_event.c: Include <device/ds_routines.h>.
	* i386/i386at/kd_mouse.c: Likewise.
	* i386/i386at/kd_mouse.c: Include <device/subrs.h>, <i386at/com.h>.
	* i386/i386at/lpr.c: Include <i386at/autoconf.h>
	* i386/i386at/model_dep.c: Include: <i386/fpu.h>, <i386/gdt.h>, 
	<i386/ktss.h>, <i386/ldt.h>, <i386/pic.h>, <i386/pit.h>, 
	<i386at/autoconf.h>, <i386at/idt.h>, <i386at/int_init.h>, 
	<i386at/kd.h>, <i386at/rtc.h>.
	* i386/i386at/rtc.h (readtodc, writetodc): Add prototypes.
	* i386/intel/pmap.h: Include <mach/vm_prot.h>.
	(pmap_bootstrap, pmap_unmap_page_zero, pmap_zero_page, pmap_copy_page,
	kvtophys): Add prototypes.
	* i386/intel/read_fault.h: New header.
	* kern/ast.h (ast_init, ast_check): Add prototypes.
	* kern/debug.c (Debugger): Move prototype to...
	* kern/debug.h (Debugger): ... here.
	* kern/eventcount.h (evc_notify_abort): Add prototype.
	* kern/ipc_mig.c: Include <kern/syscall_subr.h>, <kern/ipc_tt.h>, 
	<device/ds_routines.h>
	* kern/ipc_mig.h: New header.
	* kern/ipc_tt.h (mach_reply_port): Add prototype.
	* kern/machine.h: New header.
	* kern/processor.h (pset_sys_bootstrap): Move prototype outside of
	MACH_HOST check.
	* kern/sched_prim.h (thread_bind, compute_priority,
	thread_timeout_setup): Add prototypes.
	* kern/startup.c: Include <kern/machine.h>, <machine/pcb.h>.
	* kern/syscall_subr.c: Include <kern/syscall_subr.h>.
	(thread_depress_abort): Remove prototype.
	* kern/syscall_subr.h: Include <sys/types.h>, <mach/mach_types.h>
	(thread_depress_abort): Add prototype.
	* kern/syscall_sw.c: Include: <kern/debug.h>.
	* kern/task.h (consider_task_collect): Add prototype.
	* kern/thread.c: Include <kern/eventcount.h>, <kern/ipc_mig.h>, 
	<kern/syscall_subr.h>.
	* kern/thread.h (stack_collect): Add prototype.
	* linux/pcmcia-cs/glue/pcmcia_glue.h (Debugger): Remove prototype.
	* util/putchar.c: Include <device/cons.h>.
	* util/putchar.h: New header.
	* util/puts.c: Include <device/cons.h>, <util/putchar.h>.
	* vm/memory_object.c: Include <vm/vm_map.h>.
	(memory_object_data_provided): Move function below
	memory_object_data_supply definition.
	* vm/vm_init.c: Include <vm/vm_fault.h>.
	* vm/vm_kern.h (projected_buffer_in_range): Add prototype.
	* vm/vm_map.c: Include <vm/pmap.h>, <vm/vm_resident.h>.
	(vm_map_delete, vm_map_copyout_page_list, vm_map_copy_page_discard):
	Add forward declaration.
	* vm/vm_map.h (vm_map_copyin_object, vm_map_submap,
	_vm_map_clip_start, _vm_map_clip_end): Add prototypes.
	* vm/vm_pageout.c: Include <device/net_io.h>, <kern/task.h>, 
	<machine/locore.h>.
	* vm/vm_resident.h: New header.
	* vm/vm_user.c: Include <vm/vm_kern.h>.
	* vm/pmap.h (pmap_pageable, pmap_map_bd): Add prototype.

2008-07-18  Andrei Barbu  <andrei@0xab.com>

	* i386/i386/db_disasm.c (Iba): New macro.
	(db_inst_table): Use Iba for aam and aad instructions.
	(db_disasm): Decode operands for Iba case.
	* i386/i386/db_interface.c (db_read_bytes): Do not increment the
	address before printing it.
	* include/sys/types.h (int8_t, uint8_t, u_int8_t, int16_t, uint16_t,
	u_int16_t, int32_t, uint32_t, u_int32_t, int64_t, uint64_t,
	u_int64_t): New types.
	* ddb/db_sym.c (db_task_printsym): Do not print empty symbols.
	* ddb/db_break.c (db_set_breakpoint): Add db_breakpoint_t return type,
	return the breakpoint in non-ddb case.
	* ddb/db_break.h (BKPT_EXTERNAL): New macro.
	(db_set_breakpoint): Add declaration.
	* (ddb/db_sym.h): Add _DDB_DB_SYM_H_ header protection.
	(db_find_sym_and_offset, db_find_xtrn_sym_and_offset,
	db_find_task_sym_and_offset, db_find_xtrn_task_sym_and_offset): Call
	db_free_symbol.
	(db_free_symbol): New declaration.
	(db_sym_switch): New `free_symbol' member.
	(X_db_free_symbol): New macro.
	* ddb/db_sym.c (db_value_of_name, db_lookup, db_name_is_ambiguous,
	db_search_task_symbol, db_search_in_task_symbol, db_task_printsym):
	Call db_free_symbol.
	(db_free_symbol): New function.
	(dummy_db_free_symbol): New empty function.
	(x_db): Initialize `free_symbol' memberi with dummy_db_free_symbol.
	* i386/i386/db_trace.c (db_i386_stack_trace): Call db_free_symbol.
	* kern/lock_mon.c (print_lock_info): Likewise.
	* include/sys/types.h (quad): Remove type.

2008-07-15  Barry deFreese  <bddebian@comcast.net>

	* device/cons.c (cnputc): Turn parameter `c' into a char.
	* device/cons.h (cninit, cngetc, cnmaygetc, cnputc): Add prototypes.
	* i386/i386at/model_dep.c: Include <device/cons.h>
	* kern/printf.c: Include <device/cons.h>
	(cnputc): Remove prototype.
	(vprintf, iprintf): Explicitely cast cnputc into the type _doprnt
	expects.
	* linux/dev/kernel/printk.c: Include <device/cons.h>
	(cnputc): Remove prototype.
	* device/ds_routines.c: Include <machine/locore.h>
	* ipc/ipc_kmsg.c: Likewise.
	* kern/bootstrap.c: Likewise.
	* kern/exception.c: Likewise.
	* kern/ipc_mig.c: Likewise.
	* kern/sched_prim.c: Likewise.
	* kern/time_stamp.c: Likewise.
	* vm/vm_kern.c: Likewise.
	* device/ds_routine.h (ds_notify): Add prototype.
	* kern/ipc_kobject.c: Include <device/ds_routines.h>
	* device/net_io.h (net_ast): Add prototype.
	* ipc/ipc_kmsg.c: Include <device/net_io.h>
	* kern/ast.c: Include <device/net_io.h>
	* i386/i386at/kd.h (kd_isupper, kd_islower, kd_senddata, kd_sendcmd,
	kd_cmdreg_write, kd_mouse_drain, set_kd_state, kd_setleds1, kd_setleds2,
	cnsetleds, kdreboot, kd_putc, kd_parseesc, kd_down, kd_up, kd_cr,
	kd_tab, kd_left, kd_right, kd_scrollup, kd_scrolldn, kd_cls, kd_home,
	kd_atoi, kd_insch, kd_cltobcur, kd_cltopcur, kd_cltoecur, kd_clfrbcur,
	kd_eraseln, kd_insln, kd_delln, kd_delch, kd_erase, kd_bellon,
	kd_belloff, kdinit, kdsetkbent, kdgetkbent, kdsetbell, kd_resend,
	kd_handle_ack, kd_kbd_magic, kdstate2idx, kd_parserest, kdcnmaygetc,
	kd_slmwd, kd_slmscu, kd_slmscd): Add prototypes.
	* i386/i386at/kd.c (do_modifier): Add prototype.
	* kern/ipc_kobject.c: Include <vm/vm_object.h>
	* vm/vm_object.h: Include <sys/types.h> and <ipc/ipc_types.h>.
	(vm_object_coalesce, vm_object_pager_wakeup): Add prototypes.
	* kern/priority.c: Include <kern/sched_prim.h>.
	* kern/sched_prim.c (recompute_priorities, update_priority): Remove
	prototypes.
	* kern/sched_prim.h (update_priority, compute_my_priority): Add
	prototypes.
	* kern/time_stamp.h (timestamp_init): Add prototype.
	* kern/startup.c: Include <kern/time_stamp.h>.
	* ipc/ipc_kmsg.c: Include <vm/vm_user.h> and <ipc/ipc_hash.h>.
	* ipc/ipc_mqueue (ipc_mqueue_copyin): Add prototype.
	* kern/bootstrap.c: Include <vm/vm_user.h>.
	* kern/exceptions.c: Include <ipc/ipc_notify.h>.
	* kern/ipc_kobject.h (ipc_kobject_notify): Add prototype.
	* kern/ipc_mig.c: Include <device/dev_hdr.h>.
	* kern/pc_sample.c: Include <machine/trap.h>.
	* kern/printf.h (safe_gets): Add prototype.
	* kern/processor.c: Include <kern/ipc_tt.h>.
	* kern/queue.h (insque): Add prototype.
	* kern/startup.c: Include <kern/mach_factor.h> and <kern/xpr.h>.
	* kern/thread.h (thread_start, kernel_thread, thread_priority,
	thread_set_own_priority, thread_max_priority, thread_policy,
	consider_thread_collect, stack_privilege): Add prototypes.
	* kern/timer.h (timer_normalize, timer_init, init_timers): Add
	prototypes.
	* vm/vm_map.h (vm_map_lookup_entry, vm_map_entry_delete): Add
	prototypes.
	* device/chario.c: Include <vm/vm_user.h>
	* device/device_init.c (chario_init): Remove prototype.
	* device/tty.h (ttyinput_many, tty_cts, tty_get_status,
	tty_set_status, tty_flush, ttrstrt, ttstart, ttyclose, tty_portdeath,
	chario_init): Add prototypes.
	* i386/i386/model_dep.h: New header.
	* i386/i386at/model_dep.c: Include <i386/model_dep.h>.
	* kern/debug.c: Include <machine/model_dep.h>.
	* kern/mach_clock.c: Likewise.
	* kern/sched_prim.c: Likewise.
	* kern/startup.c: Likewise.
	* kern/machine.c: Likewise.
	(halt_cpu): Remove prototype.
	* vm/pmap.h (pmap_grab_page): Add prototype.
	* ipc/mach_port.h: New header.
	* ipc/mach_port.c: Include <ipc/mach_port.h>.
	(mach_port_get_receive_status): Add forward declaration.
	* kern/bootstrap.c: Include <ipc/mach_port.h>.
	* kern/ipc_mig.c: Likewise.
	* kern/syscall_sw.c: Likewise.
	* device/dev_pager.c (device_pager_data_request,
	device_pager_data_request_done, device_pager_init_pager): Fix printf
	formats.
	* i386/i386/debug_i386.c (dump_ss): Likewise.
	* i386/i386/trap.c (user_trap): Likewise.
	* i386/i386at/com.c (comtimer): Likewise.
	* ipc/ipc_notify (ipc_notify_port_deleted, ipc_notify_msg_accepted,
	ipc_notify_port_destroyed, ipc_notify_no_senders,
	ipc_notify_send_once, ipc_notify_dead_name): Likewise.
	* kern/ipc_kobject.c (ipc_kobject_destroy): Likewise.
	* kern/sched_prim.c (do_runq_scan): Likewise.
	* linux/pcmcia-cs/clients/smc91c92_cs.c (smc_start_xmit): Likewise.
	* linux/src/drivers/net/sundance.c (start_tx): Likewise.
	* vm/vm_fault.c (vm_fault_page): Likewise.
	* vm/vm_map.c (vm_map_pmap_enter): Likewise.
	* vm/vm_object.c (vm_object_collapse): Likewise.

2008-07-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* linux/src/drivers/net/rtl8139.c (rtl8129_open): Move IRQ
	initialization after ring initialization.

2008-07-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* linux/dev/include/asm/segment.h (__put_user, __get_user): Add
	always_inline attribute.

2008-06-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/fpu.c (fpintr): Do not panic if the we receive the
	interrupt twice in the same thread.

2008-05-28  Thomas Schwinge  <tschwinge@gnu.org>

	[bug #23417, patch #6508 -- Building with -g3]
	* Makefile.am (MIGCOM): Revert the 2008-05-19 change.

2008-05-25  Andrei Barbu <teval0@gmail.com>

	* ddb/db_aout.c (aout_db_symbol_values): Add stab parameter.
	* ddb/db_sym.h (db_sym_switch): Add stab parameter to symbol_values
	member.
	(X_db_symbol_values): Pass stab parameter to symbole_values function.

2008-05-19  Thomas Schwinge  <tschwinge@gnu.org>

	[patch #6508 -- Building with -g3]
	* Makefile.am (MIGCOM): Let it filter through CPP again.
	Suggested by Andrei Barbu <teval0@gmail.com>.

2008-05-09  Andrei Barbu  <teval0@gmail.com>

	* i386/i386/loose_ends.c (DELAY): Use volatile qualifier instead of
	register to prevent optimization.

2008-03-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* doc/Makefrag.am: Fix typo.

2008-03-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/locore.S (syscall): Clear direction flag at entry.

2008-02-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* linux/src/drivers/block/triton.c (ide_init_triton): Enable Bus
	Mastering if not enabled by BIOS.

2007-12-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* kern/debug.c (panic) [MACH_KDB]: Don't wait before running the
	debugger.
	* linux/dev/glue/block.c (MAX_BUF): Set to sane stack-friendly 8
	instead of blindly following VM_MAP_COPY_PAGE_LIST_MAX.
	(rdwr_full): increment blk by cc >> bshift instead of nb.

2007-12-11  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/dev/include/linux/nfs.h: Remove unused file.
	* linux/src/include/linux/nfs.h: Likewise.

2007-12-10  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/Makefrag.am (i386/i386at/boothdr.o, i386/i386at/interrupt.o)
	(i386/i386/cswitch.o, i386/i386/locore.o): Remove targets.
	* configure.ac <Dependency tracking for `.S' files>: Add a hack to
	re-add the four targets with have been removed above for the (legacy)
	case only where they are actually needed.

2007-12-05  Guillem Jover  <guillem@hadrons.org>

	* i386/Makefrag.am (i386/i386at/interrupt.o): New target, depends on
	i386/i386/i386asm.h
	(i386/i386/cswitch.o): Likewise.
	(i386/i386/locore.o): Likewise.

2007-11-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/intel/pmap.c (pmap_map_bd): Use
	INTEL_PTE_NCACHE|INTEL_PTE_WTHRU.  Get pmap lock.

2007-11-15  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* ddb/db_examine.c (db_strcpy): Add extra parentheses around
	assignment used as boolean.
	* ddb/db_sym.c (db_qualify, db_lookup): Likewise.

2007-11-08  Thomas Schwinge  <tschwinge@gnu.org>

	* doc/mach.texi: Do the copyright and licensing things as suggested by
	the GNU Texinfo manual.

2007-10-09  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/dev/glue/net.c (device_open) <LINUX_IFF_ALLMULTI>: Comment.

2007-10-08  Stefan Siegl  <stesie@brokenpipe.de>

	* linux/dev/glue/net.c (device_open): Set LINUX_IFF_ALLMULTI flag
	on device and propagate.

2007-10-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* kern/zalloc.c (zget_space): Fix last change.

2007-09-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* kern/zalloc.c (zget_space): Align zalloc_next_space again after
	calling kmem_alloc_wired (which may sleep).

2007-08-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* Makefile.am (clib_routines): Add udivdi3, __udivdi3 and _end. Fix
	edata into _edata.
	(gnumach-undef): Do not remove heading _s.
	(clib-routines.o): Add -lgcc.

2007-07-09  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/db_interface.c (int_regs): Drop gs and fs fields.
	(kdb_kentry): Get fs and gs from struct i386_interrupt_state instead of
	struct int_regs.
	* i386/i386/kttd_interface.c (int_regs, kttd_netentry): Likewise.
	* i386/i386/locore.S (all_intrs): Save fs and gs and set them to kernel
	segment too.
	(return_to_iret): Restore fs and gs too.
	(return_to_iret_i): Likewise.
	(ast_from_interrupt): Set fs and gs to kernel segment too.
	(kdb_from_iret): Don't save/restore fs and gs either.
	(ttd_from_iret): Likewise.
	* i386/i386/thread.h (i386_interrupt_state): Add gs and fs fields.
	* linux/src/include/asm-i386/irq.h (SAVE_ALL): Set gs to kernel
	segment too.

2007-08-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/locore.S (TIME_TRAP_UENTRY, TIME_TRAP_SENTRY)
	(TIME_TRAP_UEXIT): Use TH_SYSTEM_TIMER instead of old TH_SYS_TIMER.
	(current_tstamp, TIME_TRAP_UENTRY, TIME_TRAP_SENTRY, TIME_TRAP_UEXIT)
	(TIME_INT_ENTRY, TIME_INT_EXIT, timer_switch, start_timer): Use
	EXT(current_tstamp) and EXT(current_timer) instead of _current_tstampt
	and _current_timer.
	* i386/i386/io_perm.c (i386_io_perm_create): Lock io_perm->port, not
	inexistent device->port.
	* i386/i386at/model_dep.c: Make init_alloc_aligned() extern.
	* i386/i386/mp_desc.c: Include <machine/vm_param.h>
	(interrupt_stack_alloc): Call init_alloc_aligned() instead of
	init_alloc().
	(cpu_control, interrupt_processor, cpu_start, start_other_cpus): New
	functions.
	* i386/i386/mp_desc.h: Include <i386at/idt.h> instead of "idt.h"
	* i386/i386/cswitch.S: Use EXT(interrupt_stack) instead of
	_interrupt_stack.
	* i386/i386/i386asm.sym (MP_GDT, MP_IDT): Remove macros.
	* i386/i386/lock.h: Don't include_next "lock.h".
	* i386/linux/dev/include/linux/autoconf.h [NCPUS > 1]: Define
	CONFIG_SMP.
	* linux/dev/include/asm-i386/smp.h: New file.
	* linux/dev/init/main.c [__SMP__ && __i386] (smp_loops_per_tick):
	Restore variable.
	* linux/pcmcia-cs/modules/cs_internal.h: Use __SMP__ instead of
	USE_SPIN_LOCKS.
	* linux/pcmcia-cs/modules/i82365.c: Likewise.
	* linux/pcmcia-cs/modules/rsrc_mgr.c: Likewise.
	* linux/dev/include/asm-i386/system.h: Update to Linux 2.2 for SMP.
	* configfrag.ac (mach_ncpus): Define to 1.
	(NCPUS): Set to $mach_ncpus.
	[$mach_ncpus > 1] (MULTIPROCESSOR): Set to 1.
	* linux/configfrag.ac [$mach_ncpus > 1] (__SMP__): Define.
	* linux/dev/arch/i386/kernel/irq.c: Include <asm/hardirq.h>.
	(local_bh_count, local_irq_count, global_irq_holder, global_irq_lock)
	(global_irq_count, check_smp_invalidate, show, wait_on_bh)
	(wait_on_irq, synchronize_bh, synchronize_irq, get_irqlock)
	(__global_cli, __global_sti, __global_save_flags)
	(__global_restore_flags): New variables and functions from Linux 2.2
	* linux/src/drivers/net/3c515.c (test_and_set_bit): Remove macro.
	* linux/src/drivers/net/de4x5.c (test_and_set_bit): Remove macro.
	* linux/src/drivers/net/eth16i.c (test_and_set_bit): Remove macro.
	* linux/src/drivers/net/kern_compat.h (test_and_set_bit): Remove macro.
	* linux/src/drivers/net/pcnet32.c (test_and_set_bit): Remove macro.
	* linux/src/include/linux/compatmac.h (test_and_set_bit)
	(test_and_clear_bit): Remove macro.
	* linux/src/include/asm-i386/atomic.h (atomic_read): New macro.
	* linux/src/include/asm-i386/bitops.h (test_and_set_bit)
	(test_and_clear_bit, test_and_change_bit): New inline functions.
	* linux/src/include/asm-i386/hardirq.h (local_bh_count): New
	declaration.
	* linux/src/include/linux/tasks.h (NR_CPUS): Set to NCPUS.
	(NO_PROC_ID): New macro.

2007-07-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/seg.h (SZ_64): New macro.
	* i386/i386/user_ldt.c (selector_check, i386_set_gdt): Check
	user-provided descriptor against SZ_64.

2007-07-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/intel/pmap.c (pmap_enter): Use INTEL_PTE_NCACHE|INTEL_PTE_WTHRU
	when cpu >= 486 and physical address is after memory end.

2007-06-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/trap.c (user_trap): Read faulting linear address before
	using it.

2007-06-02  Thomas Schwinge  <tschwinge@gnu.org>

	* Makerules.mig.am: New file, factored out of code of...
	* Makefrag.am: ... this file and...
	* Makerules.am: ... this file.
	* i386/Makefrag.am: Update comment.

	* Makefile.am (MIGFLAGS): Remove.
	(MIGCOM): Add ``-n''.
	* Makerules.am: Adapt to that.

2007-05-09  Thomas Schwinge  <tschwinge@gnu.org>

	* include/mach/mach_types.defs (userprefix, serverprefix): Set, if
	requested (by setting USERPREFIX respective SERVERPREFIX).

2007-05-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/fpu.c (fpu_set_state): Set fp_valid to TRUE.  Free the
	unused ifps.

2007-05-07  Thomas Schwinge  <tschwinge@gnu.org>

	[bug #15295 -- Mach lets processes write to I/O ports]

	* i386/Makefrag.am (libkernel_a_SOURCES): Add `i386/i386/io_perm.c',
	`i386/i386/io_perm.h', `i386/i386/machine_task.c', `i386/i386/task.h'
	and remove `i386/i386/io_port.h', `i386/i386/iopb.c',
	`i386/i386/iopb.h'.

	* i386/i386/io_port.h: Remove file.
	* i386/i386at/kd.c: Don't include <i386/io_port.h>.
	(vga_port_list, kd_io_device, kd_io_map_open, kd_io_map_close): Don't
	define and don't use anymore.

	* include/stddef.h: New file.

	* i386/i386/io_perm.c: Include <string.h>, <device/device_emul.h>,
	<ipc/ipc_space.h> and don't include <oskit/ds_oskit.h>.
	(io_perm_device_emulation_ops): New variable.
	(dev_open_alloc, setup_no_senders): Remove declarations.
	(convert_io_perm_to_port, convert_port_to_io_perm, io_perm_deallocate):
	Rewrite.
	(no_senders): New function.
	(i386_io_perm_create, i386_io_perm_modify): Rewrite partially, to adapt
	to the GNU Mach environment.
	* i386/i386/io_perm.h: Include <device/dev_hdr.h> and
	<ipc/ipc_types.h>.
	(io_perm, io_perm_t): New structure and accompanying type definition.
	(IO_PERM_NULL): Define.
	* i386/i386/locore.S (ktss): Move variable to...
	* i386/i386/ktss.c: ... here, make it a ``struct task_tss''.
	(ktss_init): Initialize the `task_tss' structure and the i/o permission
	bit map.
	* i386/i386/ktss.h: Adapt to that.
	* i386/i386/machine_task.c (machine_task_module_init): Adapt the `zinit'
	call to the GNU Mach environment.
	* i386/i386/mp_desc.c: Include <machine/ktss.h>.
	* i386/i386/tss.h: Include <machine/io_perm.h>.
	(task_tss): New structure, equivalent to the OSKit-Mach one.
	* i386/include/mach/i386/mach_i386.defs: Don't include
	<device/device_types.defs>.
	(device_list_t): Remove type.
	* i386/include/mach/i386/mach_i386_types.h (device_list_t): Remove type
	definition.

2007-05-07  Marcus Brinkmann  <marcus@gnu.org>

	[bug #15295 -- Mach lets processes write to I/O ports]

	* i386/i386/iopb.h, i386/i386/iopb.c: Obsolete files removed.

	* i386/i386/pcb.c (switch_context): Update the I/O permission
	bitmap from stack_handoff() here (not only in stack_handoff()).

	* i386/i386/machine_task.c (machine_task_module_init): Set
	ZONE_COLLECTABLE and ZONE_EXHAUSTIBLE flags for the iopb zone.
	Requested by Roland McGrath <roland@frob.com>.

	* i386/i386/io_perm.h: New file.
	* i386/i386/io_perm.c: New file.
	* i386/i386/machine_task.c: New file.
	* i386/i386/mp_desc.h: (struct mp_desc_table): Change type of ktss to
	struct task_tss.
	(mp_ktss): Likewise for array of pointers to the struct.
	* i386/i386/mp_desc.c: Include `machine/tss.h' and `machine/io_perm.h'.
	(mp_ktss): Change type to array of struct task_tss.
	(mp_desc_init): Cast pointer to x86_tss into pointer to task_tss,
	and use size of struct task_tss instead size of struct x86_tss.
	Initialize the task_tss structure.
	* i386/i386/pcb.c: Include `stddef.h' and `machine/tss.h'.
	(iopb_create, iopb_destroy): Prototypes removed.
	(curr_ktss): Cast pointer to base_tss to pointer to struct
	task_tss.
	(switch_ktss): Always use kernel TSS.
	(update_ktss_iopb): New function.
	(stack_handoff): Call update_ktss_iopb.
	(pcb_module_init): Do not call iopb_init.
	(pcb_terminate): Do not call iopb_destroy.
	(thread_setstatus): Remove local variable tss.
	(thread_getstatus): Rewrite i386_ISA_PORT_MAP_STATE case handler.
	* i386/i386/task.h: New file.
	* i386/i386/thread.h: Do not include `i386/iopb.h'.
	(struct i386_machine_state): Remove member io_tss.
	* i386/include/mach/i386/mach_i386.defs [KERNEL_SERVER]: Include
	`machine/io_perm.h'.  Define intran, outtran and destructor.
	(io_port_t): New type.
	(io_perm_t): Likewise.
	(i386_io_port_add): Interface removed.
	(i386_io_port_remove): Likewise.
	(i386_io_port_list): Likewise.
	(i386_io_perm_create): New interface.
	(i386_io_perm_modify): Likewise.
	* i386/include/mach/i386/mach_i386_types.h [MACH_KERNEL]: Include
	`i386/io_perm.h'.
	[!MACH_KERNEL]: Define types io_port_t and io_perm_t.
	* kern/task.c (task_init): Call machine_task_module_init.
	(task_create): Call machine_task_init.
	(task_deallocate): Call machine_task_terminate.
	(task_collect_scan): Call machine_task_collect.
	* task.h: Include `machine/task.h'.
	(struct task): Add member machine.

2007-05-06  Thomas Schwinge  <tschwinge@gnu.org>

	* device/kmsg.c: Include <device/ds_routines.h>.
	(kmsg_lock): Use `decl_simple_lock_data'.
	(kmsgread, kmsg_read_done): Add two typecasts.

	* device/buf.h (minphys): Add return type.
	* device/device_types_kernel.h: We're not in the eighties anymore...
	* device/io_req.h: Likewise.

2007-05-05  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/i386at/model_dep.c (halt_cpu, halt_all_cpus): Call
	`machine_idle' to avoid busy-looping.

	* i386/intel/read_fault.c (intel_read_fault): Remove the last parameter
	from the calls of `vm_map_lookup'.

	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.
	* vm/memory_object.c: Do as described.
	* vm/memory_object.h: Likewise.
	* vm/pmap.h: Likewise.
	* vm/vm_external.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_pageout.h: Likewise.
	* vm/vm_user.h: Likewise.
	* vm/memory_object.h: Include <ipc/ipc_types.h>.
	* vm/pmap.h: Include <kern/thread.h>.
	* vm/vm_fault.h: Include <mach/vm_prot.h>, <vm/vm_map.h> and
	<vm/vm_types.h>.
	* vm/vm_map.h: Include <mach/vm_attributes.h> and <vm/vm_types.h>.
	(vm_map_t, VM_MAP_NULL): Remove type and definition.
	* vm/vm_object.h (vm_object_t, VM_OBJECT_NULL): Remove type and
	definition.
	* vm/vm_page.h: Include <vm/vm_types.h>.
	(vm_page_t, VM_PAGE_NULL): Remove type and definition.
	* vm/vm_user.h: Include <mach/std_types.h>.
	* kern/task.h: Include <vm/vm_types.h> instead of <vm/vm_map.h>.
	* vm/vm_types.h: New file: the above-removed types and definitions.

2007-05-02  Thomas Schwinge  <tschwinge@gnu.org>

	* configure.ac (--disable-default-device-drivers): Transform into...
	(--enable-device-drivers): ... this new option and extend it.
	* i386/configfrag.ac (--enable-lpr): Adapt to that.
	* linux/configfrag.ac (AC_OPTION_Linux_ix86_at, AC_Linux_DRIVER):
	Likewise.
	(AC_Linux_DRIVER_qemu): New definition.  Use it for the `floppy', `ide'
	and `ne' device drivers.
	* doc/mach.texi: Document all that.

2007-05-01  Thomas Schwinge  <tschwinge@gnu.org>

	* assigns: Remove file.  See `copyright.list' on the GNU server instead.

2007-04-30  Thomas Schwinge  <tschwinge@gnu.org>

	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/dev_hdr.h: Include <ipc/ipc_types.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>.
	* kern/syscall_subr.h: Include <kern/kern_types.h>.
	* ipc/ipc_hash.c (ipc_hash_index_t): Move type definition...
	* ipc/ipc_hash.h: ... into here.

2007-04-25  Thomas Schwinge  <tschwinge@gnu.org>

	* DEVELOPMENT: Add url.

	[task #5878 -- Backport code from GNU Mach's trunk to
	gnumach-1-branch: i386_set_gdt, i386_get_gdt]
	* i386/include/mach/i386/mach_i386.defs (i386_set_gdt, i386_get_gdt):
	Shift by two to maintain rpc id compatibility with OSKit-Mach.

	* linux/dev/glue/kmem.c (vmalloc_list_remove): Cast the first argument
	in the `kfree' call to what is expected.

	* linux/pcmcia-cs/glue/ds.c (kmalloc, kfree): Call `linux_kmalloc',
	respective `linux_kfree' instead.

	* kern/kalloc.h (kalloc, kget, kfree, kalloc_init): List the arguments.

2007-04-24  Michael Casadevall  <sonicmctails@gmail.com>

	* linux/src/drivers/net/ne.c (bad_clone_list): Add the RealTek 8029 PCI
	card's signature.
	<http://lists.gnu.org/archive/html/bug-hurd/2007-04/msg00039.html>

2007-04-24  Thomas Schwinge  <tschwinge@gnu.org>

	* ipc/ipc_port.h: Include <ipc/ipc_space.h>.

2007-04-11  Thomas Schwinge  <tschwinge@gnu.org>

	* config.status.dep.patch: Update to match more files.  This fixes
	building GNU Mach with ``make -j2'' and higher.  The problem was
	reported by Michael Casadevall <sonicmctails@gmail.com>.

2007-04-02  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/i386/io_emulate.c: Remove file.
	* i386/i386/io_emulate.h: Likewise.
	* i386/i386at/iopl.c: Likewise.
	* i386/Makefrag.am (libkernel_a_SOURCES): Remove the aforementioned
	files.
	* i386/i386/trap.c: Don't include <i386/io_emulate.h>.
	(v86_assist, check_io_fault): Remove functions.
	(user_trap): Remove the code referencing the above functions.
	* i386/i386at/conf.c (dev_name_list): Remove the `iopl' device.
	* DEVELOPMENT: Document this.

2007-03-30  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.am (gnumach_o_LINK): Remove ``--start-group''.

2007-03-27  Thomas Schwinge  <tschwinge@gnu.org>

	Unconditionally use the device driver multiplexing.  Suggested by
	Gianluca Guida <glguida@gmail.com>.
	* i386/i386at/dev_hdr.h: Merge into `device/dev_hdr.h' and remove.
	* i386/i386at/device_emul.h: Rename to `device/device_emul.h'.  Adapt
	all users.
	* i386/i386at/i386at_ds_routines.c: Merge into `device/ds_routines.c'
	and remove.
	* i386/linux/dev/include/linux_emul.h: Remove file.
	* Makefrag.am (libkernel_a_SOURCES): Add `device/device_emul.h'.
	* i386/Makefrag.am (libkernel_a_SOURCES): Remove
	`i386/i386at/dev_hdr.h', `i386/i386at/device_emul.h' and
	`i386/i386at/i386at_ds_routines.c'.
	* i386/linux/Makefrag.am (liblinux_a_SOURCES): Remove
	`i386/linux/dev/include/linux_emul.h'.
	* dev/dev_hdr.h: Adapt all users of `i386' as if it were always
	defined.
	* device/dev_lookup.c: Likewise.
	* device/ds_routines.c: Likewise.
	* device/device_init.c (ds_init): Rename to `mach_device_init'.
	* device/ds_routines.c (ds_init): Likewise.
	(ds_trap_init): Rename to `mach_device_trap_init'.
	(mach_device_trap_init): Make it `static'.
	* linux/dev/glue/block.c: Don't include <linux_emul.h>, but instead
	include <device/device_emul.h> and <i386at/disk.h>.
	* linux/dev/glue/net.c: Don't include <linux_emul.h>, but instead
	include <device/device_emul.h>.
	* linux/pcmcia-cs/glue/ds.c: Likewise.

	* kern/pcsample.h: Remove the automatic cvs log appending machinery.
	* linux/dev/drivers/scsi/g_NCR5380.c: Likewise.
	* linux/src/drivers/net/sk_g16.h: Likewise.
	* linux/src/drivers/scsi/AM53C974.c: Likewise.
	* linux/src/drivers/scsi/AM53C974.h: Likewise.
	* linux/src/drivers/scsi/NCR5380.c: Likewise.
	* linux/src/drivers/scsi/NCR5380.h: Likewise.
	* linux/src/drivers/scsi/aha152x.c: Likewise.
	* linux/src/drivers/scsi/aha1542.h: Likewise.
	* linux/src/drivers/scsi/g_NCR5380.c: Likewise.
	* linux/src/drivers/scsi/g_NCR5380.h: Likewise.
	* linux/src/drivers/scsi/gdth.c: Likewise.
	* linux/src/drivers/scsi/qlogicisp.c: Likewise.
	* linux/src/drivers/scsi/qlogicisp.h: Likewise.
	* linux/src/drivers/scsi/t128.c: Likewise.
	* linux/src/drivers/scsi/t128.h: Likewise.

2007-03-24  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/i386at/conf.c (block_io_mmap): Remove declaration.

	* doc/mach.texi: Fix a typo and the url for GNU GRUB.

	* device/kmsg.h: Include <sys/types.h>, <device/device_types.h> and
	<device/io_req.h>.

	* Makefrag.am (libkernel_a_SOURCES): Move `device/kmsg.h' into
	[enable_kmsg].

2007-03-23  Thomas Schwinge  <tschwinge@gnu.org>

	* Makerules.am (%.server.msgids, %.user.msgids): Merge into the
	existing ``%.h %.c'' rules.
	Comment out the currently unused rpc stub rules.
	* Makefrag.am (gnumach.msgids): Rewrite.
	(nodist_libkernel_a_SOURCES): Add all ``.msgids'' files.
	* i386/Makefrag.am (nodist_libkernel_a_SOURCES): Likewise.

2007-03-19  Tim Retout  <tim@retout.co.uk>

	* i386/ldscript: Correct 'LINKFLAGS_gnumach' in comment.

2007-03-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386/user_ldt.c (i386_set_gdt): Call switch_ktss() if target is
	current thread.

2007-03-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[bug #18349 -- ``General Protection Trap'' in `ipc_kmsg_enqueue']
	* linux/dev/glue/net.c (device_write): Call net_packet() with splimp
	held.

2007-03-04  Thomas Schwinge  <tschwinge@gnu.org>

	* tests/configfrag.ac (MBCHK): Remove check.
	* tests/test-mbchk.in: Fail correctly if `mbchk' is not available.

2007-03-01  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/dev/glue/block.c (free_buffer): Use `VM_PAGE_FREE'.
	* vm/vm_object.c (vm_object_collapse, vm_object_page_remove)
	(vm_object_page_map): Likewise.

2007-02-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* linux/dev/glue/block.c (free_buffer): Fix
	vm_page_lock_queues/vm_page_unlock_queues pair.

	Fix ddb's trace command.
	* i386/i386/db_trace.c (db_find_trace_symbols): Drop _ prefix on ELF
	targets.
	(db_i386_stack_trace): Check that adresses of known functions were
	really found.

2007-02-19  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.am (gnumach_LINKFLAGS): New variable.
	(gnumach_LINK): Use that one instead of the previously used
	`LINKFLAGS_gnumach'.
	* i386/Makefrag.am (LINKFLAGS_gnumach): Rename to `gnumach_LINKFLAGS',
	move into [PLATFORM_at] and pass `_START'.
	* i386/ldscript: Don't hardcode a _start address of 0x100000, but make
	it configurable via `_START'.

	Add a `--enable-platform' option for future use.  Allow building
	without any Linux code.
	* Makefile.am: Don't include `linux/Makefrag.am' in there...
	* Makefrag.am: ... but rather in here.
	* configfrag.ac (MACH_MACHINE_ROUTINES): AC_DEFINE_UNQUOTED based on
	then shell variable `mach_machine_routines'.
	(--disable-default-device-drivers): Don't define in there...
	* configure.ac: ... but rather in here.
	(--enable-platform): New option.
	(host_platform): New variable.
	(HOST_i386): Don't define there...
	* i386/configfrag.ac (HOST_ix86): ... but rather here, rename it and
	adapt all users.
	(PLATFORM_at): New conditional.
	(MACH_MACHINE_ROUTINES): Don't AC_DEFINE, but rather set a shell
	variable `mach_machine_routines'.
	* linux/Makefrag.am (noinst_LIBRARIES, gnumach_o_LDADD): Only enhance
	``if CODE_linux'' or ``if device_driver_group_pcmcia''.
	* linux/configfrag.ac (AC_OPTION): Rename to `AC_OPTION_Linux_ix86_at'
	and rework a bit.  Adapt all users.
	(AC_OPTION_nodef): Rename to `AC_OPTION_Linux_ix86_at_nodef' and rework
	a bit.  Adapt all users.
	(CODE_linux): New conditional.
	* i386/Makefrag.am (LINKFLAGS_gnumach): Don't evaluate $(systype).

	* Makefile.am: Update the FSF's postal address.
	* doc/Makefrag.am: Likewise.
	* i386/linux/Makefrag.am: Likewise.
	* linux/Makefrag.am: Likewise.
	* tests/Makefrag.am: Likewise.
	* tests/configfrag.ac: Move to GPL.

2007-02-05  Thomas Schwinge  <tschwinge@gnu.org>

	* kern/mach_clock.c: Don't include <kern/time_out.h>.

	* i386/i386/hardclock.c: Include <kern/mach_clock.h> instead of
	<kern/time_out.h>.
	* i386/i386/pit.c: Likewise.
	* i386/i386at/kd.c: Likewise.
	* i386/i386at/model_dep.c: Likewise.
	* i386/i386at/rtc.c: Likewise.
	* kern/ipc_sched.c: Likewise.
	* kern/mach_factor.c: Likewise.
	* kern/priority.c: Likewise.
	* kern/sched_prim.c: Likewise.
	* kern/startup.c: Likewise.
	* kern/syscall_subr.c: Likewise.
	* kern/thread.h: Likewise.
	* kern/zalloc.c: Likewise.

	* kern/host.c: Include <kern/mach_clock.h>.
	(tick): Remove declaration.
	* kern/pc_sample.c: Likewise.
	* kern/thread.c: Likewise.
	* kern/sched_prim.c (hz): Remove declaration.
	* kern/syscall_subr.c (hz): Likewise.
	* linux/dev/init/main.c (hz): Likewise.

	* kern/time_out.h: Remove file after having installed the missing bits
	in...
	* kern/mach_clock.h: ... here.

	* configfrag.ac: Enhance comments.

	* vm/vm_debug.c (MACH_VM_DEBUG): Correctly place conditional.

2007-02-04  Thomas Schwinge  <tschwinge@gnu.org>

	* doc/mach.texi (thread_switch): Enhance a bit.

	* doc/Makefrag.am ($(web)): Use ``mkdir -p''.

	* doc/mach.texi: Fix unusual hyphens.

	* i386/i386/hardclock.c: Don't check for the `SYMMETRY' platform.

	* kern/timer.h: Add some comments from...
	* i386/i386/timer.h: ... here and remove this file.

2007-01-26  Thomas Schwinge  <tschwinge@gnu.org>

	* doc/mach.texi: Fix the last change.

2007-01-22  Thomas Schwinge  <tschwinge@gnu.org>

	* COPYING: Update via GNU automake 1.10.
	* doc/fdl.texi: Update from <http://www.gnu.org/licenses/fdl.texi>.
	* doc/gpl.texi: Update from <http://www.gnu.org/licenses/gpl.texi>.
	* doc/mach.texi: Use the GFDL 1.2.

2007-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/mach.texi: Many typos fixed.

2007-01-11  Thomas Schwinge  <tschwinge@gnu.org>

	* DEVELOPMENT (LAYOUT OF THE SOURCE TREE): New section.

	These following files are regenerated by running ``autoreconf -i'' and
	``make info''.
	* INSTALL: Remove file.
	* Makefile.in: Likewise.
	* aclocal.m4: Likewise.
	* build-aux/compile: Likewise.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/depcomp: Likewise.
	* build-aux/install-sh: Likewise.
	* build-aux/mdate-sh: Likewise.
	* build-aux/missing: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* config.h.in: Likewise.
	* configure: Likewise.
	* doc/mach.info: Likewise.
	* doc/mach.info-1: Likewise.
	* doc/mach.info-2: Likewise.
	* doc/stamp-vti: Likewise.
	* doc/version.texi: Likewise.

2007-01-06  Thomas Schwinge  <tschwinge@gnu.org>

	* ddb/db_break.c (db_delete_thread_breakpoint): Don't declare
	`db_cond_free'.
	* ddb/db_run.c: Include <ddb/db_cond.h>.
	(db_stop_at_pc): Don't declare `db_cond_check'.
	* ddb/db_input.c: Include <ddb/db_input.h>.
	* ddb/db_macro.c: Include <ddb/db_macro.h>.
	* ddb/db_trap.c: Include <ddb/db_trap.h>.
	* i386/i386/db_interface.h: Include <machine/thread.h>.
	* i386/i386/db_interface.c: Include <machine/db_interface.h>.
	* i386/i386/db_machdep.h: Include <machine/db_interface.h>.
	(db_check_access, db_phys_eq, db_task_name): Remove declarations.

2007-01-06  Barry deFreese  <bddebian@comcast.net>

	* ddb/db_aout.c: Include <ddb/db_output.h>.
	* ddb/db_break.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and
	<ddb/db_output.h>.
	(db_delete_cmd, db_breakpoint_cmd): Explicitly define untyped variables
	as `int'.
	* ddb/db_command.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and
	<ddb/db_macro.h>.
	* ddb/db_command.h (db_exec_cmd_nest): New declaration.
	* ddb/db_cond.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and
	<ddb/db_output.h>.
	(db_cond_cmd): Explicitly define untyped variable as `int'.
	* ddb/db_cond.h: New file.
	* ddb/db_examine.c: Include <machine/db_interface.h>,
	<ddb/db_examine.h> and <ddb/db_expr.h>.
	(db_strcpy, db_examine): Remove forward declarations.
	(db_xcdump): Explicitly define untyped variables as `int'.
	* ddb/db_examine.h: New file.
	* ddb/db_expr.c: Include <ddb/db_expr.h>, <ddb/db_output.h>,
	<ddb/db_sym.h> and <ddb/db_variables.h>.
	* ddb/db_input.c: Include <ddb/db_command.h>.
	* ddb/db_input.h: New file.
	* ddb/db_lex.c: Include <ddb/db_command.h>, <ddb/db_examine.h>,
	<ddb/db_input.h> and <ddb/db_output.h>.
	(db_skip_to_eol, db_lex): Explicitly define untyped variables as `int'.
	* ddb/db_lex.h (db_lex): New declaration.
	* ddb/db_macro.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and
	<ddb/db_output.h>.
	(db_def_macro_cmd, db_exec_macro): Explicitly define untyped variables
	as `int'.
	* ddb/db_macro.h: New file.
	* ddb/db_output.c: Include <ddb/db_command.h>.
	* ddb/db_output.h (db_putchar): New declaration.
	* ddb/db_print.c: Include <machine/db_interface.h>, <ddb/db_command.h>
	and <ddb/db_output.h>.
	(db_show_regs): Explicitly define untyped variables as `int'.
	* ddb/db_run.c: Include <ddb/db_command.h>, <ddb/db_examine.h>,
	<ddb/db_output.h> and <ddb/db_watch.h>.
	* ddb/db_run.h: Include <kern/task.h> and <machine/db_machdep.h>.
	(db_single_step, db_single_step_cmd, db_in_single_step): New
	declarations.
	* ddb/db_sym.c: Include <ddb/db_command.h> and <ddb/db_output.h>.
	(db_sym_parse_and_lookup): Explicitly define untyped variables as
	`int'.
	* ddb/db_sym.h (db_line_at_pc): New declaration.
	* ddb/db_task_thread.c: Include <ddb/db_command.h>, <ddb/db_expr.h>,
	<ddb/db_lex.h> and <ddb/db_output.h>.
	(db_lookup_task, db_lookup_task_thread, db_lookup_thread)
	(db_lookup_task_id, db_lookup_thread_id): Explicitly define untyped
	variables as `int'.
	* ddb/db_trap.c: Include <ddb/db_examine.h> and <ddb/db_output.h>.
	* ddb/db_trap.h: New file.
	* ddb/db_variables.c: Include <ddb/db_command.h>, <ddb/db_examine.h>,
	<ddb/db_expr.h> and <ddb/db_output.h>.
	(db_get_suffix, db_cmp_variable_name): Explicitly define untyped
	variables as `int'.
	* ddb/db_variables.h (db_get_variable): New declaration.
	* ddb/db_watch.c: Include <ddb/db_command.h>, <ddb/db_expr.h>,
	<ddb/db_output.h> and <ddb/db_run.h>.
	* ddb/db_write_cmd.c: Include <ddb/db_expr.h> and <ddb/db_output.h>.
	* i386/i386/db_interface.c: Include <kern/printf.h>, <ddb/db_access.h>,
	<ddb/db_command.h>, <ddb/db_output.h>, <ddb/db_run.h> and
	<ddb/db_trap.h>.
	(kdbprinttrap): Add `void' return type.
	(db_user_to_kernel_address, db_task_name): Explicitly define untyped
	variables as `int'.
	* i386/i386/db_interface.h: New file.
	* i386/i386/db_trace.c (db_i386_reg_value): Add `int' return type.
	* i386/i386/trap.c [MACH_KDB]: Include <ddb/db_run.h> and
	<ddb/db_watch.h>.
	* ipc/ipc_kmsg.c [MACH_KDB]: Include <ddb/db_output.h>.
	* kern/lock.c [MACH_KDB]: Include <ddb/db_output.h>.

2007-01-06  Thomas Schwinge  <tschwinge@gnu.org>

	* configure.ac (AM_INIT_AUTOMAKE): Add ``-Wall -Wno-portability''.

2007-01-05  Richard Braun  <syn@hurdfr.org>

	Add alignment support in the zone allocator.
	* kern/zalloc.c (ALIGN_SIZE_UP): New macro.
	(zinit): New `align' parameter.
	(zget_space): Likewise.
	(zalloc): Updated call to zget_space() with the zone alignment.
	* kern/zalloc.h (zone): New member `align'.
	(zinit): Declaration updated as required.
	* device/dev_lookup.c (dev_lookup_init): Updated call to zinit() with
	alignment of 0.
	* device/dev_pager.c (dev_pager_hash_init): Likewise.
	(device_pager_init): Likewise.
	* device/ds_routines.c (ds_init): Likewise.
	(ds_trap_init): Likewise.
	* device/net_io.c (net_io_init): Likewise.
	* i386/i386/fpu.c (fpu_module_init): Likewise.
	* i386/i386/pcb.c (pcb_module_init): Likewise.
	* i386/intel/pmap.c (pmap_init): Likewise.
	* ipc/ipc_init.c (ipc_bootstrap): Likewise.
	* ipc/ipc_marequest.c (ipc_marequest_init): Likewise.
	* kern/act.c (global_act_init): Likewise.
	* kern/kalloc.c (kalloc_init): Likewise.
	* kern/processor.c (pset_sys_init): Likewise.
	* kern/task.c (task_init): Likewise.
	* kern/thread.c (thread_init): Likewise.
	* kern/zalloc.c (zone_bootstrap): Likewise.
	* vm/vm_external.c (vm_external_module_initialize): Likewise.
	* vm/vm_fault.c (vm_fault_init): Likewise.
	* vm/vm_map.c (vm_map_init): Likewise.
	* vm/vm_object.c (vm_object_bootstrap): Likewise.
	* vm/vm_resident.c (vm_page_module_init): Likewise.

2007-01-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix translation of port into device in the "no sender" notification.
	* i386/i386at/i386at_ds_routines.c (ds_notify): Use dev_port_lookup()
	for translating the remote port.

	Fix loop indexing.
	* i386/intel/pmap.c (pmap_change_wiring): Increment pte in the
	unwiring loop.

	Drop old and broken support for Olivetti XP7 & XP9
	* i386/intel/pmap.c [ORC] (OLIVETTICACHE): Remove macro.
	[OLIVETTICACHE] (pstart): Remove declaration.
	(CACHE_LINE, CACHE_SIZE, CACHE_PAGE, WRITE_PTE, WRITE_PTE_FAST): Remove
	macros.
	[OLIVETTICACHE] (write_pte): Remove function.
	* DEVELOPMENT: Document the removal.

2006-12-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Add support for global pages.
	* i386/i386at/model_dep.c: Include <i386/locore.h>.
	(i386at_init): Set CR4_PGE if available.
	(c_boot_entry): Call discover_x86_cpu_type() before i386at_init().
	* i386/intel/pmap.c: Include <i386/locore.h>.
	(pmap_map_bd): Use INTEL_PTE_GLOBAL if available.
	(pmap_bootstrap): Likewise.

	Add support for cr3/cr4 flags.
	* i386/i386/proc_reg.h (CR3_PCD, CR3_PWT, CR4_VME, CR4_PVI, CR4_TSD)
	(CR4_DE, CR4_PSE, CR4_PAE, CR4_MCE, CR4_PGE, CR4_PCE, CR4_OSFXSR)
	(CR4_OSXMMEXCPT, get_cr4, set_cr4): New macros.
	* i386/intel/pmap.h (INTEL_PTE_GLOBAL): New macro.

	Add support for querying x86 features.
	* i386/i386/locore.h (cpu_features): New variable declaration.
	(CPU_FEATURE_FPU, CPU_FEATURE_VME, CPU_FEATURE_DE, CPU_FEATURE_PSE)
	(CPU_FEATURE_TSC, CPU_FEATURE_MSR, CPU_FEATURE_PAE, CPU_FEATURE_MCE)
	(CPU_FEATURE_CX8, CPU_FEATURE_APIC, CPU_FEATURE_SEP, CPU_FEATURE_MTRR)
	(CPU_FEATURE_PGE, CPU_FEATURE_MCA, CPU_FEATURE_CMOV, CPU_FEATURE_PAT)
	(CPU_FEATURE_PSE_36, CPU_FEATURE_PSN, CPU_FEATURE_CFLSH)
	(CPU_FEATURE_DS, CPU_FEATURE_ACPI, CPU_FEATURE_MMX, CPU_FEATURE_FXSR)
	(CPU_FEATURE_SSE, CPU_FEATURE_SSE2, CPU_FEATURE_SS, CPU_FEATURE_HTT)
	(CPU_FEATURE_TM, CPU_FEATURE_PBE, CPU_HAS_FEATURE): New macros.
	* i386/i386/locore.S (cpu_features): New variable.
	(discover_x86_cpu_type): Record CPUID feature word 0.

2006-12-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Drop useless and broken FPE support.
	* i386/configfrac.ac (FPE): Don't define.
	* i386/i386/gdt.h (FPE_CS, USER_FPREGS): Remove macros.
	* i386/i386/fpu.c (init_fpu, fpu_set_state, fpu_get_state): Remove FPE
	support.
	* i386/i386/fpu.h: Likewise.
	* i386/i386/trap.c (user_trap, i386_exception): Likewise.
	* i386/i386/fpe_linkage.c: Remove file.
	* i386/Makefrag.am: Remove i386/i386/fpe_linkage.c.
	* Makefile.in: Regenerate.

2006-12-03  Thomas Schwinge  <tschwinge@gnu.org>

	[patch #5019 -- Remove checks for continuations]

	* DEVELOPMENT: Document the removal.

	* i386/configfrag.ac (CONTINUATIONS): Don't define.

2006-12-03  Leonardo Lopes Pereira  <leonardolopespereira@gmail.com>

	[patch #5019 -- Remove checks for continuations]
	* ipc/mach_msg.c: Adapt all users of CONTINUATIONS as if it were always
	defined.
	* kern/eventcount.c: Likewise.
	* kern/ipc_sched.c: Likewise.
	* kern/syscall_subr.c: Likewise.
	* vm/vm_fault.c: Likewise.
	* vm/vm_pageout.c: Likewise.
	* vm/vm_resident.c: Likewise.

2006-12-03  Thomas Schwinge  <tschwinge@gnu.org>

	[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.

2006-12-03  Thomas Schwinge  <tschwinge@gnu.org>

	[bug #17120 -- GNU Mach debian dir]
	* debian/README.Debian: Remove file.
	* debian/changelog: Likewise.
	* debian/control: Likewise.
	* debian/copyright: Likewise.
	* debian/postinst: Likewise.
	* debian/prerm: Likewise.
	* debian/rules: Likewise.

	[bug #18015 -- GNU Mach: `make dist' and friends]
	* Makefile.am (DISTCLEANFILES): New variable.

2006-11-30  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.in: Regenerate.
	* configure: Likewise.

2006-11-30  Barry deFreese  <bddebian@comcast.net>
	    Thomas Schwinge  <tschwinge@gnu.org>

	[bug #18015 -- GNU Mach: `make dist' and friends]
	* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
	(EXTRA_DIST): Enhance with the patches and documentation files.
	(dist-hook): New target to remove the `CVS' directories.
	* Makefrag.am (libkernel_a_SOURCES, EXTRA_DIST): Add header and `mig'
	input files.
	(DISTCHECK_CONFIGURE_FLAGS): Enable the kernel debugger.
	* i386/Makefrag.am: Likewise.  Also add `i386/i386/i386asm.sym',
	`i386/ldscript' and `i386/README-Drivers'.
	* i386/linux/Makefrag.am (liblinux_a_SOURCES): Add the header files
	from `i386/linux/'.
	* linux/Makefrag.am (liblinux_a_SOURCES, EXTRA_DIST)
	(liblinux_pcmcia_cs_modules_a_SOURCES)
	(liblinux_pcmcia_cs_clients_a_SOURCES)
	(liblinux_pcmcia_cs_wireless_a_SOURCES): Add header and other included
	files.
	(dist-hook): Depend on `dist-hook-linux'.
	(dist-hook-linux): New phony target to remove the `asm' symbolic links.
	* Makerules.am (EXTRA_DIST): Add `gensym.awk'.
	* doc/Makefrag.am (EXTRA_DIST): Add `$(mach_TEXINFOS)'.
	* configure.ac (AC_CONFIG_LINKS): Move instantiation to...
	* configfrag.ac: ... here and change quotation.
	* linux/configfrag.ac (AC_CONFIG_LINKS): Change quotation.

2006-11-29  Thomas Schwinge  <tschwinge@gnu.org>

	* configure: Regenerate.
	* Makefile.in: Likewise.

	* configure.ac (disable_smashing_stack_protector): New conditional, set
	depending on the compiler accepting `-fstack-protector' or not.
	* Makefile.am (CFLAGS): Add `-fno-stack-protector' if
	`disable_smashing_stack_protector' is set.

2006-11-28  Thomas Schwinge  <tschwinge@gnu.org>

	* doc/Makefrag.am ($(srcdir)/doc/version.texi): Oppress a potential
	error message from grep.

2006-11-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[bug #17346 -- GNU mach can't handle 4GB memory]
	* i386/i386at/model_dep.c (mem_size_init): Truncate memory size to
	4GiB.

2006-11-21  Thomas Schwinge  <tschwinge@gnu.org>

	* doc/Makefrag.am (doc/web, html-local, ps-local, pdf-local)
	($(srcdir)/doc/version.texi): New targets to faciliate keeping the web
	pages of the GNU Mach Reference Manual updated.

2006-11-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[patch #5328 -- GNU Mach asm statements tidy]
	* i386/i386/fpe_linkage.c (disable_fpe): Gather dependent asm
	statements, add `ax' clobber.
	(fpe_exception_fixup): Drop bogus cast from input parameter of lcall
	asm statement.
	* i386/i386/pio.h (inw, outw): Drop 0x66 prefix an just use the w
	instruction variant.
	* i386/i386/proc_reg.h: (get_eflags, get_tr, get_ldt): Drop
	useless "volatile" from asm statement.
	(get_esp): Use direct asm register specification.
	* i386/include/mach/i386/cthreads.h (cthread_sp): Likewise.
	* i386/intel/pmap.c (pmap_unmap_page_zero): Fix asm clobber into `eax'.

	[patch #5375 -- Fix de4x5 probe]
	* linux/src/drivers/net/de4x5.c (pci_probe): Make probe loop stop on
	any error, not only device not found.

2006-11-17  Constantine Kousoulos  <wuwei@freemail.gr>
	    Thomas Schwinge  <tschwinge@gnu.org>

	[bug #18010 -- GNU Mach: update i386/README-Drivers and doc/mach.texi]
	* i386/README-Drivers: Move most of the text into...
	* doc/mach.texi: ... here and update a number of things.
	(UPDATED): Don't override.

2006-11-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386at/iopl.c (ioplmmap): Add `int' return type.
	* i386/i386at/model_dep.c (halt_all_cpus): Fix typo in declaration.
	* kern/assert.h (Assert): Add __attribute__ ((noreturn)) to
	declaration.
	* kern/debug.c (Debugger): Add __attribute__ ((noreturn)) to
	declaration.
	(Debugger): Add call to panic().
	* kern/debug.h (panic): Add __attribute__ ((noreturn)) to declaration.
	* util/putchar.c (putchar): Return printed char.

2006-11-13  Barry deFreese  <bddebian@comcast.net>

	* device/chario.c (tty_cts): Add `void' return type.
	* device/cons.c (cninit, cnputc): Add `void' return type.
	(cngetc, cnmaygetc): Add `int' return type.
	* device/net_io.c (net_del_q_info, net_free_dead_infp)
	(net_free_dead_entp): Add `void' return type.
	* i386/i386/fpu.c (fpnoextflt, fpextovrflt, fpexterrflt, fp_save)
	(fp_load, fpintr): Add `void' return type.
	* i386/i386/ktss.c (ktss_init): Add `int' type to `exception_stack'.
	* i386/i386/loose_ends.c (delay): Add `void' return type.
	* i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys)
	(copy_from_phys): Add `void' return type.
	* i386/i386/pic.c (picinit, form_pic_mask, intnull, prtnull): Add
	`void' return type.
	* i386/i386/pit.c (clkstart): Add `void' return type.
	* i386/i386at/com.c (comparm, comtimer, fix_modem_state)
	(commodem_intr): Add `void' return type.
	(comintr, commctl, comstop): Add `int' return type.
	* i386/i386at/iopl.c (ioplclose): Add `int' return type.
	* i386/i386at/kd.c (kd_io_map_openn, kd_io_map_close, feep, pause)
	(kd_debug_put, cnpollc, kdclose, kd_handle_ack, kd_resend, kdinit)
	(kd_belloff, kd_bellon, kd_putc, kd_setpos, kd_scrollup, kd_scrolldn)
	(kd_parseesc, kd_parserest, kd_tab, kd_cls, kd_home, kd_up, kd_down)
	(kd_right, kd_left, kd_cr, kd_cltobcur, kd_cltopcurn, kd_cltoecur)
	(kd_clfrbcur, kd_delln, kd_insln, kd_delch, kd_erase, kd_eraseln)
	(kd_insch, kd_senddata, kd_sendcmd, kd_cmdreg_write, kd_mouse_drain)
	(set_kd_state, kd_setleds1, kd_setleds2, cnsetleds, kdreboot): Add
	`void' return type.
	(kdopen, kdread, kdwrite, kdportdeath, kdsetbell, kdgetkbent, kdintr)
	(do_modifier, kdstate2idx, kdstart, kdstop, kd_kbd_magic): Add `int'
	return type.
	(kd_isupper, kd_islower): Add `boolean_t' return type.
	(kd_cmdreg_read): Add `unsigned char' return type.
	* i386/i386at/kd_event.c (kbdinit, kbdclose, kdb_in_out, X_kdb_enter)
	(X_kdb_exit, X_kdb_enter_init, X_kdb_exit_init): Add `void' return
	type.
	(kbdopen, kbdioctl, kbdselect, kbdread): Add `int' return type.
	* i386/i386at/kd_mouse.c (init_mouse_hw, serial_mouse_open)
	(kd_mouse_open, mouseclose, serial_mouse_close, kd_mouse_close)
	(mouse_handle_byte, mouse_packet_mouse_system_mouse)
	(mouse_packet_microsoft_mouse, ibm_ps2_mouse_open)
	(ibm_ps2_mouse_close, mouse_packet_ibm_ps2_mouse, mouse_moved)
	(mouse_button): Add `void' return type.
	(mouseopen, mouseioctl, mouseselect, mouseread, mouseintr): Add `int'
	return type.
	* i386/i386at/lpr.c (lprclose, lprpr_addr): Add `void' return type.
	(lprprobe, lpropen, lprread, lprwrite, lprportdeath, lprstop, lprpr):
	Add `int' return type.
	* i386/i386at/model_dep.c (i386at_init, startrtclock): Add `void'
	return type.
	(timemmap): Add `int' return type.
	* i386/i386at/rtc.c (rtcinit, rtcput): Add `void' return type.
	(yeartoday, hexdectodec, readtodc, writetodc): Add `int' return type.
	* i386/intel/pmap.c (pmap_pageable): Add `void' return type.
	* kern/eventcount.c (simpler_thread_setrun): Add `int' type to
	`whichrq' variable.

2006-11-13  Barry deFreese  <bddebian@comcast.net>

	* i386/i386/locore.h: New file.
	* i386/i386/pcb.h: New file.
	* i386/i386/pcb.c: Include `pcb.h'.
	* i386/i386/pit.c (clkstart): Fix type of s into unsigned long.
	* i386/i386/spl.h (spl0, splsched, splx, splsoftclock, splon, sploff)
	(splhigh, splimp, spltty, splclock, setsoftclock): Add prototype.
	* i386/i386at/kd_event.h: New file.
	* i386/i386at/kd_event.c: Include `kd_event.h'.
	* i386/i386at/kd_mouse.h: New file.
	* i386/i386at/kd_mouse.c: Include `kd_mouse.h'.
	(mouseclose): Fix call of `serial_mouse_close' function.
	* i386/i386at/kd.c: Include `kd_event.h' and `kd_mouse.h'.
	* i386/i386at/kd.h (splx, spltty): Remove prototypes.h
	* i386/i386at/lpr.c: Likewise.
	* ipc/mach_msg.c: Include `machine/locore.h' and `machine/pcb.h'.
	* kern/mach_clock.h: New file.
	* kern/mach_clock.c: Include `kern/queue.h', `kern/timer.h' and
	`mach_clock.h'.
	* kern/mach_factor.h: New file.
	* kern/mach_factor.c: Include `mach_factor.h'.
	* kern/sched_prim.c: Include `kern/mach_factor.h'.
	* kern/thread.c: Include `machine/pcb.h'.

2006-11-11  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.am (gnumach-undef-bad): Depend on the Makefile.

2006-11-11  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix I/O port type.
	* i386/i386/pic.c (master_icq, master_ocw, slaves_icq, slaves_ocw):
	Change variables type from char * to unsigned short.
	(picinit): Remove now-useless cast.
	* i386/i386at/kd_mouse.c (init_mouse_hw, serial_mouse_close)
	(mouseintr): Change variable type from caddr_t to unsigned short,
	remove now-useless cast.

	[task #5726 -- GCC built-in functions]
	* kern/machine.c: Include `string.h'.

	Fix ``assignment used as truth value'' warnings.
	* device/cons.c (cninit): Add parenthesis.
	* kern/bootstrap.c (copy_bootstrap): Likewise.
	* kern/printf.c (_doprnt): Likewise.
	* vm/vm_map.c (vm_map_lookup): Likewise.

	Fix a bunch of ``unused variable'' warnings.
	* device/ds_routines.c (ds_device_open): Remove unused `namebuf'
	variable.
	* device/kmsg.c (kmsgread): Remove unused `err' variable.
	* device/net_io.c (net_set_filter): Remove unused `j' variable.
	* i386/i386/pcb.c (curr_gdt, curr_ktss): Artificially use parameter of
	macro.
	* i386/i386/pic.c (picinit): Remove unused `i' variable.
	* i386/i386/pit.c (clkstart): Remove unused `flags' variable.
	* i386/i386/trap.c (kernel_trap): Remove unused `exc' variable.
	(user_trap): Remove unused `map' and `result' variables.
	(v86_assist): Remove unused `size' variable.
	* i386/i386at/i386at_ds_routines.c (ds_device_open): Remove unused
	`dev' variable.
	* i386/i386at/kd.c (kdintr): Remove unused `o_pri' variable.
	(kdcngetc): Remove unused `i' variable.
	* i386/i386at/kd_event.c (kbdgetstat, kbdsetstat): Remove unused
	`result' variable.
	* i386/i386at/kd_mouse.c (mousegetstat): Likewise.
	* i386/i386at/lpr.c (lprattach): Remove unused `tp' variable.
	(lprsetstat): Remove unused `dev_addr' and `s' variables.
	* i386/intel/pmap.c (pmap_bootstrap): Remove unused `pteva' variable.
	(SPLVM, SPLX): Artificially use parameter of macro.
	* ipc/ipc_kmsg.c (ipc_kmsg_copyin_body): Remove unused `mr' variable.
	* kern/bootstrap.c (boot_script_exec_cmd): Remove unused
	`boot_exec_info' and `user_map' variables.
	* vm/vm_kern.c (projected_buffer_map): Remove unused `object'
	variable.

2006-11-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* kern/sched_prim.h (thread_syscall_return): Replace old `volatile'
	function qualifier with __attribute__((__noreturn__)).

2006-11-09  Barry deFreese  <bddebian@comcast.net>

	[task #5726 -- GCC built-in functions]
	* include/printf.h: Move file...
	* kern/printf.h: ... here.
	* kern/debug.h (panic_init, panic): Add prototypes.
	* chips/busses.c: Don't include `printf.h', include `kern/printf.h'
	and `kern/debug.h' for panic().
	* ddb/db_command.c: Likewise.
	* ddb/db_cond.c: Likewise.
	* ddb/db_output.c: Likewise.
	* device/cirbuf.c: Likewise.
	* device/cons.c: Likewise.
	* device/dev_name.c: Likewise.
	* device/dev_pager.c: Likewise.
	* device/device_init.c: Likewise.
	* device/dk_label.c: Likewise.
	* device/ds_routines.c: Likewise.
	* device/net_io.c: Likewise.
	* device/subrs.c: Likewise.
	* i386/i386/debug_i386.c: Likewise.
	* i386/i386/fpe_linkage.c: Likewise.
	* i386/i386/fpu.c: Likewise.
	* i386/i386/io_map.c: Likewise.
	* i386/i386/kttd_interface.c: Likewise.
	* i386/i386/mp_desc.c: Likewise.
	* i386/i386/pcb.c: Likewise.
	* i386/i386/pic.c: Likewise.
	* i386/i386/trap.c: Likewise.
	* i386/i386at/autoconf.c: Likewise.
	* i386/i386at/com.c: Likewise.
	* i386/i386at/i386at_ds_routines.c: Likewise.
	* i386/i386at/kd.c: Likewise.
	* i386/i386at/kd_event.c: Likewise.
	* i386/i386at/kd_mouse.c: Likewise.
	* i386/i386at/lpr.c: Likewise.
	* i386/i386at/model_dep.c: Likewise.
	* i386/intel/pmap.c: Likewise.
	* ipc/ipc_entry.c: Likewise.
	* ipc/ipc_hash.c: Likewise.
	* ipc/ipc_kmsg.c: Likewise.
	* ipc/ipc_mqueue.c: Likewise.
	* ipc/ipc_notify.c: Likewise.
	* ipc/ipc_object.c: Likewise.
	* ipc/ipc_port.c: Likewise.
	* ipc/ipc_pset.c: Likewise.
	* ipc/ipc_right.c: Likewise.
	* ipc/mach_msg.c: Likewise.
	* ipc/mach_port.c: Likewise.
	* ipc/mach_rpc.c: Likewise.
	* kern/act.c: Likewise.
	* kern/ast.c: Likewise.
	* kern/bootstrap.c: Likewise.
	* kern/debug.c: Likewise.
	* kern/eventcount.c: Likewise.
	* kern/exception.c: Likewise.
	* kern/host.c: Likewise.
	* kern/ipc_host.c: Likewise.
	* kern/ipc_kobject.c: Likewise.
	* kern/ipc_mig.c: Likewise.
	* kern/ipc_sched.c: Likewise.
	* kern/ipc_tt.c: Likewise.
	* kern/kalloc.c: Likewise.
	* kern/lock.c: Likewise.
	* kern/mach_clock.c: Likewise.
	* kern/machine.c: Likewise.
	* kern/pc_sample.c: Likewise.
	* kern/printf.c: Likewise.
	* kern/processor.c: Likewise.
	* kern/sched_prim.c: Likewise.
	* kern/server_loop.ch: Likewise.
	* kern/startup.c: Likewise.
	* kern/task.c: Likewise.
	* kern/thread.c: Likewise.
	* kern/thread_swap.c: Likewise.
	* kern/xpr.c: Likewise.
	* kern/zalloc.c: Likewise.
	* vm/memory_object.c: Likewise.
	* vm/vm_debug.c: Likewise.
	* vm/vm_fault.c: Likewise.
	* vm/vm_kern.c: Likewise.
	* vm/vm_map.c: Likewise.
	* vm/vm_object.c: Likewise.
	* vm/vm_object.h: Likewise.
	* vm/vm_pageout.c: Likewise.
	* vm/vm_resident.c: Likewise.

2006-11-08  Thomas Schwinge  <tschwinge@gnu.org>

	* aclocal.m4: Regenerate using GNU Autoconf 2.60 and GNU Automake 1.10.
	* INSTALL: Likewise.
	* Makefile.in: Likewise.
	* configure: Likewise.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/depcomp: Likewise.
	* build-aux/install-sh: Likewise.
	* build-aux/missing: Likewise.
	* build-aux/texinfo.tex: Likewise.

	* Makefrag.am (gnumach.msgids): Remove temporary files.

2006-11-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[task #5726 -- GCC built-in functions]
	* include/printf.h (iprintf): Fix prototype.
	(vprintf): Add prototype.
	* kern/printf.c: Include `printf.h'.
	(vprintf, printf): Fix prototype and return a dumb value.
	* kern/startup.c: Include `printf.h'.

2006-11-07  Barry deFreese  <bddebian@comcast.net>

	[task #5726 -- GCC built-in functions]
	* include/printf.h: New file.
	(printf_init, _doprnt, printnum, sprintf, printf, indent, iprint): New
	declarations.
	* include/string.h (strchr, strcmp, strcpy, strlen, strncmp, strncpy)
	(strrchr, strsep): New extern declarations.
	* kern/strings.c: Don't include `kern/strings.h', include `string.h'.
	(strncmp, strncpy, strlen): Fix prototypes into using size_t.
	* kern/strings.h: Removed file.
	* kern/debug.c: Include `printf.h'.
	(do_cnputc): New function.
	(panic, log): Use do_cnputc instead of cnputc.
	* chips/busses.c: Don't include `kern/strings.h', include `printf.h' and
	`string.h'.
	(_doprnt): Remove extern declaration.
	(indent): Remove extern declaration.
	* ddb/db_aout.c: Likewise.
	* ddb/db_command.c: Likewise.
	* ddb/db_lex.c: Likewise.
	* ddb/db_macro.c: Likewise.
	* ddb/db_output.c: Likewise.
	* ddb/db_print.c: Likewise.
	* ddb/db_sym.c: Likewise.
	* device/dev_name.c: Likewise.
	* device/dev_pager.c: Likewise.
	* device/dk_label.c: Likewise.
	* device/ds_routines.c: Likewise.
	* device/net_io.c: Likewise.
	* device/subrs.c: Likewise.
	* i386/i386/db_trace.c: Likewise.
	* i386/i386/debug_i386.c: Likewise.
	* i386/i386/fpu.c: Likewise.
	* i386/i386/io_map.c: Likewise.
	* i386/i386/kttd_interface.c: Likewise.
	* i386/i386/pic.c: Likewise.
	* i386/i386/trap.c: Likewise.
	* i386/i386at/autoconf.c: Likewise.
	* i386/i386at/com.c: Likewise.
	* i386/i386at/i386at_ds_routines.c: Likewise.
	* i386/i386at/kd.c: Likewise.
	* i386/i386at/kd_event.c: Likewise.
	* i386/i386at/kd_mouse.c: Likewise.
	* i386/i386at/lpr.c: Likewise.
	* i386/i386at/model_dep.c: Likewise.
	* i386/intel/pmap.c: Likewise.
	* ipc/ipc_entry.c: Likewise.
	* ipc/ipc_hash.c: Likewise.
	* ipc/ipc_kmsg.c: Likewise.
	* ipc/ipc_notify.c: Likewise.
	* ipc/ipc_object.c: Likewise.
	* ipc/ipc_port.c: Likewise.
	* ipc/ipc_pset.c: Likewise.
	* ipc/mach_msg.c: Likewise.
	* ipc/mach_port.c: Likewise.
	* ipc/mach_rpc.c: Likewise.
	* kern/bootstrap.c: Likewise.
	* kern/eventcount.c: Likewise.
	* kern/ipc_kobject.c: Likewise.
	* kern/pc_sample.c: Likewise.
	* kern/printf.c: Likewise.
	* kern/sched_prim.c: Likewise.
	* kern/thread.c: Likewise.
	* kern/zalloc.c: Likewise.
	* vm/vm_fault.c: Likewise.
	* vm/vm_map.c: Likewise.
	* vm/vm_object.c: Likewise.
	* vm/vm_resident.c: Likewise.

2006-11-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* include/string.h: Fix copyright assignment to FSF, keep author's
	name.

2006-11-05  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/dev/README: New file.

	* config.h.in: Regenerate.
	* configure: Likewise.

	[task #5956 -- Automake'ify GNU Mach's code base]
	* configure.ac <AM_INIT_AUTOMAKE>: Add `no-define' and `1.9'.

2006-11-05  Barry deFreese  <bddebian@comcast.net>

	[task #5878 -- Backport code from GNU Mach's trunk to
	gnumach-1-branch: i386_set_gdt, i386_get_gdt'']
	[sync from HEAD, 2002-10-03]
	* i386/include/mach/i386/mach_i386.defs (i386_set_gdt, i386_get_gdt):
	New routines.
	* i386/i386/user_ldt.c (i386_set_gdt, i386_get_gdt): New functions.
	* i386/i386/gdt.h (USER_GDT, USER_GDT_SLOTS): New macros.
	(GDTSZ): Compute it from USER_GDT and USER_GDT_SLOTS.
	* i386/i386/thread.h: Include `gdt.h'.
	(struct i386_machine_state): New member `user_gdt'.
	* i386/i386/pcb.c (switch_ktss): Copy those slots into the GDT.
	* linux/src/include/linux/head.h (idt,gdt): Remove extern declaration.

2006-11-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	FPU, CPU and IO stubs cleanup.
	* i386/i386/fpu.h (fstcw): New macro.
	* i386/i386/locore.S (_fninit, _fstcw, _fldcw, _fnstsw, _fnclex)
	(_clts, _fpsave, _fprestore, set_cr3, get_cr3, flush_tlb, get_cr2)
	(get_ldt, set_ldt, get_tr, set_tr, _setts, outb, inb, outw, inw, outl)
	(inl, loutb, loutw, linb, linw): Remove functions.
	* i386/i386/proc_reg.h (flush_tlb): New macro.
	* i386/i386/db_interface.c: Include `i386/proc_reg.h'.
	* i386/intel/pmap.c: Likewise.
	* i386/intel/pmap.h: Likewise.
	* i386/i386/fpu.c: Include `i386/pio.h'.
	* i386/i386/pic.c: Likewise.
	* i386/i386/pit.c: Likewise.
	* i386/i386at/iopl.c: Likewise.
	* i386/i386at/kd.c: Likewise.
	* i386/i386at/kd_event.c: Likewise.
	* i386/i386at/kd_mouse.c: Likewise.
	* i386/i386at/rtc.c: Likewise.

2006-11-05  Barry deFreese  <bddebian@comcast.net>

	[task #5726 -- GCC built-in functions]
	* 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.

2006-11-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* DEVELOPMENT: Document the following removals.

	Drop MB1/MB2/EXL architecture support.
	* i386/i386/pit.h (PITCTR0_PORT, PITCTR1_PORT, PITCTR2_PORT)
	(PITCTL_PORT, CLKNUM): Remove MB1/MB2/EXL cases.
	[EXL] (time_latch): Remove structure and type.
	[EXL] (intr_disable, intr_restore): Remove functions.

	Drop iPSC architecture support.
	* i386/i386/hardclock.c: Remove iPSC386 from #if.
	* i386/i386/locore.S: Remove iPSC386 delays.
	* i386/i386/pic.c: Remove iPSC386 support.
	(SLAVEMASK): Rmove iPSC386 case.
	* i386/i386/pic.h (ADDR_PIC_BASE, OFF_ICW, OFF_OCW, SIZE_PIC)
	(PICM_VECTBASE, PICS_VECTBASE): Remove iPSC386 cases.
	[iPSC386] (I_AM_A_SLAVE, I_AM_A_MASTR): Remove macros.
	* i386/i386/pit.h: Remove iPSC386 from #if.
	[iPSC386] (CLKNUM): Remove macro.
	* kern/machine.c (host_get_boot_info): Remove iPSC386 support.
	* vm/vm_map.h (VM_MAP_COPY_PAGE_LIST_MAX): Remove iPSC case.

	Drop i860 architecture support.
	* i386/i386/pmap.h: Remove i860 comment.
	* i386/intel/pmap.c: Remove i860 comments.
	[i860]: Don't include `i860ipsc/nodehw.h'.
	(INVALIDATE_TLB): Remove i860 case.
	(paging_enabled): Remove variable.
	(pmap_map): Remove setting INTEL_PTE_NCACHE.
	(pmap_bootstrap): Remove i860 support.
	(pmap_page_table_page_alloc): Remove setting INTEL_PTE_NCACHE.
	(pmap_enter): Remove call to flush function.
	(set_dirbase): Remove function.
	* i386/intel/pmap.h: Remove i860 comments.
	(INTEL_PGBYTES, INTEL_PGSHIFT, intel_btop, intel_ptob)
	(intel_round_page, intel_trunc_page, trunc_intel_to_vm)
	(round_intel_to_vm, vm_to_intel, INTEL_PTE_VALID, set_dirbase): Remove
	i860 cases.
	(INTEL_PTE_valid): Remove macro.
	* i386/intel/read_fault.c: Remove i860 comment.

	Drop PS2 architecture support.
	* i386/i386/fpu.c (fpintr): Remove PS2 from #if.
	* i386/i386/gdt.c [PS2] (abios_int_return, abios_th_return, intstack):
	Remove extern declarations.
	* i386/i386/gdt.h [PS2] (ABIOS_INT_RET, ABIOS_TH_RET, ABIOS_INT_SS)
	(ABIOS_TH_SS, ABIOS_FIRST_AVAIL_SEL): Remove macros.
	(GDTSZ): Remove PS2 case.
	* i386/i386/hardclock.c [PS2]: Don't include `i386/pic.h' and
	`i386/pio.h'.
	(hardclock): Remove PS2 prototype and code.
	* i386/i386/locore.S (RET_OFFSET): Remove PS2 stack layout.
	* i386/i386/pic.c (picinit): Remove #ifdef PS2.
	* i386/i386/pic.h: Remove PS2 from #if.
	* i386/i386/pit.c [PS2] (clock_int_handler): Remove extern declaration.
	Don't include `sys/types.h' and `i386ps2/abios.h'.
	(clock_request_block, clock_flags, cqbuf): Remove variables.
	(clkstart): Remove call to abios_clock_start function.
	(COUNT): Don't define.
	(abios_clock_start, ackrtclock): Remove functions.
	* i386/i386/pit.h: Remove PS2 from #if.

2006-10-26  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.in: Regenerate.

	[task #5956 -- Automake'ify GNU Mach's code base]

	* Makefrag.am (gnumach.msgids): Remove repetition.
	* Makerules.am (%.server.msgids, %.user.msgids): Targets renamed from
	`%.msgids'.  Also consider MIGCOMSFLAGS respective MIGCOMUFLAGS.
	Thanks to Guillem Jover and Leonardo Lopes Pereira for reporting this.

	The Automake build system wants us to have these files in the rcs, so
	do that.
	* doc/mach.info: New file, generated.
	* doc/mach.info-1: Likewise.
	* doc/mach.info-2: Likewise.
	* doc/stamp-vti: Likewise.
	* doc/version.texi: Likewise.

2006-10-18  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.in: Regenerate.

	Install `PREFIX/share/msgids/gnumach.msgids'.
	* Makerules.am (%.msgids): Two new rules.
	* Makefrag.am (MOSTLYCLEANFILES): Add `gnumach.msgids'.
	(gnumach.msgids): New rule.
	(exec_msgidsdir, exec_msgids_DATA): New variables.

2006-10-16  Thomas Schwinge  <tschwinge@gnu.org>

	* configure: Regenerate.

	[bug #18011 -- `make install-data' will build the
	``to-be-generated files'']
	* config.status.dep.patch: Do an educated guess instead of using the
	`Makefile'.
	* configure.ac <config.status.dep.patch>: Update description.

2006-10-15  Thomas Schwinge  <tschwinge@gnu.org>

	* configure: Regenerate.

	* configure.ac: Update texts snippets: GNU Automake 1.10 has just been
	released.

	* i386/include/Makefile.in: Remove unused file.  Thanks to Guillem
	Jover for spotting this.

	[task #5956 -- Automake'ify GNU Mach's code base]

	* configure: Regenerate.

	* configure.ac <config.status.dep.patch>: Point to [bug #18011 --
	`make install-data' will build the ``to-be-generated files''].

	* Makefile.in: Regenerate.

	* Makefrag.am (include_mach_exec): Rename to `include_mach_eXec'.

	* Makefile.in: New file, generated by `autoreconf'.
	* config.h.in: Likewise.
	* configure: Updated file, generated by `autoreconf'.

	* INSTALL: File updated, thanks to `autoreconf'.
	* aclocal.m4: Likewise.

	* build-aux/compile: New file, thanks to `autoreconf'.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/depcomp: Likewise.
	* build-aux/install-sh: Likewise.
	* build-aux/mdate-sh: Likewise.
	* build-aux/missing: Likewise.
	* build-aux/texinfo.tex: Likewise.

	* AUTHORS: New file, copy from the MIG repository.

	* 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.

	* Makefile.am: New file.
	* Makerules.am <configure's findings, System dependent Makerules>
	<Compilation flags, Dependency generation, Autoconf support>: Remove
	sections.
	<Building from foo.cli, Building from foo.srv>: Rewrite:
	(%.server.defs.c, %.user.defs.c, %.server.h %.server.c)
	(%.user.h %.user.c, %.server.defs, %.user.defs): New targets.
	(%.h %_user.c %.cli.d, %_interface.h %_server.c %.srv.d): Remove
	targets.
	(echo-%): New target.
	* Makefrag.am <configure's findings, Rules, Kernel Image, Installation>
	<Building the distribution, Autoconf support, Makerules>: Remove
	sections.
	(enable_kdb, enable_kmsg): Adapt.
	<All the source in each directory>
	<Header files installed for user use>: Rewrite to adapt to how things
	are to be done now.
	<Automatically generated source files>: New section.
	(i386/Makefrag.am): Include file if appropriate.
	* i386/Makefrag.am <configure's findings, Rules, Installation>
	<Autoconf support, Makerules>: Remove sections.
	(enable_lpr): Adapt.
	<Source files for any i386 kernel>: Rewrite to adapt to how things are
	to be done now.
	* i386/linux/Makefrag.am: New file.
	* linux/Makefrag.am: Likewise.

	* Makefile.in: Move file...
	* Makefrag.am: ... here.
	* i386/Makefile.in: Move file...
	* i386/Makefrag.am: ... here.
	* i386/linux/Makefile.in: Remove file.

	* doc/Makefile.in: Remove file.
	* doc/Makefrag.am: New file.
	* tests/Makefrag.am: Likewise.
	* tests/test-mbchk.in: Likewise.

	* configfrag.ac: New file.
	* tests/configfrag.ac: Likewise.
	* Makerules.am (DEFINES): Convert those into...
	* configfrag.ac: ... AC_DEFINE instantiations.
	* i386/Makerules.in (DEFINES): Convert those into...
	* i386/configfrag.ac: ... AC_DEFINE instantiations.
	* i386/Makerules.in: Remove file.
	* i386/configfrag.ac (AC_PREREQ, AC_INIT, AC_CONFIG_SRCDIR)
	(AC_CONFIG_SUBDIRS, AC_CONFIG_FILES, AC_OUTPUT): Don't invoke.
	(../version.m4): Don't include.
	(--disable-lpr): Rework configuration option.
	(--disable-default-device-drivers): Move configuration option to...
	* configfrag.ac: ... here.
	* configure.ac (AC_CONFIG_AUX_DIR, AM_INIT_AUTOMAKE): Instantiate.
	(AC_PREFIX_DEFAULT, AC_CONFIG_SUBDIRS): Don't invoke.
	<Output variable `systype'>: Rework the whole section.
	<Options> (--enable-kdb, --disable-kmsg): Move into `configfrag.ac' and
	adapt.
	<Programs> (AM_PROG_AS, AM_PROG_CC_C_O): Instantiate.
	(AC_CHECK_PROG): Move instantiation searching for a `mbchk' program
	into `tests/configfrag.ac'.
	(AC_CHECK_PROG): Instantiate to search for a `patch' program.
	<configure fragments> (tests/configfrag.ac, configfrag.ac)
	(linux/configfrag.ac): Include files.
	(i386/configfrag.ac): Include file if appropriate.
	(AC_CONFIG_HEADER): Instantiate for `config.h'.
	(AC_CONFIG_FILES): Remove `Makerules' and `doc/Makefile'.
	(AC_CONFIG_COMMANDS_POST): Instantiate for `config.status.dep.patch'.
	(AC_CONFIG_COMMANDS): Instantiate for
	`Makefile.correct_output_files_for_.S_files.patch' and (the
	nonexistent) `Makefile.dependency_tracking_for_.S_files.patch'.
	* Makefile.dependency_tracking_for_.S_files.patch: New file.
	* config.status.dep.patch: Likewise.
	* bogus/bootstrap_symbols.h: Remove file.
	* configfrag.ac: AC_DEFINE `BOOTSTRAP_SYMBOLS' to `0'.
	* bogus/cpus.h: Remove file.
	* configfrag.ac: AC_DEFINE `NCPUS' to `1'.  AH_TEMPLATE
	`MULTIPROCESSOR'.
	* bogus/fast_tas.h: Remove file.
	* configfrag.ac: AC_DEFINE `FAST_TAS' to `0'.
	* bogus/hw_footprint.h: Remove file.
	* configfrag.ac: AC_DEFINE `HW_FOOTPRINT' to `0'.
	* bogus/mach_counters.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_COUNTERS' to `0'.
	* bogus/mach_debug.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_DEBUG' to `1'.
	* bogus/mach_fixpri.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_FIXPRI' to `1'.
	* bogus/mach_host.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_HOST' to `0'.
	* bogus/mach_ipc_compat.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_IPC_COMPAT' to `1'.
	* bogus/mach_ipc_debug.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_IPC_DEBUG' to `1'.
	* bogus/mach_ipc_test.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_IPC_TEST' to `0'.
	* bogus/mach_kdb.h: Remove file.
	* configfrag.ac (--disable-kdb): AC_DEFINE `MACH_KDB' to `0'.
	* bogus/mach_ldebug.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_LDEBUG' to `0'.
	* bogus/mach_lock_mon.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_LOCK_MON' to `0'.
	* bogus/mach_machine_routines.h: Remove file.
	* configfrag.ac: Add comment about not AC_DEFINEing
	`MACH_MACHINE_ROUTINES' to `0'.
	* bogus/mach_mp_debug.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_MP_DEBUG' to `0'.
	* bogus/mach_pagemap.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_PAGEMAP' to `1'.
	* bogus/mach_pcsample.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_PCSAMPLE' to `1'.
	* bogus/mach_ttd.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_TTD' to `0'.
	* bogus/mach_vm_debug.h: Remove file.
	* configfrag.ac: AC_DEFINE `MACH_VM_DEBUG' to `1'.
	* bogus/power_save.h: Remove file.
	* configfrag.ac: AC_DEFINE `POWER_SAVE' to `1'.
	* bogus/simple_clock.h: Remove file.
	* configfrag.ac: AC_DEFINE `SIMPLE_CLOCK' to `0'.
	* bogus/stat_time.h: Remove file.
	* configfrag.ac: AC_DEFINE `STAT_TIME' to `1'.
	* bogus/xpr_debug.h: Remove file.
	* configfrag.ac: AC_DEFINE `XPR_DEBUG' to `1'.
	* i386/bogus/com.h: Remove file.
	* i386/configfrag.ac: AC_DEFINE `NCOM' to `4'.
	* i386/bogus/fpe.h: Remove file.
	* i386/configfrag.ac: AC_DEFINE `FPE' to `0'.
	* i386/bogus/lpr.h: Remove file.
	* i386/configfrag.ac: AC_DEFINE `NLPR' to `1'.
	* i386/bogus/mach_machine_routines.h: Remove file.
	* i386/configfrag.ac: AC_DEFINE `MACH_MACHINE_ROUTINES' to `1'.
	* i386/bogus/platforms.h: Remove file.
	* i386/configfrag.ac: AC_DEFINE `AT386' to `1'.
	* i386/bogus/rc.h: Remove file.
	* i386/configfrag.ac: AC_DEFINE `RCLINE' to `-1' and `RCADDR' to `0x3f8'.

	* Makerules.in: Move file...
	* Makerules.am: ... here.

	* linux/configfrag.ac (AC_PREREQ, AC_INIT, AC_CONFIG_SRCDIR)
	(AC_CONFIG_HEADER, AC_CANONICAL_HOST, hurd_SYSTYPE, AC_CONFIG_FILES)
	(AC_OUTPUT): Don't invoke.
	(../../version.m4, ../../Drivers.macros, ../../aclocal.m4): Don't
	include.
	<case "$host_cpu">: Only evaluate for i386.
	(--disable-default-device-drivers): Remove configuraion option.
	(LINUX_DEV, __KERNEL__): AC_DEFINE these.
	(scsi, net, pcmcia, wireless): Remove AC_DRIVER_CLASS instantiations.
	(device_driver_group): New shell function.
	(AC_OPTION, AC_OPTION_nodef): New functions.
	(linux_DRIVER): Rename function to AC_Linux_DRIVER and adapt.
	(linux_DRIVER_nodef): Likewise to AC_Linux_DRIVER_nodef.
	<Configuration options>: Adapt to the new functions introduced above
	and re-position parts.
	<Process device driver groups>: Adapt to the changes related to device
	driver groups.
	* linux/configure.in <AC_CONFIG_LINKS>: Move to...
	* linux/configfrag.ac: ... here.
	* linux/configure.in: Remove file.
	* linux/configure: Likewise.
	* i386/linux/Makerules.in: Likewise.
	* Drivers.macros: Likewise.

	* i386/linux/configure.ac: Move file...
	* linux/configfrag.ac: ... here.
	* i386/linux/configure: Remove file.
	* i386/linux/device-drivers.h.in: Likewise.

	* i386/configure.in: Move file...
	* i386/configfrag.ac: ... here.
	* i386/configure: Remove file.

	* config.guess: Remove file.
	* config.sub: Likewise.
	* install-sh: Likewise.

	* i386/Files: Remove file.
	* i386/Subdirs: Likewise.
	* linux/Files: Likewise.
	* linux/Subdirs: Likewise.

2006-10-13  Thomas Schwinge  <tschwinge@gnu.org>

	* configure.in: Move file...
	* configure.ac: ... here.

	* 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.

	* configure: Regenerate.
	* i386/configure: Likewise.
	* i386/linux/configure: Likewise.
	* linux/configure: Likewise.

2006-10-12  Thomas Schwinge  <tschwinge@gnu.org>

	* version.m4 (AC_PACKAGE_VERSION): Let's name it `1.3.99'.

	* configure: Regenerate.
	* i386/configure: Likewise.
	* i386/linux/configure: Likewise.
	* linux/configure: Likewise.

	* version.m4: Rewrite.
	* configure.in: Adapt to the above.
	* i386/configure.in: Likewise.
	* i386/linux/configure.ac: Likewise.
	* linux/configure.in: Likewise.

2006-10-09  Thomas Schwinge  <tschwinge@gnu.org>

	* ddb/tr.h: Insert the content of `bogus/mach_assert.h' instead of
	including it.
	* i386/i386/loose_ends.c: Likewise.
	* bogus/mach_assert.h: Remove file.

	* bogus/panic.c: Remove file.

	* linux/src/drivers/scsi/in2000.c (in2000_proc_info) [PROC_INTERFACE]:
	Don't consider `__DATE__' and `__TIME__'.

2006-10-08  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/dev/drivers/scsi/scsi.h: Move file...
	* linux/src/drivers/scsi/scsi.h: ... here, overwriting the old file.

	* linux/dev/drivers/scsi/seagate.c: Move file...
	* linux/src/drivers/scsi/seagate.c: ... here, overwriting the old file.

	* linux/dev/drivers/scsi/aha152x.c: Move file...
	* linux/src/drivers/scsi/aha152x.c: ... here, overwriting the old file.

	* linux/dev/drivers/scsi/sr.c: Move file...
	* linux/src/drivers/scsi/sr.c: ... here, overwriting the old file.

	* linux/dev/drivers/scsi/sd_ioctl.c: Move file...
	* linux/src/drivers/scsi/sd_ioctl.c: ... here, overwriting the old file.

	* linux/dev/drivers/scsi/sd.c: Move file...
	* linux/src/drivers/scsi/sd.c: ... here, overwriting the old file.

	* linux/dev/drivers/scsi/hosts.c: Remove file.
	* linux/dev/drivers/scsi/scsi.c: Likewise.

	* linux/dev/drivers/block/ide.c: Move file...
	* linux/src/drivers/block/ide.c: ... here, overwriting the old file.

	* linux/dev/drivers/block/ide-cd.c: Remove file.
	* linux/src/drivers/block/ide-cd.c (cdrom_sleep): Don't define function
	`#ifndef MACH'.

2006-10-07  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/linux/configure: Regernerate.
	* i386/linux/device-drivers.h.in: Likewise.

	* Drivers.macros (AC_DRIVER, AC_DRIVER_nodef): Rewrite to allow options
	with dashes in them, make it usable more universally and enhance the
	generated comments in header files.
	* i386/linux/configure.ac (linux_DRIVER, linux_DRIVER_nodef): Enhance
	DESCRIPTION.
	(u1434f): Rename to `u14-34f'.
	(smcultra): Rename to `smc-ultra'.
	(smcultra32): Rename to `smc-ultra32'.
	(hpplus): Rename to `hp-plus'.
	(ne2kpci): Rename to `ne2k-pci'.
	(viarhine): Rename to `via-rhine'.
	(intelgige): Rename to `intel-gige'.
	(winbond840): Rename to `winbond-840'.
	(AC_PCMCIA_OPTION): Remove function.
	(pcmcia-isa): Use `AC_DRIVER' instead of `AC_PCMCIA_OPTION'.
	* i386/README-Drivers: Update accordingly.

2006-10-03  Thomas Schwinge  <tschwinge@gnu.org>

	[task #5941 -- Linker script for GNU Mach]

	* Makefile.in (kernel.o): Remove `$(systype)-objfiles-prepend' hackery.
	* i386/Makefile.in (sysdep.a): Likewise.
	* i386/Makerules.in: Likewise.
	(LDFLAGS-kernel): Point to the linker script.
	* i386/i386at/boothdr.S (_start): Don't put into `.text', but into
	`.text.start' instead.
	* i386/ldscript: Change to put `.text' at 0x100000 and put
	`.text.start' first into `.text'.

	* i386/ldscript: New file, copied from `/lib/ldscripts/elf_i386.x' of a
	GNU Binutils 2.16.1 installation.

2006-09-25  Stefan Siegl  <stesie@brokenpipe.de>

	* linux/dev/glue/net.c (device_get_status): Reworked to not read
	from STATUS.  Fill `struct iw_point' correctly if necessary.

2006-09-23  Stefan Siegl  <stesie@brokenpipe.de>

	* i386/linux/configure: Regenerate.
	* i386/linux/device-drivers.h.in: Likewise.

	* i386/linux/configure.ac (AC_PCMCIA_OPTION): New function.
	(--disable-pcmcia-isa): New configuration option to disable ISA-bus
	support in the pcmcia core, which is otherwise enabled now by default.
	* doc/mach.texi (Configuration): Briefly document the new configuration
	option.
	* i386/README-Drivers: Likewise.

2006-09-20  Thomas Schwinge  <tschwinge@gnu.org>

	* configure: Regenerate.
	* i386/configure: Likewise.
	* i386/linux/configure: Likewise.
	* i386/linux/device-drivers.h.in: Likewise.

	* Drivers.macros (AC_DRIVER_ALIAS): Remove definition.
	(AC_DRIVER): Extend to take a `description' parameter and consider
	`$enable_default_device_drivers'.
	(AC_DRIVER_nodef): New definition.
	* configure.in (options kdb, kmsg): Remove redundancy.
	* i386/configure.in (option default-device-drivers): New option.
	(option lpr): Consider `$enable_default_device_drivers'.
	* i386/linux/configure.ac: Rework substantially.  Remove all aliases.
	Rename some of the device driver options.
	(option default-device-drivers): New option.
	(linux_DRIVER): Take care about a `description' parameter and don't
	invoke AC_DRIVER_ALIAS.
	(linux_DRIVER_nodef): New definition.
	Adapt all usages of AC_DRIVER and linux_DRIVER to provide a
	`description' parameter.
	(g_NCR5380, NCR53c406a, eata_dma, wavelan, atp): Change from AC_DRIVER
	to AC_DRIVER_nodef to have these device drivers disabled by default.
	* doc/mach.texi: Add a note about the outdatedness to the configuration
	option table.
	* i386/README-Drivers: Update.

2006-09-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[bug #17338 -- GNU Mach vs. GCC 4.1]
	* i386/i386/seg.h (struct pseudo_descriptor): Pack structure and
	move the padding field to the end.
	(lgdt): Pass the whole structure to the lgdt assembly command.
	(lidt): Likewise.

2006-08-06  Thomas Schwinge  <tschwinge@gnu.org>

	* DEVELOPMENT: Update.

2006-07-31  Stefan Siegl  <stesie@brokenpipe.de>

	* doc/mach.texi (Configuration): Document the new PCMCIA drivers a bit
	more.
	* i386/README-Drivers: Likewise.

2006-07-27  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/linux/configure: Regenerate.

	* i386/linux/configure.ac: Pull in the pcmcia code only if really
	needed.

	* doc/mach.texi (Configuration): Very briefly document the new drivers.
	* i386/README-Drivers: Likewise.

	* linux/dev/include/linux/types.h (_MACH_SA_SYS_TYPES_H_): Define.

	* i386/linux/configure: Regenerate.
	* i386/linux/device-drivers.h.in: Likewise.

2006-07-27  Stefan Siegl  <stesie@brokenpipe.de>

	* i386/linux/configure.ac (pcmcia, wireless): New driver classes.
	(i82365, 3c574_cs, 3c589_cs, axnet_cs, fmvj18x_cs, nmclan_cs, pcnet_cs)
	(smc91c92_cs, xirc2ps_cs, orinoco_cs): New drivers.
	* i386/linux/Makefile.in (linux-pcmcia-cs-modules-files)
	(linux-pcmcia-cs-clients-files, linux-pcmcia-cs-wireless-files): New
	variables.  Add `vpath's to the files locations.
	(all-linux-files): Add the three new variables.
	(linux-pcmcia-cs-modules-flags, linux-pcmcia-cs-clients-flags)
	(linux-pcmcia-cs-wireless-flags): New variables.
	(linux-flags): Add code to handle the above files and flags.

	* i386/i386at/i386at_ds_routines.c (emulation_list)
	[LINUX_DEV && CONFIG_INET && CONFIG_PCMCIA]: Add the Linux pcmcia
	emulation structure.
	* linux/dev/glue/net.c: Include <linux/wireless.h>.
	(device_get_status): Rewrite function.
	(device_set_status): New function.
	(linux_net_emulation_ops): Add `device_set_status' at the appropriate
	position.
	* linux/dev/init/main.c (linux_init) [CONFIG_PCMCIA]: Call pcmcia_init.

	* linux/pcmcia-cs/glue/ds.c: New file.
	* linux/pcmcia-cs/glue/pcmcia.c: Likewise.
	* linux/pcmcia-cs/glue/pcmcia_glue.h: Likewise.
	* linux/pcmcia-cs/glue/wireless_glue.h: Likewise.

	* linux/pcmcia-cs/clients/xirc2ps_cs.c (busy_loop): Replace the code by
	a call to __udelay.
	* linux/pcmcia-cs/include/linux/init.h: Adapt to our Linux environment.
	* linux/pcmcia-cs/include/linux/slab.h: Use `#include', not
	`#include_next'.
	* linux/pcmcia-cs/include/pcmcia/mem_op.h: Adapt to our Linux
	environment and fix GCC 4.0 complaints.
	* linux/pcmcia-cs/include/pcmcia/version.h: Always assume that
	CONFIG_PCMCIA is not defined.
	* linux/pcmcia-cs/modules/cs.c (init_pcmcia_cs): Don't make it static.
	* linux/pcmcia-cs/modules/ds.c: Use some magic to avoid duplicate
	definition `io_req_t'.
	(ds_open, ds_release, ds_read, ds_write, ds_select, ds_poll, ds_fops):
	Hide functions if MACH is defined.
	Likewise for the module handling code.
	(ds_ioctl): Use plain `memcpy' if MACH is defined.
	(init_pcmcia_ds): Don't register charcater devices if MACH is defined.
	Include "../glue/ds.c".
	* linux/pcmcia-cs/modules/i82365.c (test_irq): Adapt to GNU Mach.
	(init_i82365): Don't make it static.
	* linux/pcmcia-cs/modules/pci_fixup.c (pci_devices): Don't define if
	MACH is defined.
	* linux/pcmcia-cs/wireless/orinoco.c: Adapt to our Linux environment.

2006-07-27  Thomas Schwinge  <tschwinge@gnu.org>

	Import a number of files from the pcmcia-cs package, version 3.2.8,
	available from <http://pcmcia-cs.sourceforge.net/>.

	* linux/pcmcia-cs/clients/3c574_cs.c: Import file.
	* linux/pcmcia-cs/clients/3c589_cs.c: Likewise.
	* linux/pcmcia-cs/clients/ax8390.h: Likewise.
	* linux/pcmcia-cs/clients/axnet_cs.c: Likewise.
	* linux/pcmcia-cs/clients/fmvj18x_cs.c: Likewise.
	* linux/pcmcia-cs/clients/nmclan_cs.c: Likewise.
	* linux/pcmcia-cs/clients/ositech.h: Likewise.
	* linux/pcmcia-cs/clients/pcnet_cs.c: Likewise.
	* linux/pcmcia-cs/clients/smc91c92_cs.c: Likewise.
	* linux/pcmcia-cs/clients/xirc2ps_cs.c: Likewise.
	* linux/pcmcia-cs/include/linux/crc32.h: Likewise.
	* linux/pcmcia-cs/include/linux/init.h: Likewise.
	* linux/pcmcia-cs/include/linux/slab.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/bulkmem.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/bus_ops.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/ciscode.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/cisreg.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/cistpl.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/cs.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/cs_types.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/driver_ops.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/ds.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/mem_op.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/ss.h: Likewise.
	* linux/pcmcia-cs/include/pcmcia/version.h: Likewise.
	* linux/pcmcia-cs/modules/bulkmem.c: Likewise.
	* linux/pcmcia-cs/modules/cirrus.h: Likewise.
	* linux/pcmcia-cs/modules/cistpl.c: Likewise.
	* linux/pcmcia-cs/modules/cs.c: Likewise.
	* linux/pcmcia-cs/modules/cs_internal.h: Likewise.
	* linux/pcmcia-cs/modules/ds.c: Likewise.
	* linux/pcmcia-cs/modules/ene.h: Likewise.
	* linux/pcmcia-cs/modules/i82365.c: Likewise.
	* linux/pcmcia-cs/modules/i82365.h: Likewise.
	* linux/pcmcia-cs/modules/o2micro.h: Likewise.
	* linux/pcmcia-cs/modules/pci_fixup.c: Likewise.
	* linux/pcmcia-cs/modules/ricoh.h: Likewise.
	* linux/pcmcia-cs/modules/rsrc_mgr.c: Likewise.
	* linux/pcmcia-cs/modules/smc34c90.h: Likewise.
	* linux/pcmcia-cs/modules/ti113x.h: Likewise.
	* linux/pcmcia-cs/modules/topic.h: Likewise.
	* linux/pcmcia-cs/modules/vg468.h: Likewise.
	* linux/pcmcia-cs/modules/yenta.h: Likewise.
	* linux/pcmcia-cs/wireless/hermes.c: Likewise.
	* linux/pcmcia-cs/wireless/hermes.h: Likewise.
	* linux/pcmcia-cs/wireless/hermes_rid.h: Likewise.
	* linux/pcmcia-cs/wireless/ieee802_11.h: Likewise.
	* linux/pcmcia-cs/wireless/orinoco.c: Likewise.
	* linux/pcmcia-cs/wireless/orinoco.h: Likewise.
	* linux/pcmcia-cs/wireless/orinoco_cs.c: Likewise.

2006-07-24  Thomas Schwinge  <tschwinge@gnu.org>

	* Makerules.in (%.h %_user.c): Add `%.cli.d' to the target list.
	Create these files by specifying `-MD' as a flag for mig and rename the
	resulting files as needed.
	Include these `*.cli.d' files instead of `*.migu.d' files.
	(%_interface.h %_server.c): Likewise for `%.srv.d' / `*.migs.d'.
	(%.migs.d, %.migu.d): Remove targets.
	* Makefile.in (clean): Adapt to the above.
	* i386/Makefile.in (clean): Likewise.

2006-06-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* i386/i386at/kd_mouse.c (mouse_char_in, mouse_char) Remove variables.
	(mouse_char_index) New variable.
	(mouse_handle_byte, kd_mouse_read): Use MOUSEBUF instead of MOUSE_CHAR
	for storing incoming command characters.
	(kd_mouse_read_reset): New function.
	(ibm_ps2_mouse_open, ibm_ps2_mouse_close): Call new kd_mouse_read_reset
	function.

2006-06-09  Stefan Siegl  <stesie@brokenpipe.de>

	* linux/dev/include/asm-i386/uaccess.h: New dummy file.
	* linux/dev/include/linux/pm.h: Likewise.
	* linux/dev/include/linux/threads.h: Likewise.
	* linux/src/include/linux/symtab_begin.h: New file from Linux 2.0.40.
	* linux/src/include/linux/symtab_end.h: Likewise.
	* linux/src/include/linux/module.h: Update from Linux 2.0.40 with minor
	changes.
	* linux/src/include/linux/list.h: New file from Linux 2.2.26.
	* linux/src/include/linux/kcomp.h: Likewise with minor changes.
	* linux/src/include/linux/wait.h: Update from Linux 2.2.26.
	* linux/src/include/linux/wireless.h: Likewise.
	* linux/src/include/asm-i386/bitops.h [__KERNEL__] (ffs, hweight32)
	(hweight16, hweight8): Copy from Linux 2.2.26.

	* kern/printf.c (_doprnt): Support printing of pointer addresses.

2006-05-14  Roland McGrath  <roland@frob.com>

	[sync from HEAD, 2002-06-17]
	* device/if_hdr.h: Replace ancient UCB copyright terms with current
	approved UCB terms.
	* include/sys/reboot.h: Likewise.
	* include/device/disk_status.h: Likewise.
	* include/device/tape_status.h: Likewise.
	* device/net_io.c: Remove advertising clause from UCB copyright terms.
	* include/device/audio_status.h: Likewise.
	* include/device/bpf.h: Likewise.

2006-05-14  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/i386at/autoconf.c (bus_device_init) <lpr> [! LINUX_DEV]: Depend
	on `MACH_LPR' instead.
	* i386/i386at/lpr.c: Fix obsolescent `#else' / `#endif' syntax.

2006-05-12  Stefan Siegl  <stesie@brokenpipe.de>

	* linux/dev/glue/kmem.c (vfree): Panic if `vmalloc_list_lookup' did
	NOT succeed.

2006-05-08  Thomas Schwinge  <tschwinge@gnu.org>

	* DEVELOPMENT: Document Samuel's patch.

2006-05-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[bug #7118 -- GNU Mach can't handle 1G memory]
	* i386/i386at/model_dep.c (mem_size_init): Limit memory to what can
	actually be used (minus a little extra for virtual mappings).
	* i386/intel/pmap.c (pmap_bootstrap): Extend the virtual mapping area
	according to memory size for at least being able to manage it.  But
	look out for wrap and limit it to kernel adresses.  Remove duplicate
	computing.

2006-04-27  Richard Braun  <syn@hurdfr.org>
	    Manuel Menal  <mmenal@hurdfr.org>

	* device/if_hdr.h (struct ifnet): Added new members `if_snd_port_list'
	and `if_snd_port_list_lock'.
	* device/net_io.c: Reworked to improve BPF support.  Filters can be
	applied to ingress packets, egress packets, or both.
	* device/subrs.c: Initialize the `if_snd_port_list' and
	`if_snd_port_list_lock'.
	* include/device/bpf.h [0]: Enable unconditionally.
	Include <sys/types.h>.
	(BPF_IN, BPF_OUT): New macros.
	* include/device/net_status.h (NETF_TYPE_MASK, NETF_IN, NETF_OUT): New
	macros.
	(struct net_rcv_msg): New member `sent'.
	* linux/dev/glue/net.c: Mark ingress packets as received and inject
	egress packets into the packet filters.

2006-04-26  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.in: Replace `make' with `$(MAKE)'.
	* i386/Makefile.in: Likewise.
	Reported by Leonardo Lopes Pereira <leonardolopespereira@gmail.com>.

2006-04-08  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/Makefile.in (INCLUDES): Don't add `$(srcdir)/bogus'.
	* i386/Makerules.in (INCLUDES): Add
	`$(abs_top_srcdir)/$(systype)/bogus'.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.

2006-04-02  Thomas Schwinge  <tschwinge@gnu.org>

	* Makerules.in (%_user.c, %_server.c): Those are `.PRECIOUS'.
	(%.migs.d, %.migu.d): New targets.
	(%.migs_d, %.migu_d, %.migsh_d, %.miguh_d): Remove targets.
	Adapt the `include's to the renamed targets.
	* Makefile.in (clean): Adapt to the renamed targets.
	* i386/Makefile.in (clean): Likewise.

	* i386/Makefile.in (boothdr.o): New target.

2006-03-21  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.in (clean): Also remove `kernel.gz', `kernel.stripped' and
	`kernel.stripped.gz'.

	* Makefile.in (kernel.o): Handle `$(systype)-objfiles-prepend'.
	* i386/Makefile.in (sysdep.a): Likewise.
	* i386/Makerules.in (kernel-objfiles-prepend): Transform variable into
	`$(systype)-objfiles-prepend'.
	(kernel.o): Remove target.

2006-03-20  Thomas Schwinge  <tschwinge@gnu.org>

	* 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 -- remove of unused / unsuported functions of
	gnumach-1-branch]
	* 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
	adapt 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.

2006-03-19  Thomas Schwinge  <tschwinge@gnu.org>

	* DEVELOPMENT: Document the FIPC removal.

2006-03-19  Leonardo Lopes Pereira  <leonardolopespereira@gmail.com>

	Remove unused and unsupported code.  Consult the file `DEVELOPMENT'
	for details.

	[patch #4982 -- remove of unused / unsuported functions of
	gnumach-1-branch]
	* 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.

2006-03-15  Thomas Schwinge  <tschwinge@gnu.org>

	* configure.in: Check for strip and gzip.
	* configure: Regenerated.
	* Makerules.in (GZIP, STRIP): New variables.
	(%.gz, %.stripped): New targets.

2006-03-04  Roland McGrath  <roland@frob.com>

	* Makefile.in (DEFS): Substitute once and use the variable elsewhere.

2006-03-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[patch #4737 -- User TSS fixup]
	* i386/i386/iopb.c: Include "vm_param.h".
	(io_tss_init): Fix address and limit of user TSS.

2006-03-04  Thomas Schwinge  <tschwinge@gnu.org>

	Remove unused and unsupported code.  Consult the file
	`DEVELOPMENT' for details.  Partly based on suggestions by
	Gianluca Guida <glguida@gmail.com>.

	* i386/bogus/par.h: Remove file.
	* i386/i386at/if_par.c: Likewise.
	* i386/i386at/if_par.h: Likewise.
	* i386/i386at/conf.c: Don't include <par.h> anymore and adapt all users
	of NPAR as if it were always defined to `0'.
	* i386/i386at/lpr.c: Likewise.

	* i386/bogus/de6c.h: Remove file.
	* i386/i386at/if_de6c.c: Likewise.
	* i386/i386at/if_de6c.h: Likewise.
	* i386/i386at/if_de6s.S: Likewise.
	* i386/i386at/conf.c: Don't include <de6c.h> anymore and adapt all
	users of NDE6C as if it were always defined to `0'.
	* i386/i386at/lpr.c: Likewise.

2006-02-20  Thomas Schwinge  <tschwinge@gnu.org>

	Remove unused and unsupported code.  Consult the file
	`DEVELOPMENT' for details.  Partly based on suggestions by
	Gianluca Guida <glguida@gmail.com>.

	* i386/bogus/blit.h: Remove file.
	* i386/i386at/blit.c: Likewise.
	* i386/i386at/blitreg.h: Likewise.
	* i386/i386at/blituser.h: Likewise.
	* i386/i386at/blitvar.h: Likewise.
	* i386/i386at/conf.c: Don't include <blit.h> anymore and adapt all
	users of NBLIT as if it were always defined to `0'.
	* i386/i386at/kd.c: Likewise.
	(blit_init): Remove definition.
	(blit_present): Likewise and adapt all users as if it were always
	defined to `FALSE'.
	* i386/Makefile.in (i386at-files): Remove `blit.c'.

	* bogus/net_atm.h: Remove file.
	* Makefile.in (bogus-files): Remove `net_atm.h'.
	* kern/syscall_sw.c: Don't include <net_atm.h> anymore and adapt all
	users of NET_ATM as if it were always defined to `0'.
	* kern/task.c: Likewise.
	* kern/task.h: Likewise.
	* kern/thread.c: Likewise.
	* kern/thread.h: Likewise.

	* util/about_to_die.c: Remove file.
	* util/config.h: Likewise.
	* util/cpu.c: Likewise.
	* util/cpu.h: Likewise.
	* util/cpu_init.c: Likewise.
	* util/cpu_subs.h: Likewise.
	* util/debug.h: Likewise.
	* util/die.c: Likewise.
	* util/phys_mem.h: Likewise.
	* util/ref_count.h: Likewise.
	* util/cpus.h: Move from here...
	* bogus/cpus.h: ... to here.
	* Makefile.in (bogus-files): Add `cpus.h'.
	(util-cfiles): Only contain `putchar.c' and `puts.c'.
	(util-files): Only contain `$(util-cfiles)'.

	* i386/util/NOTES: Remove file.
	* i386/util/anno.c: Likewise.
	* i386/util/anno.h: Likewise.
	* i386/util/cpu.h: Likewise.
	* i386/util/cpu_subs.h: Likewise.
	* i386/util/cpu_tables_init.c: Likewise.
	* i386/util/cpu_tables_load.c: Likewise.
	* i386/util/crtn.S: Likewise.
	* i386/util/debug.h: Likewise.
	* i386/util/gdt.c: Likewise.
	* i386/util/gdt.h: Likewise.
	* i386/util/gdt_sels.h: Likewise.
	* i386/util/i16/debug.h: Likewise.
	* i386/util/i16/i16.h: Likewise.
	* i386/util/i16/i16_die.c: Likewise.
	* i386/util/i16/i16_gdt_init_temp.c: Likewise.
	* i386/util/i16/i16_nanodelay.c: Likewise.
	* i386/util/i16/i16_puts.c: Likewise.
	* i386/util/i16/i16_writehex.c: Likewise.
	* i386/util/i386_asm.sym: Likewise.
	* i386/util/idt.c: Likewise.
	* i386/util/idt.h: Likewise.
	* i386/util/idt_inittab.S: Likewise.
	* i386/util/idt_inittab.h: Likewise.
	* i386/util/ldt.h: Likewise.
	* i386/util/trap.h: Likewise.
	* i386/util/trap_asm.sym: Likewise.
	* i386/util/trap_dump.c: Likewise.
	* i386/util/trap_dump_die.c: Likewise.
	* i386/util/trap_handler.S: Likewise.
	* i386/util/trap_return.S: Likewise.
	* i386/util/tss.c: Likewise.
	* i386/util/tss.h: Likewise.
	* i386/util/tss_dump.c: Likewise.
	* i386/util/vm_param.h: Likewise.

	* i386/pc/NOTES: Remove file.
	* i386/pc/debug.h: Likewise.
	* i386/pc/exit.c: Likewise.
	* i386/pc/gdt.h: Likewise.
	* i386/pc/gdt_sels.h: Likewise.
	* i386/pc/i16/i16_a20.c: Likewise.
	* i386/pc/i16/i16_a20.h: Likewise.
	* i386/pc/i16/i16_bios.h: Likewise.
	* i386/pc/i16/i16_exit.c: Likewise.
	* i386/pc/i16/i16_ext_mem.c: Likewise.
	* i386/pc/i16/i16_init.c: Likewise.
	* i386/pc/i16/i16_main.c: Likewise.
	* i386/pc/i16/i16_pic.c: Likewise.
	* i386/pc/i16/i16_putchar.c: Likewise.
	* i386/pc/i16/i16_raw.c: Likewise.
	* i386/pc/i16/i16_raw_test_a20.S: Likewise.
	* i386/pc/i16/i16_real_int.S: Likewise.
	* i386/pc/i16/i16_switch.h: Likewise.
	* i386/pc/i16/phys_mem_collect.c: Likewise.
	* i386/pc/i16/phys_mem_sources.h: Likewise.
	* i386/pc/i16/raw_exit.c: Likewise.
	* i386/pc/i16/raw_real_int.c: Likewise.
	* i386/pc/ipl.h: Likewise.
	* i386/pc/irq.h: Likewise.
	* i386/pc/irq_list.h: Likewise.
	* i386/pc/pc_asm.sym: Likewise.
	* i386/pc/phys_mem.h: Likewise.
	* i386/pc/phys_mem_add.c: Likewise.
	* i386/pc/pic.c: Likewise.
	* i386/pc/pic.h: Likewise.
	* i386/pc/putchar.c: Likewise.
	* i386/pc/real.h: Likewise.
	* i386/pc/real_tss.c: Likewise.
	* i386/pc/real_tss.h: Likewise.
	* i386/pc/real_tss_def.S: Likewise.
	* i386/pc/rv86/config.h: Likewise.
	* i386/pc/rv86/gdt_sels.h: Likewise.
	* i386/pc/rv86/idt_irq_init.c: Likewise.
	* i386/pc/rv86/rv86_real_int.c: Likewise.
	* i386/pc/rv86/rv86_real_int_asm.S: Likewise.
	* i386/pc/rv86/rv86_reflect_irq.S: Likewise.
	* i386/pc/rv86/rv86_trap_handler.S: Likewise.
	* i386/pc/rv86/trap_handler.S: Likewise.

	* i386/imps/Makefile.in: Remove file.
	* i386/imps/apic.h: Likewise.
	* i386/imps/cpu_number.h: Likewise.
	* i386/imps/cpus.h: Likewise.
	* i386/imps/imps.c: Likewise.
	* i386/imps/impsasm.sym: Likewise.

	* i386/dos/dos_buf.c: Remove file.
	* i386/dos/dos_check_err.c: Likewise.
	* i386/dos/dos_close.c: Likewise.
	* i386/dos/dos_fstat.c: Likewise.
	* i386/dos/dos_gettimeofday.c: Likewise.
	* i386/dos/dos_io.h: Likewise.
	* i386/dos/dos_open.c: Likewise.
	* i386/dos/dos_read.c: Likewise.
	* i386/dos/dos_rename.c: Likewise.
	* i386/dos/dos_seek.c: Likewise.
	* i386/dos/dos_tcgetattr.c: Likewise.
	* i386/dos/dos_unlink.c: Likewise.
	* i386/dos/dos_write.c: Likewise.
	* i386/dos/i16/gdt.h: Likewise.
	* i386/dos/i16/gdt_sels.h: Likewise.
	* i386/dos/i16/i16_crt0.S: Likewise.
	* i386/dos/i16/i16_crt0.h: Likewise.
	* i386/dos/i16/i16_dos.h: Likewise.
	* i386/dos/i16/i16_dos_mem.c: Likewise.
	* i386/dos/i16/i16_exit.c: Likewise.
	* i386/dos/i16/i16_main.c: Likewise.
	* i386/dos/i16/i16_putchar.c: Likewise.
	* i386/dos/i16/i16_vcpi.c: Likewise.
	* i386/dos/i16/i16_xms.c: Likewise.
	* i386/dos/i16/idt.h: Likewise.
	* i386/dos/i16/phys_mem_sources.h: Likewise.
	* i386/dos/putchar.c: Likewise.

	* chips/atm.c: Remove file.
	* chips/atmreg.h: Likewise.
	* chips/audio.c: Likewise.
	* chips/audio_config.h: Likewise.
	* chips/audio_defs.h: Likewise.
	* chips/bt431.c: Likewise.
	* chips/bt431.h: Likewise.
	* chips/bt455.c: Likewise.
	* chips/bt455.h: Likewise.
	* chips/bt459.c: Likewise.
	* chips/bt459.h: Likewise.
	* chips/bt478.c: Likewise.
	* chips/bt478.h: Likewise.
	* chips/build_font.c: Likewise.
	* chips/cfb_hdw.c: Likewise.
	* chips/cfb_misc.c: Likewise.
	* chips/dc503.c: Likewise.
	* chips/dc503.h: Likewise.
	* chips/dtop.h: Likewise.
	* chips/dtop_handlers.c: Likewise.
	* chips/dtop_hdw.c: Likewise.
	* chips/dz_7085.h: Likewise.
	* chips/dz_defs.h: Likewise.
	* chips/dz_hdw.c: Likewise.
	* chips/eccreg.h: Likewise.
	* chips/fb_hdw.c: Likewise.
	* chips/fb_misc.c: Likewise.
	* chips/fdc_82077.h: Likewise.
	* chips/fdc_82077_hdw.c: Likewise.
	* chips/frc.c: Likewise.
	* chips/ims332.c: Likewise.
	* chips/ims332.h: Likewise.
	* chips/isdn_79c30.h: Likewise.
	* chips/isdn_79c30_hdw.c: Likewise.
	* chips/kernel_font.c: Likewise.
	* chips/kernel_font.data: Likewise.
	* chips/lance.c: Likewise.
	* chips/lance.h: Likewise.
	* chips/lance_mapped.c: Likewise.
	* chips/lk201.c: Likewise.
	* chips/lk201.h: Likewise.
	* chips/mc_clock.c: Likewise.
	* chips/mc_clock.h: Likewise.
	* chips/mouse.c: Likewise.
	* chips/nc.c: Likewise.
	* chips/nc.h: Likewise.
	* chips/nw.h: Likewise.
	* chips/nw_mk.c: Likewise.
	* chips/nw_mk.h: Likewise.
	* chips/pm_defs.h: Likewise.
	* chips/pm_hdw.c: Likewise.
	* chips/pm_misc.c: Likewise.
	* chips/scc_8530.h: Likewise.
	* chips/scc_8530_hdw.c: Likewise.
	* chips/screen.c: Likewise.
	* chips/screen.h: Likewise.
	* chips/screen_defs.h: Likewise.
	* chips/screen_switch.c: Likewise.
	* chips/screen_switch.h: Likewise.
	* chips/serial_console.c: Likewise.
	* chips/serial_defs.h: Likewise.
	* chips/sfb_hdw.c: Likewise.
	* chips/sfb_misc.c: Likewise.
	* chips/spans.c: Likewise.
	* chips/spans.h: Likewise.
	* chips/tca100.c: Likewise.
	* chips/tca100.h: Likewise.
	* chips/tca100_if.c: Likewise.
	* chips/tca100_if.h: Likewise.
	* chips/vs42x_rb.h: Likewise.
	* chips/xcfb_hdw.c: Likewise.
	* chips/xcfb_misc.c: Likewise.
	* chips/xcfb_monitor.h: Likewise.
	* Makefile.in (chips-files): Only contain `busses.c' and `busses.h'.
	* kern/syscall_sw.c: Don't include <chips/nw_mk.h> anymore.

	* i386/i386at/asm_startup.h: Remove file.
	* i386/i386at/phys_mem_grab_page.c: Likewise.
	* i386/Makefile.in (i386at-files): Remove `phys_mem_grab_page.c'.

	* i386/bogus/evc.h: Remove file.
	* i386/i386at/kd.c: Don't include <evc.h> anymore and adapt all	users
	of NEVC as if it were always defined to `0'.
	(evc1init): Remove definition and adapt all users as if it were always
	defined to `FALSE'.

	* i386/bogus/nscsi.h: Remove file.
	* i386/i386at/model_dep.c: Don't include <nscsi.h> anymore and adapt
	all users of NSCSI as if it were always defined to `0'.
	(use_all_mem): Don't define anymore and adapt all users as if it were
	always defined to `1'.
	(NBBY, NBPW, DMA_MAX): Remove macros.
	(alloc_dma_mem): Remove function.

	* i386/bogus/asc.h: Remove file.
	* i386/bogus/aha.h: Likewise.
	* i386/bogus/eaha.h: Likewise.
	* i386/bogus/sbic.h: Likewise.
	* i386/bogus/sci.h: Likewise.
	* i386/bogus/sii.h: Likewise.
	* i386/bogus/siop.h: Likewise.
	* i386/i386at/eisa.h: Likewise.
	* scsi/adapters/README: Likewise.
	* scsi/adapters/scsi_33C93.h: Likewise.
	* scsi/adapters/scsi_33C93_hdw.c: Likewise.
	* scsi/adapters/scsi_5380.h: Likewise.
	* scsi/adapters/scsi_5380_hdw.c: Likewise.
	* scsi/adapters/scsi_53C700.h: Likewise.
	* scsi/adapters/scsi_53C700_hdw.c: Likewise.
	* scsi/adapters/scsi_53C94.h: Likewise.
	* scsi/adapters/scsi_53C94_hdw.c: Likewise.
	* scsi/adapters/scsi_7061.h: Likewise.
	* scsi/adapters/scsi_7061_hdw.c: Likewise.
	* scsi/adapters/scsi_89352.h: Likewise.
	* scsi/adapters/scsi_89352_hdw.c: Likewise.
	* scsi/adapters/scsi_aha15.h: Likewise.
	* scsi/adapters/scsi_aha15_hdw.c: Likewise.
	* scsi/adapters/scsi_aha17_hdw.c: Likewise.
	* scsi/adapters/scsi_dma.h: Likewise.
	* scsi/adapters/scsi_user_dma.c: Likewise.
	* scsi/adapters/scsi_user_dma.h: Likewise.
	* scsi/compat_30.h: Likewise.
	* scsi/disk_label.c: Likewise.
	* scsi/mapped_scsi.c: Likewise.
	* scsi/mapped_scsi.h: Likewise.
	* scsi/pc_scsi_label.c: Likewise.
	* scsi/rz.c: Likewise.
	* scsi/rz.h: Likewise.
	* scsi/rz_audio.c: Likewise.
	* scsi/rz_cpu.c: Likewise.
	* scsi/rz_disk.c: Likewise.
	* scsi/rz_disk_bbr.c: Likewise.
	* scsi/rz_host.c: Likewise.
	* scsi/rz_labels.h: Likewise.
	* scsi/rz_tape.c: Likewise.
	* scsi/scsi.c: Likewise.
	* scsi/scsi.h: Likewise.
	* scsi/scsi2.h: Likewise.
	* scsi/scsi_alldevs.c: Likewise.
	* scsi/scsi_comm.c: Likewise.
	* scsi/scsi_cpu.c: Likewise.
	* scsi/scsi_defs.h: Likewise.
	* scsi/scsi_disk.c: Likewise.
	* scsi/scsi_endian.h: Likewise.
	* scsi/scsi_jukebox.c: Likewise.
	* scsi/scsi_optical.c: Likewise.
	* scsi/scsi_printer.c: Likewise.
	* scsi/scsi_rom.c: Likewise.
	* scsi/scsi_scanner.c: Likewise.
	* scsi/scsi_tape.c: Likewise.
	* scsi/scsi_worm.c: Likewise.
	* i386/i386at/autoconf.c: Don't include <aha.h> and <eaha.h> anymore
	and adapt all users of NAHA and NEAHA as if it were always defined to
	`0'.
	* i386/i386at/conf.c: Likewise.
	* Makefile.in (scsi-files): Remove variable and all users of it.

	* i386/bogus/wt.h: Remove file.
	* i386/i386at/autoconf.c: Don't include <wt.h> anymore and adapt all
	users of NWT as if it were always defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* i386/bogus/hpp.h: Remove file.
	* i386/bogus/ul.h: Likewise.
	* i386/bogus/wd.h: Likewise.
	* i386/i386at/gpl/if_hpp.c: Likewise.
	* i386/i386at/gpl/if_ns.c: Likewise.
	* i386/i386at/gpl/if_nsreg.h: Likewise.
	* i386/i386at/gpl/if_ul.c: Likewise.
	* i386/i386at/gpl/if_wd.c: Likewise.
	* i386/i386at/autoconf.c: Don't include <hpp.h>, <ul.h> and <wd.h>
	anymore and adapt all users of NHPP, NUL and NWD as if they were always
	defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* i386/bogus/at3c501.h: Remove file.
	* i386/i386at/if_3c501.c: Likewise.
	* i386/i386at/if_3c501.h: Likewise.
	* i386/i386at/autoconf.c: Don't include <at3c501.h> anymore and adapt
	all users of NAT3C501 as if it were always defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* i386/bogus/ns8390.h: Remove file.
	* i386/i386at/ds8390.h: Likewise.
	* i386/i386at/if_3c503.h: Likewise.
	* i386/i386at/if_ns8390.c: Likewise.
	* i386/i386at/if_ns8390.h: Likewise.
	* i386/i386at/if_wd8003.h: Likewise.
	* i386/i386at/autoconf.c: Don't include <ns8390.h> anymore and adapt
	all users of NNS8390 as if it were always defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* i386/bogus/ne.h: Remove file.
	* i386/i386at/if_ne.c: Likewise.
	* i386/i386at/if_nereg.h: Likewise.
	* i386/i386at/autoconf.c: Don't include <ne.h> anymore and adapt all
	users of NNE as if it were always defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* i386/bogus/pc586.h: Remove file.
	* i386/i386at/i82586.h: Likewise.
	* i386/i386at/if_pc586.c: Likewise.
	* i386/i386at/if_pc586.h: Likewise.
	* i386/i386at/autoconf.c: Don't include <pc586.h> anymore and adapt all
	users of NPC586 as if it were always defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* i386/bogus/fd.h: Remove file.
	* i386/i386at/fd.c: Likewise.
	* i386/i386at/fdreg.h: Likewise.
	* i386/i386at/nfd.c: Likewise.
	* i386/i386at/nfdreg.h: Likewise.
	* i386/Makefile.in (i386at-files): Remove `fd.c'.
	* i386/i386at/autoconf.c: Don't include <fd.h> anymore and adapt all
	users of NFD as if it were always defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* i386/bogus/hd.h: Remove file.
	* i386/i386at/nhd.c: Likewise.
	* i386/i386at/nhdreg.h: Likewise.
	* i386/i386at/autoconf.c: Don't include <hd.h> anymore and adapt all
	users of NHD as if it were always defined to `0'.
	* i386/i386at/conf.c: Likewise.

	* DEVELOPMENT: New file.

2006-02-05  Thomas Schwinge  <tschwinge@gnu.org>

	* Makerules.in: Don't set no_deps to true if MAKECMDGOALS is empty.

2006-02-03  Thomas Schwinge  <tschwinge@gnu.org>

	* Makerules.in: Set no_deps to true if we don't need the dependency
	files.
	* i386/linux/Makefile.in: Do care about linux-flags if no_deps is true;
	reverting the change from 2006-01-31.

	* Makefile.in: Include Makerules through top_builddir, so that it will
	automatically be rebuilt if needed.

	* Makerules.in (CFLAGS): Added -fno-strict-aliasing.
	* i386/linux/Makefile.in (linux-gen-flags): Likewise.

2006-02-02  Sergio Lopez  <koro@sinrega.org>

	* linux/src/drivers/scsi/eata_pio.c (eata_pio_detect): Fix a
	off-by-one error when probing.
	* linux/src/drivers/scsi/eata_dma.c (eata_detect): Likewise.
	* linux/dev/drivers/scsi/eata_dma.c (eata_detect): Likewise.

	* linux/src/drivers/net/apricot.c (apricot_probe): Increase eth_addr
	size to 8 so we do not trash the stack when reading from the io ports.

2006-02-02  Thomas Schwinge  <tschwinge@gnu.org>

	* Makerules.in: Move a comment ...
	* Makefile.in: ... here.

2006-02-01  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/dev/drivers/block/genhd.c (add_bsd_partition): Only define if
	both MACH and CONFIG_BSD_DISKLABEL are defined.
	Reported by Matheus Morais <matheus.morais@gmail.com>.

2006-01-31  Thomas Schwinge  <tschwinge@gnu.org>

	Cleanup of GNU Mach's build system.  The system dependent parts are now
	handled by the respective Makefile and no longer by the top-level one.

	* configure, i386/configure, i386/linux/configure, linux/configure:
	Regenerated.

	* Makefile.in: Various cleanups.
	(mach/machine, mach_machine): Targets removed.
	(AWK, CC, CFLAGS, CPPFLAGS, DEFINES, INCLUDES, INSTALL, INSTALL_DATA)
	(INSTALL_PROGRAM, LD, MIG, MIGFLAGS, NM): Variables moved into
	Makerules.in.
	Do not include $(sysdep)/Makefrag anymore.
	(all, check, clean, distclean, mostlyclean, maintainer-clean, install)
	(install-headers, install-kernel): Recurse into the system dependent
	subdirectory.
	(check): Add a basic test using mbchk.
	(clean, distclean): Be more explicit in what to delete.
	($(systype)/%): New target.
	(kernel.o): Incorporate the system dependent archive.
	(installed-sysdep-headers-names, $(installed-sysdep-headers-names)):
	Variable and target moved into the system dependent Makefile.in.
	(install-headers, mkheaderdirs): Don't care for the system dependent
	header files.
	(%.symc, %.symc.o, %.h, %_user.c, %_interface.h, %_server.c): Targets
	moved into Makerules.in.
	Inclusion of dependency files: Likewise.
	(%.migs_d, %.migu_d, %.migsh_d, %.miguh_d, make-deps, %.d): Likewise.
	Include Makerules.
	* Makerules.in: New file, mainly based on Makefile.in.
	* configure.in: Do not substitute cross_compiling and not explicitly
	substitute LDFLAGS.
	Check for cpp, ranlib, ar and mbchk.
	Care for the mach/machine symbolic link.
	Add Makerules as a config file.
	* i386/Makefile.in: Various cleanups.
	Merge i386/Makefrag and the system dependent stuff from Makefile.in
	into this file.
	(all, check, install, install-headers, install-kernel): Recurse into
	the system dependent subdirectory.
	(sysdep.o): transformed to the new target sysdep.a.
	(linux/linux.o): Target removed.
	(clean, distclean): Be more explicit in what to delete.
	(linux/%): New target.
	(install-headers): Install the system dependent header files.
	(mkheaderdirs): New target.
	Include the top-level Makerules.
	* i386/Makefrag: File removed.
	* i386/Makerules.in: New file.
	* i386/configure.in: Synchronize AC_INIT to the top-level definition.
	Do not check for ld and make.
	Add Makerules as a config file.
	* i386/linux/Makefile.in: Various cleanups.
	Replace linux-objs with objfiles.
	(check, install, install-headers, install-kernel): New empty targets.
	Don't care about linux-flags if no_deps is true.
	Inclusion of dependency files removed and instead...
	Include the top-level Makerules.
	* i386/linux/Makerules.in: New file.
	* i386/linux/configure.ac: Synchronize AC_INIT to the top-level
	definition.
	Do not check for gcc and ld.
	Do not explicitly substitute LDFLAGS.
	Add Makerules as a config file.
	* linux/configure.in: Synchronize AC_INIT to the top-level definition.
	Do not create directories using a dummy file.
	* linux/dummy.in: File removed.

	* ddb/db_access.h: Include <machine/vm_param.h> instead of
	"vm_param.h".
	* kern/bootstrap.c: Likewise.
	* kern/thread.c: Likewise.
	* vm/vm_kern.c: Likewise.
	* vm/vm_object.c: Likewise.
	* vm/vm_resident.c: Likewise.

2006-01-26  Thomas Schwinge  <tschwinge@gnu.org>

	* config.guess: Updated from the canonical source.
	* config.sub: Likewise.

2006-01-26  Jeroen Dekkers  <jeroen@dekkers.cx>

	* i386/i386/locore.S (trap_push_segs): Switch fs and gs to kernel
	data segment too.
	(syscall_entry_2): Likewise.
	* i386/i386/user_ldt.c (i386_set_ldt): Always copy the master LDT
	when there is no old user LDT.

2006-01-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* linux/dev/arch/i386/kernel/irq.c (linux_intr): Disable interrupts
	if the driver requested it through request_irq().

	* linux/dev/drivers/block/ide.c (read_intr): Set the IRQ handler before
	issuing a request.
	(write_intr): Likewise.
	(multwrite_intr): Likewise.

2006-01-26  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/linux/Makefile.in: Automatically recreate the `Makefile'.

2006-01-23  Thomas Schwinge  <tschwinge@gnu.org>

	* i386/linux/configure: Regenerated.

	* i386/linux/configure.ac: Only add a AC_DRIVER_ALIAS if it really is a
	alias.

2006-01-22  Thomas Schwinge  <tschwinge@gnu.org>

	* doc/mach.texi (Configuration): Document the recently added drivers.
	* i386/README-Drivers: Likewise.

	* configure, i386/configure, i386/linux/configure, linux/configure,
	i386/linux/device-drivers.h.in: Regenerated.

	* linux/src/drivers/net/ne2k-pci.c: Resolve conflicts.

2006-01-22  Guillem Jover  <guillem@hadrons.org>

	* i386/linux/configure.ac: Renamed winbond-840 driver to winbond_840.
	Enable the starfire, intel_gige and natsemi network drivers.  Remove
	"CONFIG_" from cb_chim, starfire, sundance, winbond840, hamachi,
	natsemi, myson803 and ns820 driver declarations.  Replace INTER_GIGE
	with INTEL_GIGE.
	* linux/dev/drivers/net/Space.c: Add conditional probes for natsemi,
	ns820, winbond840, hamachi, sundance, starfire, myson803 and intel-gige
	drivers.

	* linux/src/include/asm-i386/cache.h: New file from linux 2.2.26.
	* linux/dev/include/linux/malloc.h: Include <asm/cache.h>.

	* linux/src/drivers/net/ns820.c (netsami_drv_id): Renamed to ...
	(ns820_drv_id): ... this.  Fix all callers.
	* linux/src/drivers/net/intel-gige.c
	(skel_netdev_probe): Renamed to ...
	(igige_probe): ... this.
	* linux/dev/drivers/net/eepro100.c: Remove obsoleted file.
	* linux/src/drivers/net/eepro100.c (pci_id_tbl): Add PCI ID's from
	linux-2.6.14-rc4.

2006-01-22  Alfred M. Szmidt  <ams@gnu.org>

	* i386/linux/configure.ac: Added `pci-scan.o' to the network driver
	class.  (ns820, myson803, sundance, winbond-840, hamachi): New drivers.
	* i386/linux/Makefile.in (linux-net-files): Added `cb_shim.c',
	`hamachi.c', `intel-gige.c', `myson803.c', `natsemi.c', `ns820.c',
	`starfire.c', `sundance.c', `winbond-840.c' and `pci-scan.c'.

	* linux/dev/include/linux/modversions.h: New file.

	* linux/src/drivers/net/cb_shim.c, linux/src/drivers/net/hamachi.c,
	linux/src/drivers/net/intel-gige.c, linux/src/drivers/net/myson803.c,
	linux/src/drivers/net/natsemi.c, linux/src/drivers/net/ns820.c,
	linux/src/drivers/net/starfire.c, linux/src/drivers/net/sundance.c,
	linux/src/drivers/net/winbond-840.c,
	linux/src/drivers/net/kern_compat.h, linux/src/drivers/net/pci-scan.c,
	linux/src/drivers/net/pci-scan.h: New files from netdrivers 3.5 package
	(http://www.scyld.com/network).

	* linux/src/drivers/net/3c59x.c, linux/src/drivers/net/eepro100.c,
	linux/src/drivers/net/epic100.c, linux/src/drivers/net/ne2k-pci.c,
	linux/src/drivers/net/rtl8139.c, linux/src/drivers/net/tulip.c,
	linux/src/drivers/net/via-rhine.c, linux/src/drivers/net/yellowfin.c:
	Updated files from netdrivers 3.5 (http://www.scyld.com/network).

2006-01-22  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/src/drivers/net/ne2k-pci.c (ne_block_input, ne_block_output):
	Fix previous patch.

2005-07-12  Guillem Jover  <guillem@hadrons.org>

	* configure: Regenerated.
	* i386/configure: Regenerated.

	* Drivers.macros (AC_DRIVER_CLASS): Use AH_TEMPLATE.
	(AC_DRIVER): Set the value for the AC_DEFINE and AC_DEFINE_UNQUOTED
	to 1.

	* aclocal.m4 (AC_PROG_CC_LOCAL, AC_PROG_CC_WORKS_LOCAL): Removed.
	* version.m4: New file.
	* Makefile.in: Use PACKAGE_VERSION, not VERSION.
	* doc/Makefile.in: Likewise.
	* version.c.in: Likewise. Use PACKAGE_NAME, not "GNUmach".
	* i386/linux/Makefile.in (configure): Change its source to
	configure.ac.

	* aclocal.m4: Add missing quotations.
	* Drivers.macros: Likewise.
	* configure.in: Likewise. Include version.m4 and use PACKAGE and
	VERSION m4 macros from it.
	* i386/configure.in: Likewise.
	(AC_INIT): Use new syntax and move source check to AC_CONFIG_SRCDIR.
	* i386/linux/configure.ac: Likewise. Use m4_sinclude, not sinclude.
	* linux/configure.in: Likewise.

	* i386/configure.in: Update AC_DEFINE to the new three argument form.
	* i386/linux/configure.ac: Move AC_DEFINE inside AC_ARG_ENABLE.

	* configure.in: Use AC_CONFIG_LINKS, not AC_LINK_FILES.
	* linux/configure.in: Likewise.

	* i386/configure.in: Call AC_CONFIG_FILES and use the new form of
	AC_OUTPUT.
	* i386/linux/configure.ac: Likewise.
	* linux/configure.in: Likewise

	* configure.in: Use AS_HELP_STRING in AC_ARG_ENABLE help strings.
	* Drivers.macros: Likewise.
	* i386/configure.in: Likewise.
	* i386/linux/configure.ac: Likewise.

2005-07-12  Neal H. Walfield  <neal@cs.uml.edu>

	* configure.in: Update to use autoconf 2.57.
	Do not error out if host_os is not GNU.
	Update AC_DEFINEs to the required three argument form.
	Don't call AC_CHECK_TOOL(CC, gcc) and AC_PROG_CC_LOCAL, just use
	AC_PROG_CC.
	AC_SUBST(LDFLAGS).
	Refactor AC_CONFIG_SUBDIRS to not do variable substitution.
	Call AC_CONFIG_FILES and use the new form of AC_OUTPUT.
	* i386/configure.in: Require autoconf 2.57.
	* linux/configure.in: Likewise.
	* i386/linux/Drivers.in: Move from here...
	* i386/linux/configure.ac: ... to here to conform to the
	environment autoreconf expects.
	(hurd_host_CPU): New macro.
	Call AC_PROG_CC, not AC_PROG_CC_LOCAL.
	AC_SUBST(LD_FLAGS).
	(flashpoint): Update AC_DEFINE to the new three argument form.
	* Drivers.macros (AC_DRIVER): Update AC_DEFINE to the new three
	argument form.

2005-05-24  Alfred M. Szmidt  <ams@gnu.org>

	* i386/include/mach/i386/asm.h (END): New macro.

	* i386/include/mach/i386/syscall_sw.h (kernel_trap): Call END.

2005-05-28  Alfred M. Szmidt  <ams@gnu.org>

	* linux/src/drivers/scsi/u14-34f.c (ihdlr): Silence gcc 4.x
	errors.
	* linux/src/drivers/scsi/qlogicisp.h: Likewise.
	* linux/src/drivers/scsi/advansys.c: Likewise.
	(advansys_reset, advansys_interrupt, asc_scsi_done_list,
	(asc_enqueue, asc_dequeue, asc_dequeue_list, asc_rmqueue,
	(asc_isqueued): Likewise.
	* linux/src/drivers/scsi/53c78xx.c (NCR53c7xx_queue_command):
	Likewise.
	* linux/src/drivers/net/ne2k-pci.c (ne_block_input)
	(ne_block_output): Likewise.
	* linux/src/drivers/net/hp100.c (__initfunc): Likewise.
	* linux/src/drivers/net/3c507.c (el16_interrupt): Likewise.
	* linux/dev/drivers/scsi/seagate.c (seagate_st0x_queue_command):
	Likewise.

2005-05-26  Alfred M. Szmidt  <ams@gnu.org>

	* device/cons.h (cn_tab) [KERNEL]: Removed extern declaration.

	* linux/dev/include/linux/fs.h (super_blocks): Declare as an
	pointer.

2005-02-10  Guillem Jover  <guillem@hadrons.org>

	* linux/dev/glue/block.c (rdwr_partial): Remove leftover assert.

2005-01-22  Guillem Jover  <guillem@hadrons.org>

	* linux/dev/include/linux/skbuff.h (skb_put, skb_push): Fix errors
	for deprecated use of labels at end of compound statements.
	* i386/i386/fpe_linkage.c (enable_fpe): Declare prototype.

2005-01-22  Guillem Jover  <guillem@hadrons.org>

	* linux/src/drivers/scsi/qlogicisp_asm.c: Remove file with binary
	only firmware.
	* linux/src/drivers/scsi/qlogicisp.c: Do not include "qlogicisp_asm.c".
	(RELOAD_FIRMWARE): Set to 0.
	(risc_code_addr01): New variable from qlogicisp_asm.c.
	* linux/Files: Remove linux/src/drivers/scsi/qlogicisp_asm.c.

2004-09-08  Neal H. Walfield  <neal@cs.uml.edu>

	* linux/dev/kernel/printk.c: Include <kern/assert.h>.
	(printk): Use vsnprintf, not linux_vsprintf to avoid buffer
	overruns.

	* kern/printf.c (struct vsnprintf_cookie): New structure.
	(snputc): New function.
	(vsnprintf): Likewise.

2004-11-22  Guillem Jover  <guillem@hadrons.org>

	* bogus/mach_assert.h: Change #ifdef DEBUG to #ifndef NDEBUG
	for assert et al.
	* kern/assert.h: Likewise.
	* kern/debug.h: Likewise.
	* util/debug.h: Likewise.

	* i386/i386/debug.h: Move dump_ss definition out of [DEBUG].
	* linux/dev/glue/block.c (rdwr_full): Remove invalid assert.

2004-09-07  Neal H. Walfield  <neal@cs.uml.edu>

	* linux/dev/glue/block.c (__brelse): Unconditionally kfree BH.
	(getblk): Unconditionally kalloc BH.

	* kern/kalloc.c [!NDEBUG] (kalloc_init_called): New static
	variable.
	(kalloc_init): Assert that kalloc_init_called is zero.
	[! NDEBUG] Set kalloc_init_called to 1 on success.
	(kalloc): Assert that kalloc_init_called is non-zero.
	(kget): Likewise.
	(kfree): Likewise.

2004-11-22  Guillem Jover  <guillem@hadrons.org>

	* i386/i386/locore.S (discover_x86_cpu_type): Enable function.
	Enable ID flag for Cyrix CPU. Use %ebp to save the stack pointer.
	Restore EFLAGS just after its last usage.
	* i386/i386at/model_dep.c (c_boot_entry): Enable use of
	discover_x86_cpu_type. Remove hardcoded cpu_type assignment.
	* i386/include/mach/i386/eflags.h
	(EFL_VI, EFL_VIP): New bits.
	(EFL_AC, EFL_ID): Bits finally added.

2004-10-26  Guillem Jover  <guillem@hadrons.org>

	* i386/i386/fpe.b: Remove binary without source.
	* i386/i386/fpe.b_elf: Likewise.
	* i386/i386/fpe_linkage.c: Disable the code if [! FPE].
	* i386/bogus/fpe.h: Add comment about not having an fpe implementation.
	* i386/Makefrag (objfiles): Do not add fpe.o.
	Remove targets to generate fpe.o.

2004-02-29  Marcus Brinkmann  <marcus@gnu.org>

	* NEWS: Add things that changed so far since 1.3.

2004-02-02  Marco Gerards  <metgerards@student.han.nl>

	* i386/i386at/kd.c (kdinit): Initialize the input buffer.

	* i386/i386at/kd.h (KDSETLEDS): New macro.
	* i386/i386at/kd_event.c (kbdsetstat): Handle KDSETLEDS here to
	set the keyboard LEDs state.

2004-01-19  Marco Gerards  <metgerards@student.han.nl>

	* linux/dev/glue/block.c (init_partition): Don't check for BSD
	partitions if the DOS partition is too small.

2004-01-16  Marco Gerards  <metgerards@student.han.nl>

	* linux/dev/glue/block.c (device_get_status): Correctly calculate
	the number of blocks.

2004-01-15  Alfred M. Szmidt  <ams@kemisten.nu>

	* linux/dev/include/asm-i386/string.h (memscan): Don't use
	multi-line string literals for asm().
	* linux/dev/include/asm-i386/segment.h (__generic_memcpy_tofs)
	(__generic_memcpy_fromfs): Likewise.
	* linux/src/include/asm-i386/floppy.h (floppy_hardint): Likewise.
	* i386/i386/proc_reg.h (flush_instr_queue): Likewise.
	* i386/i386/gdt.c (gdt_init): Likewise.

	* linux/src/drivers/scsi/aic7xxx.c: Updated from Linux 2.0.39
	* linux/src/drivers/scsi/aic7xxx.h: Likewise.
	* linux/src/drivers/scsi/aic7xxx_proc.c: Likewise.
	* linux/src/drivers/scsi/scsicam.c: Likewise.
	* linux/src/include/linux/pci.h: Likewise.

	* linux/src/drivers/scsi/53c7,8xx.h (patch_dsa_32): Don't use
	token paste operator (##).

	* Makefile.in (kernel-undef): Match new output format from
	nm (binutils) 2.14.x.

2002-05-27  Roland McGrath  <roland@frob.com>

	* Version 1.3 released.

2002-05-23  Marcus Brinkmann  <marcus@gnu.org>

	* i386/i386at/model_dep.c: Include <kern/cpu_number.h> and
	<kern/assert.h>.
	(machine_idle): New function.
	* bogus/power_save.h (POWER_SAVE): Define to 1.

2002-05-22  Roland McGrath  <roland@frob.com>

	* configure.in (VERSION): New substituted variable: set to 1.3 now.
	(version.c): Add it to AC_OUTPUT.
	* configure: Regenerated.
	* Makefile.in (version): New variable, set from that.
	Remove vpath directive for version.c, not found in build dir.
	(topfiles): version.c -> version.c.in
	* doc/Makefile.in (mach-version): Substituted instead of constant.
	* version.c: File removed, replaced with ...
	* version.c.in: ... this new file.
	(version): Make it const.  Use @VERSION@ for the number.

	* Makefile.in (debian-files): Add postinst and prerm.
	(dist): Use gzip -9 instead of tar z.

	* linux/Files: Add missing files to the list:
		linux/dev/drivers/net/eepro100.c
		linux/src/include/asm-i386/hardirq.h
		linux/src/include/asm-i386/spinlock.h
		linux/src/include/linux/compatmac.h
		linux/src/include/linux/spinlock.h

	* linux/src/drivers/net/eth16i.c (eth16i_check_signature): Fix syntax:
	#ifdef 0 -> #if 0

	* Makefile.in (%.migs_d, %.migu_d): Fix sed substitution to match
	whatever target file name gcc comes up with.
	(%.migs_d, %.migu_d, %.symc.o, %_user.c, %_server.c):
	Depend on $(before-compile).

2002-04-24  Marcus Brinkmann  <marcus@gnu.org>

	* debian/rules (DOCDIR): Move to
	$(PREFIX)/share/doc/$(package-dev).

2002-04-23  Roland McGrath  <roland@frob.com>

	* i386/i386/ldt.c (ldt_init): Fix fencepost error in segment limits.

2002-04-19  Roland McGrath  <roland@frob.com>

	* gensym.awk: Emit \n\ at the end of lines inside strings.
	* Makefile.in (%.symc: %.sym): Depend on gensym.awk.

2002-03-29  Marcus Brinkmann  <marcus@g10code.de>

	* doc/mach.texi: End index entry with full stop.

2002-03-05  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c: Include <alloca.h>.

2002-03-04  Roland McGrath  <roland@frob.com>

	* Makefile.in (%_interface.h %_server.c: %.srv): Pass -sheader switch
	to mig, not -header.

2001-11-23  Roland McGrath  <roland@frob.com>

	* i386/i386at/i386at_ds_routines.c (device_deallocate): Do nothing if
	argument is DEVICE_NULL.

2001-10-21  Marcus Brinkmann  <marcus@gnu.org>

	* linux/src/arch/i386/lib/delay.c: Convert HTML entities.
	Reported by John Tobey <jtobey@john-edwin-tobey.org>.

2001-10-13  Marcus Brinkmann  <marcus@gnu.org>

	* debian/changelog: Update for next release.

2001-10-07  Roland McGrath  <roland@frob.com>

	* 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.

	* i386/i386/locore.S: Fix sloppy asm syntax to avoid warnings from
	newer assembler (%ecx -> %cl in byte insns).

	* kern/bootstrap.c (bootstrap_create): Fix inverted test logic for
	compatibility case.  Ignore trailing newlines after space for
	compatibility detection.
	Reported by Neal H Walfield <neal@cs.uml.edu>.

2001-10-06  Marcus Brinkmann  <marcus@gnu.org>

	* README: Replace `GNU mach' by `GNU Mach', and remove
	obsolete paragraph about kmsg device.

2001-10-06  Marcus Brinkmann  <marcus@gnu.org>

	* doc/mach.texi: Fix direntry.

2001-10-05  Marcus Brinkmann  <marcus@gnu.org>

	* doc/mach.texi: Replace `path name' by `file name' in one place.
	Replace `illegal' by `invalid' and `to to' by `to' everwhere.

	* debian/changelog: Prepare for next release.

2001-10-04  Marcus Brinkmann  <marcus@gnu.org>

	* doc: New directory.
	* doc/Makefile.in: New file.
	* doc/gpl.texi: Likewise.
	* doc/fdl.texi: Likewise.
	* doc/mach.texi: Likewise.
	* configure.in: Add doc/Makefile to AC_OUTPUT call.
	* configure: Regenerated.

	* Makefile.in (dist): Create directories doc and debian.
	(doc-files): New variable with documentation files.
	(debian-files): New variable with Debian packaging files.

	* debian/rules (stamp-build): Build documentation.
	(build-gnumach): Install the documentation into the gnumach
	package.
	* debian/postrm: New file to install info document.
	* debian/prerm: New file to install info document.

2001-10-01  Marcus Brinkmann  <marcus@gnu.org>

	* i386/i386/locore.S (tenmicrosec): Remove subroutine.
	* i386/i386/pit.c (delaycount): Remove global variable.
	(microdata): Likewise.
	(clkstart): Do not call findspeed() and microfind().
	(findspeed): Remove function.
	(spinwait): Likewise.
	(microfind): Likewise.  This function triggers a division by zero
	trap on AMD K6 350Mhz+ and Athlon 1.1GHz+ machines (and in general
	leads to bad results on fast cpus), and nothing uses this code anymore.

2001-09-30  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (bootstrap_create): Ignore trailing spaces when
	checking boot module string for containing none.

2001-09-18  Marcus Brinkmann  <marcus@gnu.org>

	* linux/dev/glue/misc.c: Do not include <linux/types.h> and
	<linux/string.h>.
	Remove global variable ___strtok.
	Remove implementation of strspn, strpbrk, strtok and strstr.
	* Makefile.in: Add strpbrk and strtok.

2001-08-24  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (bootstrap_create): Make setting of boot-args and
	root-device no longer conditional on [! OSKIT_MACH].
	(bootstrap_create) [! OSKIT_MACH]: Parse FOO=BAR words out of the
	multiboot command line and turn those into boot script variables.

	* Makefile.in (clib-routines): Add strsep.
	* kern/strings.h (strsep, strchr): Declare them.

2001-08-23  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (bootstrap_create, user_bootstrap,
	boot_script_exec_cmd, boot_script_task_resume): Add printfs at
	various stages of startup.

2001-08-21  Roland McGrath  <roland@frob.com>

	* i386/i386at/model_dep.c (use_all_mem): Turn variable into macro.
	(init_alloc_aligned): Make this function static.
	Initially skip memory < 16MB and then wrap around to get it last.

2001-08-20  Roland McGrath  <roland@frob.com>

	Support "boot script" functionality in multiboot module strings.
	* kern/bootstrap.c: Rewrite merged from oskit-branch.
	* kern/boot_script.c, kern/boot_script.h: New files,
	copied from boot/ directory in Hurd sources.
	* Makefile.in (kern-cfiles): Add boot_script.c here.
	(kern-files): Add boot_script.h here.
	* NEWS: Mention the new feature.

2001-08-18  Roland McGrath  <roland@frob.com>

	* i386/i386at/model_dep.c (boot_info): Define a struct, not a pointer.
	(c_boot_entry): Copy the contents into it rather than setting the ptr.
	(c_boot_entry, init_alloc_aligned, pmap_valid_page, mem_size_init):
	Update uses.
	(init_alloc_aligned): Don't need to skip the boot_info memory.
	* kern/bootstrap.c (boot_info): Update decl.
	(bootstrap_create): Update uses.

2001-08-18  Marcus Brinkmann  <marcus@gnu.org>

	* linux/src/drivers/net/eepro100.c: File updated to version in
	Linux 2.2.19.  This time for real.

2001-08-18  Marcus Brinkmann  <marcus@gnu.org>

	* debian/changelog: Update for next package upload.
	* debian/control: Add gnumach-dbg package.
	* debian/rules: New targets to build gnumach-dbg package.
	Fix various bugs.

2001-08-18  Marcus Brinkmann  <marcus@gnu.org>

	* i386/i386at/kd.c (kdintr): In event mode, make it so that
	0xE0 scancodes are received.
	From Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.

	* i386/i386at/kd.h: New constants KAX_REVERSE, KAX_UNDERLINE,
	KAX_BLINK, KAX_BOLD, KAX_DIM, KAX_INVISIBLE, KAX_COL_UNDERLINE,
	KAX_COL_DIM.
	* i386/i386at/kd.c: Increase K_MAXESC to 32.
	New global variable color_table to map color values.
	New globals kd_color and kd_attrflags.
	(kdinit): Initialize these variables.
	(kd_update_kd_attr): New function.
	(kd_parserest): Redone to support more terminal attributes,
	including colors.

2001-08-18  Marcus Brinkmann  <marcus@gnu.org>

	* linux/src/drivers/net/eepro100.c: File updated to version in
	Linux 2.2.19.
	* linux/src/include/asm-i386/spinlock.h: New file from Linux 2.2.19.
	* linux/src/include/asm-i386/hardirq.h: Likewise.
	* linux/src/include/linux/spinlock.h: Likewise.
	* linux/src/include/linux/compatmac.h: Likewise.
	* linux/dev/drivers/net/eepro100.c: New file, modified version from
	the above to glue it in gnumach.
	Submitted by Kapil H. Paranjape <kapil@imsc.ernet.in>.

2001-08-17  Roland McGrath  <roland@frob.com>

	* Makefile.in (clib-routines): Add strchr.
	(kernel-undef-bad): Depend on Makefile.

	* Makefile.in ($(srcdir)/configure, $(srcdir)/config.h.in):
	Use $(srcdir) in deps.
	(Makefile, config.h, config.status): Likewise.

2001-07-29  Marcus Brinkmann  <marcus@gnu.org>

	* NEWS: Add items for this and other changes.
	* configure.in: Define MACH_KMSG by default and document this in
	the help output.
	* configure: Regenerated.
	* debian/rules: Do not enable kmsg explicitely.

2001-07-18  Marcus Brinkmann  <marcus@gnu.org>

	* debian/rules: Add -isp to dpkg-gencontrol invocation.
	Move documentation to /share/doc.
	* debian/changelog: Update.

2001-06-28  Marcus Brinkmann  <marcus@gnu.org>

	* linux/dev/drivers/block/ide.c (lba_capacity_is_ok): Do not
	attempt to correct id->cyls, it is a short and for large disks the
	number of cylinders necessary would not fit.  Subsequent checks
	for lba support would fail.
	(current_capacity): Likewise for drive->cyl.
	(do_identify): Store value returned by current_capacity in
	CAPACITY.  The check which corrects the number of bios cylinders
	is not aggressive enough.  Update it with the check in linux
	kernel-2.2.19.

2001-06-25  Marcus Brinkmann  <marcus@gnu.org>

	* i386/bogus/fpe.h (FPE): Define FPE to 0, as the floating point
	emulation is broken anyway and blows up plex86.

2001-06-17  Marcus Brinkmann  <marcus@gnu.org>

	* debian/rules: Update to current version.

2001-06-13  Roland McGrath  <roland@frob.com>

	* linux/dev/glue/block.c (device_get_status: DEV_GET_RECORDS):
	Always return 512 for DEV_GET_SIZE_RECORD_SIZE as DEV_GET_SIZE does.

2001-05-27  Marcus Brinkmann  <marcus@gnu.org>

	* debian/rules: Add --enable-ncr53c8xx to configure.

1999-10-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linux/src/drivers/scsi/tmscsiw.c: Removed.
	* linux/src/drivers/scsi/tmscsiw.h: Likewise.
	* linux/src/drivers/scsi/dc390w.h: Likewise.
	* i386/linux/device-drivers.h.in (CONFIG_SCSI_DC390W): Deleted.
	* i386/linux/Drivers.in: Remove linux_DRIVER(dc390w, ...). Now
	dc390w, dc390u, and dc390f are aliases to ncr53c8xx.
	* i386/linux/configure: Regenerated.
	* linux/Files: Likewise.
	* i386/linux/Makefile.in (linux-scsi-files): Delete tmscsiw.c.
	* linux/dev/drivers/scsi/hosts.c: Do not include dc390w.h.
	Reported by Andreas Voegele <andreas.voegele@nikocity.de>.

2001-05-20  Roland McGrath  <roland@frob.com>

	* kern/sched_prim.c (state_panic): New function, panic with some
	info when a thread's state is bogus.
	(thread_wakeup_prim): Use that instead of uninformative panic.
	(thread_invoke): Likewise.
	(thread_dispatch): Likewise.

2001-05-12  Marcus Brinkmann  <marcus@gnu.org>

	* ipc/ipc_object.c (ipc_object_alloc): Remove initialization of
	*namep, which was without effect.

2001-04-29  Marcus Brinkmann  <marcus@gnu.org>

	* debian/changelog: New entries for past Debian uploads.
	* debian/rules: Disable eatdma driver (breaks AMD K7), do
	not enable com, lpr (com is redundant, lpr doesn't work),
	move enabling of kmsg in its own line.
	* debian/control: Add build dependency on mig and sharutils.

2001-04-29  Marcus Brinkmann  <marcus@gnu.org>

	* device/chario.c: Set number of elements of tthiwat and ttlowat
	to NSPEEDS rather than 16. Initialize the two new elements.
	(chario_init): Initialize pdma_timeouts and pdma_water_mark for
	B57600 and B115200.

2001-04-27  Marcus Brinkmann  <marcus@gnu.org>

	* include/device/tty_status.h: New macros B57600 and B115200,
	increase NSPEED accordingly.
	* i386/i386at/com.c (divisorreg): New divisor 1.

2001-04-04  Roland McGrath  <roland@frob.com>

	* 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.

2001-01-28  Roland McGrath  <roland@frob.com>

	* kern/zalloc.c (zalloc): Change panics for exhausted zone to include
	the zone name.

2001-01-09  Marcus Brinkmann  <marcus@gnu.org>

	* include/device/device_types.h: New get_status call
	DEV_GET_RECORDS to get the number of records of a device (rather
	than the number of bytes). Accordingly define
	DEV_GET_RECORDS_DEVICE_RECORDS, DEV_GET_RECORDS_RECORD_SIZE and
	DEV_GET_RECORDS_COUNT.

	* linux/dev/glue/block.c (device_get_status): Handle
	DEV_GET_RECORDS.

2000-11-26  David Welch  <david.welch@seh.ox.ac.uk>

	* i386/Makefrag (i386-installed-headers): Removed dead files
	from the list of headers to be installed

2000-11-26  Marcus Brinkmann  <marcus@gnu.org>

	* linux/src/drivers/net/tulip.c: Updated to version
	from Linux 2.2.17 (I am amazed that 2.2.x drivers work).
	Suggested by Jason Henry Parker <jasonp@uq.net.au>.

2000-10-29  Roland McGrath  <roland@frob.com>

	Remove numerous dead header files.
	Suggested by Igor Khavkine <i_khavki@alcor.concordia.ca>.
	* i386/include/mach/i386/bios.h: Dead file removed.
	* i386/include/mach/i386/code16.h: Dead file removed.
	* i386/include/mach/i386/debug_reg.h: Dead file removed.
	* i386/include/mach/i386/dpmi.h: Dead file removed.
	* i386/include/mach/i386/far_ptr.h: Dead file removed.
	* i386/include/mach/i386/paging.h: Dead file removed.
	* i386/include/mach/i386/pio.h: Dead file removed.
	* i386/include/mach/i386/pmode.h: Dead file removed.
	* i386/include/mach/i386/proc_reg.h: Dead file removed.
	* i386/include/mach/i386/seg.h: Dead file removed.
	* i386/include/mach/i386/time_stamp.h: Dead file removed.
	* i386/include/mach/i386/tss.h: Dead file removed.
	* i386/include/mach/i386/vcpi.h: Dead file removed.
	* i386/include/mach/proc_ops.h: Dead file removed.
	* i386/include/mach/sa/sys/varargs.h: Dead file removed.
	* i386/include/mach/setjmp.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.
	* i386/Files: Update for removed files.

2000-09-29  Marcus Brinkmann  <marcus@gnu.org>

	* i386/i386at/conf.c (dev_name_list): Don't use MACH_COM to check
	if com support is enabled, but NCOM, as it used to be.

2000-09-24  OKUJI Yoshinori  <okuji@gnu.org>

	* linux/dev/glue/block.c: Reverted the changes at 2000-08-17.
	Reported by Brent Fulgham <brent.fulgham@xpsystems.com>.

2000-09-19  Marcus Brinkmann  <marcus@gnu.org>

	* linux/dev/glue/block.c (init_partition): Move initialization
	of MASK until it is asserted that gd is non-NULL.

2000-08-17  OKUJI Yoshinori  <okuji@gnu.org>

	* linux/dev/glue/block.c (rdwr_partial): Mask the minor device
	number with MINOR_SHIFT bits, when indexing the array of
	partitions. Reported by Marius Vollmer <mvo@zagadka.ping.de>.
	(init_partition): Likewise.
	(check_limit): Likewise.
	(device_get_status): Likewise.

2000-07-27  Marcus Brinkmann  <marcus@gnu.org>

	* Fix omissions in last change:
	* linux/src/arch/i386/lib/delay.S: Now really delete the file.
	* linux/src/arch/i386/lib/delay.c: Now really add the file.

2000-07-04  Marcus Brinkmann <marcus@gnu.org>

	* debian/changelog: Add entry for new Debian upload.
	* linux/dev/drivers/scsi/seagate.c (WRITE_CONTROL, WRITE_DATA):
	Added from linux 2.2.15.
	(__asm__ constructs): Replace with equivalent C code from linux 2.2.15
	to support gcc-2.95.
	* linux/src/drivers/scsi/in2000.h: Update asm code to linux 2.2.15.
	* linux/src/drivers/scsi/ppa.c: Replace asm code with equivalent
	C code from linux 2.2.15.

2000-02-06  Stefan Weil <stefan.weil@de.heidelberg.com>

	* device/subrs.c: Fixed compiler warning.
	* ddb/db_output.c, kern/bootstrap.c, kern/debug.c, kern/printf.c:
	Replaced varargs.h by stdarg.h. Fixed prototypes (const char *fmt).
	* ddb/db_output.h: Use prototype for db_printf.
	* i386/Files: removed varargs.h.
	* i386/i386/pit.h: Fixed compiler warning.
	* i386/i386at/model_dep.c: Tried to fix compiler warning.
	* i386/include/mach/sa/sys/varargs.h: Removed.
	* i386/linux/Makefile.in: Removed delay.S, added delay.c.
	* linux/dev/include/asm-i386/segment.h: Support gcc-2.95.
	* linux/dev/include/asm-i386/string.h,
	linux/src/include/asm-i386/string.h: Update from linux-2.2.14.
	* linux/dev/lib/vsprintf.c: Fixed compiler warning.
	* linux/src/include/asm-i386/delay.h: Update from linux-2.2.14.
	* linux/src/arch/i386/lib/delay.c: Copy from linux-2.2.14.
	* linux/src/include/asm-i386/string.h: Update from linux-2.2.14.

1999-10-08  Thomas Bushnell, BSG  <tb@mit.edu>

	* linux/src/drivers/net/3c59x.c: Updated to version 0.99L of the
	driver from ftp://cesdis.gsfc.nasa.gov/linux/drivers/3c59x.c, in
	order to support the 3c509c card, as requested by Jeff Bailey
	<jbailey@nisa.net>.

1999-09-17  Thomas Bushnell, BSG  <tb@mit.edu>

	* linux/dev/drivers/block/ide.c (do_request) [MACH]: In "bad
	access" printf, actually print the number of sectors of the
	partition.

1999-10-05  Roland McGrath  <roland@baalperazim.frob.com>

	* i386/intel/pmap.c (pmap_bootstrap): Use _start instead of start.
	* i386/i386/trap.c (kernel_trap): Likewise.

1999-10-04  Roland McGrath  <roland@baalperazim.frob.com>

	* configure.in: Remove AC_CHECK_TOOL(MAKE,...) check.
	* Makefile.in (MAKE): Variable removed.  We require GNU make anyway,
	and it always sets MAKE.
	* configure: Regenerated.

	* Makefile.in (clib-routines.o, check-clib-routines, clib-routines.d):
	Remove these rules, replace with:
	(kernel.o): New target, relocatable object linked from kernel objects.
	(kernel-undef, kernel-undef-bad): New targets, glean undefined symbols
	from kernel.o.
	(clib-routines.o): New target, use those to select symbols from libc.
	(clib-routines): Add some symbols; move defn to kernel linking page.
	This variable is now a list of symbols allowed to be undefined,
	rather than a prescriptive list of symbols always grabbed from libc.
	(kernel): Rewrite this rules to just link kernel.o and clib-routines.o
	together to make the kernel image.

1999-09-15  Mark Kettenis  <kettenis@gnu.org>

	* i386/i386/user_ldt.c: Fix user LDT management.
	(i386_set_ldt): Prevent thrashing the LDT for the current thread.
	Correctly calculate size of new LDT.  Set base adress of the LDT
	descriptor to the linear address of the LDT instead of the kernel
	virtual address.  Copy descriptors from the default LDT if there
	is no old LDT for the current thread.  Call switch_ktss if we are
	setting a new LDT for the current thread.
	(i386_get_ldt): Fix bug in copying out the descriptors.

1999-09-09  Thomas Bushnell, BSG  <tb@mit.edu>

	* linux/src/drivers/net/rtl8139.c (RX_BUF_LEN_IDX): Reduce from 3
	to 2.  (64K exceeds the limits in linux/dev/glue/kmem.c:kmalloc.)
	(rtl8129_open): If we fail to get the memory we need, then free
	the IRQ before returning.
	Reported by Daniel Kobras <daniel.kobras@student.uni-tuebingen.de>.

1999-09-07  Thomas Bushnell, BSG  <tb@mit.edu>

	* linux/src/drivers/net/yellowfin.c (yellowfin_probe): Return
	correct value.  Reported by Marcus Brinkmann
	<Marcus.Brinkmann@ruhr-uni-bochum.de>.

	* linux/dev/drivers/net/Space.c: Declare tc515_probe.  Reported by
	Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.

1999-09-04  Thomas Bushnell, BSG  <tb@mit.edu>

	* vm/vm_resident.c (vm_page_grab): Only block unprivileged
	allocations over vm_page_external_limit if they are actually
	external allocations.  Reported by Mark Kettenis
	(kettenis@wins.uva.nl>.

1999-08-10  Thomas Bushnell, BSG  <tb@mit.edu>

	* i386/i386at/model_dep.c (init_alloc_aligned): Revert previous
	change except for the one to AVAIL_NEXT.  All the rest of the
	previous code was correct.  Correction from Momchil Velikov
	(velco@fadata.bg).

1999-07-23  Roland McGrath  <roland@baalperazim.frob.com>

	* Drivers.macros (AC_DRIVER): Use `test' instead of `[ ... ]'.
	Reported by "Momchil 'Velco' Velikov" <velco@fadata.bg>.

1999-07-20  Roland McGrath  <roland@baalperazim.frob.com>

	* linux/dev/drivers/block/genhd.c (check_partition): Change message
	to say these are only the DOS partitions.
	* i386/linux/dev/include/linux/autoconf.h (CONFIG_BSD_DISKLABEL,
	CONFIG_SMD_DISKLABEL): #undef these.  The dev/glue/block.c code
	deals with BSD disklabels and expects the Linux genhd.c code to
	handle only the DOS partitions; having genhd.c do BSD disklabels
	too just confuses things.

	Force subdirectory targets so they get recompiled properly.
	* i386/Makefile.in (linux/linux.o): Depend on FORCE instead of linux.
	(FORCE): New target.
	* i386/Makefrag (i386/sysdep.o, FORCE): Likewise.

1999-07-11  Thomas Bushnell, BSG  <tb@mit.edu>

	* i386/i386at/model_dep.c (init_alloc_aligned): Make the checks
	correctly for addresses falling into skip regions.  Reported by
	Momchil Velikov (velco@fadata.bg).

1999-07-01  Thomas Bushnell, BSG  <tb@mit.edu>

	* i386/linux/Makefile.in: For each .o file in $(linux-objs)
	include a corresponding .d file, unless `no_deps' is `t'.
	(make-deps): New function.
	(%.d): New pattern rules for building %.d from %.c and %.S.

1999-06-29  Thomas Bushnell, BSG  <tb@mit.edu>

	* vm/vm_resident.c (vm_page_grab): Don't bounce requests when
	vm_page_external_count == vm_page_external_limit, so that before
	initialization is complete we can still allocate memory without
	relying on current_thread.
	(vm_page_wait): Also block if we are over the external page
	limit.
	* vm/vm_pageout.c (vm_pageout_scan): Rewrite the
	scan-for-pages-to-pageout loop to not crash when we hit the end of
	the inactive queue; instead jump back to the
	pause-for-a-little-while code.

1999-06-27  Thomas Bushnell, BSG  <tb@mit.edu>

	* vm/vm_resident.c (vm_page_external_count): Define variable.
	(vm_page_grab): New argument `external'.  All callers changed.
	Keep track of number of externally managed pages.  Don't let
	non-privileged threads exceed the externally-managed page limit.
	(vm_page_grab_contiguous_pages): New argument `external'.  All
	callers changed.  Keep track of number of externally managed
	pages.  Don't let non-privileged threads exceed the
	externally-managed page limit.
	(vm_page_convert): New argument `external', handed off to
	vm_page_grab.  All callers changed.
	(vm_page_release): New argument `external'.  All callers
	changed. Keep track of number of externally managed pages.
	(vm_page_bootstrap): Initialize M->external.
	(vm_page_external_limit): Define new variable.
	(vm_page_grab_phys_addr, vm_page_alloc): Add new arg for
	vm_page_grab.
	(vm_page_free): Provide new arg to vm_page_release.
	* vm/vm_page.h (vm_page_external_limit, vm_page_external_count):
	New variables.
	(struct vm_page): New members `external' and `extcounted'.
	(vm_page_grab, vm_page_release, vm_page_convert): Specify new
	argument.
	* vm/vm_pageout.c (vm_pageout): Initialize vm_page_external_limit
	and vm_page_external_target.
	(VM_PAGE_EXTERNAL_LIMIT, VM_PAGE_EXTERNAL_TARGET): New macro.
	(vm_page_external_target): New variable.
	(vm_pageout_scan): Regard "too many externally managed pages" as a
	reason to keep doing work, but if that's the only reason we're
	doing work, then the only thing we do is schedule cleaning of
	pages.  Help keep track of the number of externally managed pages
	that we care about.
	* i386/intel/pmap.c (pmap_page_table_page_alloc): Add new arg for
	vm_page_grab.
	* linux/dev/glue/block.c (alloc_buffer, device_read): Likewise.
	* vm/vm_map.c (vm_map_copy_steal_pages): Likewise.
	* vm/vm_fault.c (vm_fault_page): Add new args for vm_page_grab and
	vm_page_convert.

	* vm/vm_pageout.c (VM_PAGEOUT_BURST_WAIT): Reduce to 10ms/page.
	(VM_PAGEOUT_EMPTY_WAIT): Reduce to 75 ms.
	(VM_PAGE_FREE_RESERVED): Increase to 50 pages.
	(VM_PAGEOUT_RESERVED_INTERNAL): Adjust to `(reserve) - 25'.
	(VM_PAGEOUT_RESERVED_REALLY): Adjust to `(reserve) - 40'.

1999-06-21  Thomas Bushnell, BSG  <tb@mit.edu>

	* i386/Files: Don't mention i386/pc/Makerules,
	i386/include/Makerules, or i386/util/Makerules.

	* Makefile.in (all-real-archs): Delete variable.
	(dist): No longer make `machine' symlink.

	* Makefile.in (dist): Sanify file permissions before building tar
	file.

	* i386/Subdirs: Remove i386/i386at/boot.

Sun Jun 20 18:33:59 1999  Thomas Bushnell, BSG  <tb@mit.edu>

	* version.c (version): Updated to version 1.2.

	* i386/Files: Regenerated.
	* i386/Subdirs: Regenerated.

	* linux/Files: New file.
	* linux/Subdirs: New file.
	* Makefile.in (all-archs): Add `linux'.
	(all-real-archs): New variable.
	(dist): Create `machine' symlink only on
	$(all-real-archs).

	* Makefile.in (dist): Use `cp' instead of `ln'.

	* config.guess: Updated from autoconf 2.13.
	* config.sub: Likewise.

1999-06-16  Thomas Bushnell, BSG  <tb@mit.edu>

	* linux/dev/drivers/net/Space.c (ethif_probe): Probe tc59x_probe
	(CONFIG_VORTEX) after el3_probe (CONFIG_EL3), because the latter
	card matches the former probe, but the driver doesn't work with
	it.  Reported by Marcus Brinkmann <brinkmd@debian.org>.

	* Drivers.macros (AC_DRIVER): Only turn on driver if $enableval is
	not `no'.  Reported by Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.

1999-06-15  Thomas Bushnell, BSG  <tb@mit.edu>

	* ipc/ipc_init.c (ipc_bootstrap): Don't make the IOT_PORT zone
	exhaustible, because allocation of ports for internal objects
	panics if zalloc fails.

1999-06-07  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linux/dev/drivers/block/genhd.c [MACH] (mach_minor): New variable.
	(add_bsd_partition): New function.
	(bsd_disklabel_partition) [MACH]: Call add_bsd_partition.
	(msdos_partition) [MACH]: Set mach_minor to MINOR before
	calling bsd_disklabel_partition.
	* linux/dev/drivers/block/ide.c (do_request) [MACH]: Fix "bad access"
	message.

1999-06-02  Roland McGrath  <roland@baalperazim.frob.com>

	* kern/bootstrap.c (build_args_and_stack): If kernel_cmdline is
	nonempty, give the bootstrap task an environment variable of
	"MULTIBOOT_CMDLINE=kernel command line" on its stack.

1999-05-29  Roland McGrath  <roland@baalperazim.frob.com>

	* kern/startup.c (start_kernel_threads): Call record_time_stamp to
	reset the kernel task's creation_time field, so it's not zero.

1999-05-24  Mark Kettenis  <kettenis@gnu.org>

	* i386/i386/fpu.c (fp_free): Clear task switch flag before calling
	fwait.
	(fpu_get_state): Only save FPU state info if the live FPU state
	belongs to our target, i.e. if THREAD is the current thread.
	(fp_load): Print warning if we try to load an invalid FPU state,
	and reset the FPU to some sane state instead.

1999-05-23  Roland McGrath  <roland@baalperazim.frob.com>

	* kern/task.c (task_info): Allow count for TASK_BASIC_INFO to be less
	two words, not just one.  The new member creation_time is two words.

1999-05-22  Roland McGrath  <roland@baalperazim.frob.com>

	* linux/configure: Regenerated.

1999-05-21  Roland McGrath  <roland@baalperazim.frob.com>

	* linux/configure.in: Fix names dummy -> dummy.in in AC_OUTPUT call.

1999-05-14  Roland McGrath  <roland@baalperazim.frob.com>

	* i386/linux/Drivers.in (linux_DRIVER): New macro, does AC_DRIVER and
	defines alias for Linux module name.  Use that for all single-module
	Linux drivers, so we don't forget to define any of the aliases for the
	Linux module names.
	* i386/linux/configure: Regenerated.

1999-04-28  OKUJI Yoshinori  <okuji@localhost>

	* linux/dev/drivers/block/genhd.c (bsd_disklabel_partition) [MACH]:
	Print BSD slices, using Mach device syntax instead of Linux extented
	partition syntax.

1999-05-01  Mark Kettenis  <kettenis@gnu.org>

	* linux/dev/glue/block.c (device_get_status): Always set
	status_count to DEV_GET_STATUS_COUNT if flavor is DEV_GET_SIZE.

1999-04-30  Roland McGrath  <roland@baalperazim.frob.com>

	* i386/linux/Drivers.in: Don't create asm-${systype} symlinks here.
	* linux/configure.in: New file.  Create them here instead.
	* linux/dummy.in: New file, used by configure.
	* linux/configure: New file (generated by autoconf).
	* configure.in: Configure in linux subdir.
	* configure: Regenerated.

	* i386/configure.in: Require only autoconf 2.12, not 2.13.
	* i386/configure: Regenerated.

	* aclocal.m4 (hurd_SYSTYPE): New macro.
	* i386/linux/Drivers.in: Use it.
	* i386/linux/configure: Regenerated.

Wed Apr 28 02:17:51 1999  Thomas Bushnell, BSG  <tb@mit.edu>

	* linux/src/drivers/net/3c59x.c: Upgrade to Linux 2.2.1 version.
	(vortex_start_xmit): Don't frob VP->stat.tx_bytes.
	(boomerang_start_xmit): Likewise.
	(vortex_rx): Don't frob VP->stats.rx_bytes.
	(boomerang_rx): Likewise.
	Requested by Jeff Bailey (jbailey@nisa.net).

Mon Apr 26 02:13:02 1999  Thomas Bushnell, BSG  <tb@mit.edu>

	* Makefile.in (objfiles): Don't add $(systype)/sysdep.o here.
	($(systype)/sysdep.o): Delete rule.
	(clean, distclean, mostlyclean, maintainerclean, install-headers,
	install-kernel): Don't do recursive make here.
	* i386/Makefrag (objfiles): Add i386/sysdep.o to the list.
	(i386/sysdep.o): New rule.
	(clean): Depend on i386-clean.
	(distclean): Depend on i386-distclean.
	(mostlyclean): Depend on i386-mostlyclean.
	(maintainerclean): Depend on i386-maintainerclean.
	(install-headers): Depend on i386-install-headers.
	(install-kernel): Depend on i386-install-kernel.
	(i386-clean, i386-distclean, i386-mostlyclean,
	i386-maintainerclean, i386-install-kernel, i386-install-headers):
	New rules.

1999-04-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* version.c (version): Update to 1.1.92.

Sun Mar 14 18:53:01 1999  Thomas Bushnell, BSG  <tb@mit.edu>

	* device/ds_routines.c (ds_read_done): When touching memory to
	mark it dirty, make sure we say "volatile" so the compiler doesn't
	optimize it out.

1999-04-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/linux/Drivers.in: Fix the source paths for `asm'	symbolic
	links. Reported by KONISHI Toru <sting@mb.infoweb.ne.jp>.

	* linux/dev/drivers/block/ide.c (init_hwif_data) [MACH]: Print Mach
	device name instead of Linux one.
	* linux/dev/drivers/block/genhd.c (disk_name): Likewise.
	* linux/dev/drivers/scsi/sd.c (sd_init_onedisk): Likewise.
	(sd_detect): Likewise.
	* linux/dev/drivers/sr.c (sr_detect): Likewise.
	(get_sectorsize): Likewise.

1999-03-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	Version 1.1.91.

	* version.c (version): Update to 1.1.91.

1999-03-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/linux/Drivers.in: Fix linking paths.
	* i386/linux/Makefile.in: Corrent include paths and fix
	Drivers.macros location.

1999-02-28  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* Makefile.in (clean): Don't move device-drivers.h, because it is
	not in the top directory any longer.
	(distclean): Remove config.cache and config.log.
	* i386/Makefile.in (distclean): Remove config.status, config.log
	and Makefile.
	* i386/linux/Makefile.in (distclean): Remove config.status,
	config.log, Makefile and device-drivers.h.

1999-02-27  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/linux/Drivers.in: Don't link dev/include/asm-i386 to
	dev/include/asm. Check if directories already exist before
	mkdir_p's. Link directories manually, because AC_LINK_FILES
	is weak in linking files from non-current directories.

	* i386/i386at/i386at_ds_routines.c: Include
	<i386/linux/device-drivers.h> instead of <linux/device-drivers.h>.
	* device/ds_routines.c [LINUX_DEV]: Likewise.
	* i386/linux/Makefile.in (linux-gen-flags): Fix an extra slash.
	(distclean): Remove asm links.
	* linux/src/COPYING: Copied from linux-2.0.36.

1999-02-27  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* Makefile.in: Omit to detect if com or lpr is used, and don't use
	linux.o.
	(objfiles): Add $(systype)/sysdep.o.
	(clean): Chain the target to $(systype).
	(distclean): Likewise.
	(mostlyclean): Likewise.
	(maintainer-clean): Likewise.
	(install-headers): Likewise.
	(install-kernel): Likewise.
	* configure.in: AC_CONFIG_SUBDIRS ${systype} instead of linux.
	(--disable-linuxdev): Deleted.
	(--disable-com): Likewise.
	(--enable-lpr): Likewise.
	* i386/Makefile.in: New file.
	* i386/configure.in: Likewise.
	* i386/Makefrag (DEFINES): Add -DLINUX_DEV.
	(objfiles): Always add com.o. If MACH_LPR is defined, then add lpr.o.
	* linux/Drivers.in: Moved to ...
	* i386/linux/Drivers.in: ... here. Include ../../aclocal.m4.
	(mkdir_p): New function to create the linux include dirs.
	* linux/Makefile.in: Moved to ...
	* i386/linux/Makefile.in: ... here, and modify so that paths
	are valid.
	(clean): New target.
	(distclean): Likewise.
	(mostlyclean): Likewise.
	(maintainer-clean): Likewise.
	* linux/src/include/linux/autoconf.h: Removed.
	* linux/dev/include/linux/autoconf.h: Moved to ...
	* i386/linux/dev/include/linux/autoconf.h: ... here.
	* linux/dev/arch/i386/linux_emul.h: Moved to ...
	* i386/linux/dev/include/linux_emul.h: ... here.
	* linux/device-drivers.h.in: Moved to ...
	* i386/linux/device-drivers.h.in: ... here.
	* linux/aclocal.m4: Removed.
	* linux/configure: Likewise.

1999-02-14  Gordon Matzigkeit  <gord@trick.fig.org>

	* Makefile.in (install-kernel): Be sure that $(bootdir) is
	created before installing the kernel.

1999-02-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* configure.in: Enable com by default, because current kbd and
	mouse can't be linked without com. Reported by M. Meiarashi
	<mes@st.rim.or.jp>.

1999-02-05  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	Version 1.1.90.

	* version.c (version): Update to 1.1.90.

1999-02-04  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* device/kmsg.c (kmsginit): Add a missing semicolon.
	(kmsggetstat): Fix typos,
	DEV_GET_DEVICE_SIZE -> DEV_GET_SIZE_DEVICE_SIZE and
	DEV_GET_RECORD_SIZE -> DEV_GET_SIZE_RECORD_SIZE.
	(kmsg_putchar): Fix a typo kmsg_done_init -> kmsg_init_done.
	* linux/dev/glue/block.c (device_get_status): Allocate a hd_geometry
	on the stack.
	* linux/dev/drivers/block/ide.c: New file.
	* linux/dev/drivers/scsi/sd_ioctl.c: New file.

1999-02-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/i386at/kd_event.c (kbdgetstat): Fix a typo
	DEV_GET_SIZES -> DEV_GET_SIZE.
	* i386/i386at/kd_mouse.c (mousegetstat): Likewise.
	* device/kmsg.c (kmsggetstat): Likewise.

1999-02-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linux/dev/glue/block.c (dev_getstat): Fix a missing `struct'.
	* device/cons.c (cninit): Don't call kmsginit.
	* kmsg.c (kmsg_buffer): Defined as static.
	(kmsg_write_offset): Likewise.
	(kmsg_read_offset): Likewise.
	(kmsg_read_queue): Likewise.
	(kmsg_in_use): Likewise.
	(kmsg_lock): Likewise.
	(kmsginit): Likewise, and call queue_init instead of setting
	PREV and NEXT manually.
	(kmsg_done_init): New variable.
	(kmsg_putchar): Call kmsginit if not initialized yet.
	(kmsggetstat): New function.
	* kmsg.h (kmsggetstat): Add the prototype.
	* i386/i386at/kd_event.c (kbdgetstat): Handle DEV_GET_SIZE.
	(kbdread): Check if the amount a user specify is a multiple
	of sizeof(kd_event).
	* i386/i386at/kd_mouse.c (mousegetstat): New function.
	(mouseread): Check if the amount a user specify is a multiple
	of sizeof(kd_event).
	* i386/i386at/conf.c (dev_name_list): Set the mouse getstat entry
	to mousegetstat and the kmsg getstat entry to kmsggetstat.
	Use MACH_COM instead of NCOM to determine if com is used.
	Use MACH_LPR instead of NLPR to determine if lpr is used.
	* configure.in (--enable-com): New option.
	(--enable-lpr): Likewise.
	* Makefile.in (enable_com): New variable.
	(enable_lpr): Likewise.
	* i386/Makefrag (i386at-files): Remove com.c.
	(objfiles): Add com.o if enable_com is yes, and lpr.o if enable_lpr
	is yes.

Tue Jan 26 21:36:10 1999  Thomas Bushnell, BSG  <tb@mit.edu>

	* kern/exception.c (exception_no_server): Correctly comment out
	the suspend code.  (This should have happened on 17 April 1997,
	but apparently I did it backwards.)

1999-01-26  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* device/kmsg.c (kmsgopen): Added simple_lock and simple_unlock.
	(ksmgclose): Likewise.

1999-01-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* Makefile.in (install-headers): New target for installing only
	the headers.
	(install-kernel): New target for installing only the kernel.
	(mkheaderdirs): New target for making the headers
	installation directories.
	(mkkerneldirs): New target for making the kernel
	installation directory.
	(install): Do nothing by itself, but depend on install-kernel
	and install-headers.

1999-01-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* device/kmsg.h (KMSGBUFSIZE): Deleted.
	* device/kmsg.c: Rewritten completely to provide stream interface.
	* linux/dev/glue/block.c (device_getstat): Added V_GETPARMS support.
	* config.guess: New version from automake-1.4.
	* config.sub: Likewise.
	* install-sh: Likewise.

	Some changes were merged from gnumach-m68k by
	Aymeric Vincent <vincent@emi.u-bordeaux.fr>.

	* Makefile.in (clean): Don't hang if device-drivers.h doesn't exist.
	* linux/Makefile.in (CPPFLAGS): Fix a typo.

1999-01-16  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* device/kmsg.c: Fixed the copyright notice.
	(MACH_KMSG): Removed.
	* Makefile.in (enable_kmsg): New variable.
	(objfiles): Add kmsg.o, if and only if enable_kmsg is yes.

1999-01-10  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/i386at/kd.c: Applied a keymap patch. Reported by
	Marcus Brinkmann <Marcus.Brikmann@ruhr-uni-bochum.de>.
	* i386/i386at/kd.h: Likewise.

1998-12-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linux/dev/glue/net.c (dev_alloc_skb): Change the skb arragement.
	(dev_kfree_skb): Free only skb.
	(device_write): Keep skb elements up-to-date.

1998-12-18  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* Makefile.in (objfiles): Add kmsg.o.
	* device/cons.c: Include <device/io_req.h>.
	* device/kmsg.c: Rewritten almost entirely.

1998-12-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	Add kmsg device.

	* Makefile.in (device-files): Add kmsg.c and kmsg.h.
	* configure.in (--enable-kmsg): New option.
	* device/cons.c: Include kmsg.h.
	(cninit): Call kmsginit if MACH_KMSG is defined.
	(cnputc): Call kmsg_putchar if MACH_KMSG is defined.
	* device/kmsg.c: New file.
	* device/kmsg.h: Likewise.
	* i386/i386at/conf.c (dev_name_list): Add kmsg entry.

1998-12-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* configure.in: Fix linuxdev option handling.
	* linux/Drivers.in: Remove linuxdev option and fix linking files.
	* linux/Makefile.in: Replace @DEFS@ with -DLINUX_DEV.
	* linux/dev/arch/i386/kernel/irq.c: Include missing header files.
	* linux/dev/arch/i386/kernel/setup.c: Include <device-drivers.h>.
	* linux/dev/glue/kmem.c: Add printf declaration.
	* linux/dev/glue/misc.c: Include <linux/types.h>.
	* linux/dev/init/main.c: Call linux_sched_init instead of sched_init.
	* linux/dev/kernel/sched.c: Add timer_bh declaration.
	(tqueue_bh): Fix the argument.
	(linux_sched_init): Renamed from sched_init.

1998-12-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/i386at/i386at_ds_routines.c: Include <linux/device-drivers.h>
	only if LINUX_DEV is defined. Reported by UCHIYAMA Yasushi
	<uch@nop.or.jp>.
	* device/ds_routines.c: Likewise.
	* configure.in: AC_CONFIG_SUBDIRS(linux) instead of linuxdev.
	(--disable-linuxdev): New option.
	* linux/Makefile.in (CPPFLAGS): Remove -DLINUX_DEV, and add @DEFS@.
	(objfiles): Add linux.o only if LINUX_DEV is defined.
	* linux/Drivers.in (--disable-linuxdev): New option.
	* i386/Makefrag (DEFINES): Remove -DLINUX_DEV.

1998-11-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	Clean up linux emulation code to make it architecture-independent
	as much as possible.

	* linux: Renamed from linuxdev.
	* Makefile.in (objfiles): Add linux.o instead of linuxdev.o.
	(MAKE): New variable. Used for the linux.o target.
	* configure.in: Add AC_CHECK_TOOL(MAKE, make).
	* i386/i386/spl.h: Include <i386/ipl.h>, for compatibility with
	OSF Mach 3.0. Suggested by Elgin Lee <ehl@funghi.com>.
	* linux/src: Renamed from linux/linux.
	* linux/dev: Renamed from linux/mach.
	* linux/Drivers.in (AC_INIT): Use dev/include/linux/autoconf.h,
	instead of mach/include/linux/autoconf.h.
	* Makefile.in (all): Target ../linux.o instead of ../linuxdev.o.
	* linux/dev/drivers/block/genhd.c: Include <machine/spl.h> instead
	of <i386/ipl.h>.
	* linux/dev/drivers/net/auto_irq.c: Remove unneeded header files,
	<i386/ipl.h> and <i386/pic.h>.
	* linux/dev/init/main.c: Many i386-dependent codes moved to ...
	* linux/dev/arch/i386/irq.c: ... here.
	* linux/dev/arch/i386/setup.c: New file.
	* linux/dev/arch/i386/linux_emul.h: Likewise.
	* linux/dev/arch/i386/glue/timer.c: Merged into sched.c.
	* linux/dev/arch/i386/glue/sched.c: Include <machine/spl.h> instead
	of <i386/ipl.h>, and moved to ...
	* linux/dev/kernel/sched.c: ... here.
	* linux/dev/arch/i386/glue/block.c: Include <machine/spl.h> and
	<linux_emul.h>, instead of i386-dependent header files, and
	moved to ...
	* linux/dev/glue/blocl.c: ... here.
	* linux/dev/arch/i386/glue/net.c: Include <machine/spl.h> and
	<linux_emul.h>, instead of i386-dependent header files, and
	moved to ...
	* linux/dev/glue/net.c: ... here.
	* linux/dev/arch/i386/glue/misc.c: Remove `x86' and moved to ...
	* linux/dev/glue/misc.c: ... here.
	* linux/dev/arch/i386/glue/kmem.c: Moved to ...
	* linux/dev/glue/kmem.c: ... here.

1998-11-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linuxdev/mach/init/main.c (linux_init): Call reserve_mach_irqs.
	* linuxdev/mach/arch/i386/kernel/irq.c (probe_irq_on): Fix ivect
	mishandling.
	(probe_irq_off): Disable unnecessary IRQs. Reported by
	UCHIYAMA Yasushi <uch@nop.or.jp>.
	(reserve_mach_irqs): New function.

1998-11-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linuxdev/arch/i386/linux_init.c (linux_init): Check ivect
	before set linux_bad_intr.
	* linuxdev/arch/i386/linux_irq.c (probe_irq_on): Allocate only
	if ivect is null, and set linux_intr_pri to intpri.

	* linuxdev: Heavily changed. It becomes more Linux-like file
	hierarchy as suggested by Roland McGrath <roland@frob.com>.
	* linuxdev/linux: Contain original Linux source files.
	* linuxdev/mach: Contain modified source files for Mach.
	* linuxdev/mach/arch/i386/glue: XXX Contain files that are
	not easy to segregate.
	* Makefile.in: Call `make -C linuxdev all', instead of include
	linuxdev/Makefrag.

1998-11-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linuxdev/arch/i386/linux_irq.c (linux_bad_intr): New function.
	(free_irq): Set linux_bad_intr into ivect[irq].
	* linuxdev/arch/i386/linux_init.c (linux_init):
	Set linux_bad_intr as the default interrupt handler.

	* linuxdev/include/asm-i386/string.h (strstr): Fix the
	egcs/gcc 2.8.x bug and a linkage problem. Reported by
	Roland McGrath <roland@frob.com>.

1998-11-18  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linuxdev/Drivers.in: Fix a typo.
	* linuxdev/Makefrag: Likewise.
	* linuxdev/arch/i386/linux_block.c (set_blocksize): Likewise.

	* linuxdev/arch/i386/linux_kmem.c (vfree): Cast void * to
	vm_offset_t.
	* linuxdev/drivers/net/wavelan.p.h: Include
	<linuxdev/drivers/net/i82586.h>, instead of <drivers/net/i82586.h>.
	* linuxdev/drivers/scsi/aha152x.c: Define AUTOCONF.
	* linuxdev/configure: Regenerate.

1998-11-17  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* linuxdev/arch/i386/linux_misc.c (strstr): New function.
	Because	inline version strstr is not used when use
	egcs/gcc 2.8.x.	Reported by UCHIYAMA Yasushi <uch@nop.or.jp>.

	* linuxdev/arch/i386/linux_irq.c (unmask_irq): Fix a typo.

1998-11-17  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/README-Drivers: Update to Linux 2.0.36 device drivers.
	* linuxdev/Drivers.in: Likewise.
	* linuxdev/Makefrag: Likewise.
	* linuxdev/arch/i386/linux_lib.S: Likewise.
	* linuxdev/device-drivers.h.in: Likewise.
	* linuxdev/drivers/block/floppy.c: Likewise.
	* linuxdev/drivers/block/ide.c: Likewise.
	* linuxdev/drivers/block/ide.h: Likewise.
	* linuxdev/drivers/net/3c505.h: Likewise.
	* linuxdev/drivers/net/3c509.c: Likewise.
	* linuxdev/drivers/net/3c515.c: Likewise.
	* linuxdev/drivers/net/3c59x.c: Likewise.
	* linuxdev/drivers/net/Space.c: Likewise.
	* linuxdev/drivers/net/apricot.c: Likewise.
	* linuxdev/drivers/net/de4x5.c: Likewise.
	* linuxdev/drivers/net/eepro.c: Likewise.
	* linuxdev/drivers/net/eepro100.c: Likewise.
	* linuxdev/drivers/net/eexpress.c: Likewise.
	* linuxdev/drivers/net/epic100.c: Likewise.
	* linuxdev/drivers/net/eth16i.c: Likewise.
	* linuxdev/drivers/net/hp100.c: Likewise.
	* linuxdev/drivers/net/lance.c: Likewise.
	* linuxdev/drivers/net/ne2k-pci.c: Likewise.
	* linuxdev/drivers/net/pcnet32.c: Likewise.
	* linuxdev/drivers/net/rtl8139.c: Likewise.
	* linuxdev/drivers/net/tlan.c: Likewise.
	* linuxdev/drivers/net/tulip.c: Likewise.
	* linuxdev/drivers/net/wavelan.c: Likewise.
	* linuxdev/drivers/pci/pci.c: Likewise.
	* linuxdev/drivers/scsi/BusLogic.c: Likewise.
	* linuxdev/drivers/scsi/FlashPoint.c: Likewise.
	* linuxdev/drivers/scsi/aha152x.c: Likewise.
	* linuxdev/drivers/scsi/aha1542.c: Likewise.
	* linuxdev/drivers/scsi/aic7xxx/sequencer.h: Likewise.
	* linuxdev/drivers/scsi/aic7xxx.c: Likewise.
	* linuxdev/drivers/scsi/aic7xxx_proc.c: Likewise.
	* linuxdev/drivers/scsi/aic7xxx_reg.h: Likewise.
	* linuxdev/drivers/scsi/dtc.c: Likewise.
	* linuxdev/drivers/scsi/eata.c: Likewise.
	* linuxdev/drivers/scsi/eata.h: Likewise.
	* linuxdev/drivers/scsi/eata_dma.c: Likewise.
	* linuxdev/drivers/scsi/gdth.c: Likewise.
	* linuxdev/drivers/scsi/gdth.h: Likewise.
	* linuxdev/drivers/scsi/gdth_proc.c: Likewise.
	* linuxdev/drivers/scsi/gdth_proc.h: Likewise.
	* linuxdev/drivers/scsi/hosts.c: Likewise.
	* linuxdev/drivers/scsi/in2000.c: Likewise.
	* linuxdev/drivers/scsi/in2000.h: Likewise.
	* linuxdev/drivers/scsi/ncr53c8xx.c: Likewise.
	* linuxdev/drivers/scsi/ppa.h: Likewise.
	* linuxdev/drivers/scsi/scsi.c: Likewise.
	* linuxdev/drivers/scsi/scsicam.c: Likewise.
	* linuxdev/drivers/scsi/sd.c: Likewise.
	* linuxdev/drivers/scsi/seagate.c: Likewise.
	* linuxdev/drivers/scsi/u14-34f.c: Likewise.
	* linuxdev/drivers/scsi/u14-34f.h: Likewise.
	* linuxdev/drivers/scsi/wd7000.c: Likewise.
	* linuxdev/drivers/scsi/wd7000.h: Likewise.
	* linuxdev/include/asm-i386/irq.h: Likewise.
	* linuxdev/include/asm-i386/processor.h: Likewise.
	* linuxdev/include/asm-i386/ptrace.h: Likewise.
	* linuxdev/include/asm-i386/system.h: Likewise.
	* linuxdev/include/asm-i386/unistd.h: Likewise.
	* linuxdev/include/linux/fs.h: Likewise.
	* linuxdev/include/linux/genhd.h: Likewise.
	* linuxdev/include/linux/interrupt.h: Likewise.
	* linuxdev/include/linux/ip.h: Likewise.
	* linuxdev/include/linux/pci.h: Likewise.
	* linuxdev/include/linux/version.h: Likewise.
	* linuxdev/include/linux/wireless.h: Likewise.

	* linuxdev/drivers/net/via-rhine.c: New file.
	* linuxdev/drivers/scsi/aic7xxx_seq.c: Likewise.
	* linuxdev/include/linux/rose.h: Likewise.

	* linuxdev/drivers/scsi/aic7xxx_seq.h: Removed.
	* linuxdev/configure: Regenerate.
	* linuxdev/include/asm-i386/string.h: Fix the egcs/gcc 2.8.x problem,
	according to http://www.suse.de/~florian/kernel+egcs.html.

1998-11-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* Makefile.in (clib-routines.o): Add -L option to search libc.a.
	Reported by TAKEUCHI Yoji <ytakeuch@po.iijnet.or.jp>.

	* linuxdev/drivers/pci/bios32.c: Moved to ...
	* linuxdev/arch/i386/linux_bios32.c: ... here. Because it is
	i386-specific code.
	* linuxdev/include/asm: Moved to ...
	* linuxdev/include/asm-i386: ... here.

	* i386/README-Drivers: Update to Linux 2.0.35 device drivers.
	* linuxdev/Drivers.in: Likewise.
	* linuxdev/configure: Likewise.
	* linuxdev/device-drivers.h.in: Likewise.
	* linuxdev/Makefrag: Likewise.
	* linuxdev/arch/i386/linux_autoirq.c: Likewise.
	* linuxdev/arch/i386/linux_block.c: Likewise.
	* linuxdev/arch/i386/linux_dma.c: Likewise.
	* linuxdev/arch/i386/linux_init.c: Likewise.
	* linuxdev/arch/i386/linux_irq.c: Likewise.
	* linuxdev/arch/i386/linux_kmem.c: Likewise.
	* linuxdev/arch/i386/linux_misc.c: Likewise.
	* linuxdev/arch/i386/linux_net.c: Likewise.
	* linuxdev/arch/i386/linux_port.c: Likewise.
	* linuxdev/arch/i386/linux_printk.c: Likewise.
	* linuxdev/arch/i386/linux_sched.c: Likewise.
	* linuxdev/arch/i386/linux_timer.c: Likewise.
	* linuxdev/arch/i386/linux_version.c: Likewise.
	* linuxdev/arch/i386/linux_vsprintf.c: Likewise.
	* linuxdev/drivers/block/cmd640.c: Likewise.
	* linuxdev/drivers/block/floppy.c: Likewise.
	* linuxdev/drivers/block/genhd.c: Likewise.
	* linuxdev/drivers/block/ide-cd.c: Likewise.
	* linuxdev/drivers/block/ide.c: Likewise.
	* linuxdev/drivers/block/ide.h: Likewise.
	* linuxdev/drivers/block/ide_modes.h: Likewise.
	* linuxdev/drivers/block/rz1000.c: Likewise.
	* linuxdev/drivers/block/triton.c: Likewise.
	* linuxdev/drivers/net/3c501.c: Likewise.
	* linuxdev/drivers/net/3c503.c: Likewise.
	* linuxdev/drivers/net/3c505.c: Likewise.
	* linuxdev/drivers/net/3c507.c: Likewise.
	* linuxdev/drivers/net/3c509.c: Likewise.
	* linuxdev/drivers/net/3c59x.c: Likewise.
	* linuxdev/drivers/net/8390.c: Likewise.
	* linuxdev/drivers/net/8390.h: Likewise.
	* linuxdev/drivers/net/Space.c: Likewise.
	* linuxdev/drivers/net/ac3200.c: Likewise.
	* linuxdev/drivers/net/apricot.c: Likewise.
	* linuxdev/drivers/net/at1700.c: Likewise.
	* linuxdev/drivers/net/atp.c: Likewise.
	* linuxdev/drivers/net/atp.h: Likewise.
	* linuxdev/drivers/net/de4x5.c: Likewise.
	* linuxdev/drivers/net/de4x5.h: Likewise.
	* linuxdev/drivers/net/de600.c: Likewise.
	* linuxdev/drivers/net/de620.c: Likewise.
	* linuxdev/drivers/net/depca.c: Likewise.
	* linuxdev/drivers/net/dev.c: Likewise.
	* linuxdev/drivers/net/e2100.c: Likewise.
	* linuxdev/drivers/net/eepro.c: Likewise.
	* linuxdev/drivers/net/eepro100.c: Likewise.
	* linuxdev/drivers/net/eexpress.c: Likewise.
	* linuxdev/drivers/net/eth16i.c: Likewise.
	* linuxdev/drivers/net/ewrk3.c: Likewise.
	* linuxdev/drivers/net/ewrk3.h: Likewise.
	* linuxdev/drivers/net/hp-plus.c: Likewise.
	* linuxdev/drivers/net/hp.c: Likewise.
	* linuxdev/drivers/net/hp100.c: Likewise.
	* linuxdev/drivers/net/hp100.h: Likewise.
	* linuxdev/drivers/net/i82586.h: Likewise.
	* linuxdev/drivers/net/lance.c: Likewise.
	* linuxdev/drivers/net/ne.c: Likewise.
	* linuxdev/drivers/net/net_init.c: Likewise.
	* linuxdev/drivers/net/ni52.c: Likewise.
	* linuxdev/drivers/net/ni52.h: Likewise.
	* linuxdev/drivers/net/ni65.c: Likewise.
	* linuxdev/drivers/net/ni65.h: Likewise.
	* linuxdev/drivers/net/seeq8005.c: Likewise.
	* linuxdev/drivers/net/seeq8005.h: Likewise.
	* linuxdev/drivers/net/sk_g16.c: Likewise.
	* linuxdev/drivers/net/sk_g16.h: Likewise.
	* linuxdev/drivers/net/smc-ultra.c: Likewise.
	* linuxdev/drivers/net/tulip.c: Likewise.
	* linuxdev/drivers/net/wavelan.c: Likewise.
	* linuxdev/drivers/net/wavelan.h: Likewise.
	* linuxdev/drivers/net/wd.c: Likewise.
	* linuxdev/drivers/net/znet.c: Likewise.
	* linuxdev/drivers/pci/pci.c: Likewise.
	* linuxdev/drivers/scsi/53c7,8xx.h: Likewise.
	* linuxdev/drivers/scsi/53c78xx.c: Likewise.
	* linuxdev/drivers/scsi/53c8xx_d.h: Likewise.
	* linuxdev/drivers/scsi/AM53C974.c: Likewise.
	* linuxdev/drivers/scsi/AM53C974.h: Likewise.
	* linuxdev/drivers/scsi/BusLogic.c: Likewise.
	* linuxdev/drivers/scsi/BusLogic.h: Likewise.
	* linuxdev/drivers/scsi/NCR53c406a.c: Likewise.
	* linuxdev/drivers/scsi/NCR53c406a.h: Likewise.
	* linuxdev/drivers/scsi/advansys.c: Likewise.
	* linuxdev/drivers/scsi/advansys.h: Likewise.
	* linuxdev/drivers/scsi/aha152x.c: Likewise.
	* linuxdev/drivers/scsi/aha152x.h: Likewise.
	* linuxdev/drivers/scsi/aha1542.c: Likewise.
	* linuxdev/drivers/scsi/aha1542.h: Likewise.
	* linuxdev/drivers/scsi/aha1740.c: Likewise.
	* linuxdev/drivers/scsi/aha1740.h: Likewise.
	* linuxdev/drivers/scsi/aic7xxx.c: Likewise.
	* linuxdev/drivers/scsi/aic7xxx.h: Likewise.
	* linuxdev/drivers/scsi/aic7xxx_seq.h: Likewise.
	* linuxdev/drivers/scsi/constants.h: Likewise.
	* linuxdev/drivers/scsi/eata.c: Likewise.
	* linuxdev/drivers/scsi/eata.h: Likewise.
	* linuxdev/drivers/scsi/eata_dma.c: Likewise.
	* linuxdev/drivers/scsi/eata_dma.h: Likewise.
	* linuxdev/drivers/scsi/eata_generic.h: Likewise.
	* linuxdev/drivers/scsi/eata_pio.c: Likewise.
	* linuxdev/drivers/scsi/eata_pio.h: Likewise.
	* linuxdev/drivers/scsi/fdomain.c: Likewise.
	* linuxdev/drivers/scsi/fdomain.h: Likewise.
	* linuxdev/drivers/scsi/g_NCR5380.c: Likewise.
	* linuxdev/drivers/scsi/g_NCR5380.h: Likewise.
	* linuxdev/drivers/scsi/hosts.c: Likewise.
	* linuxdev/drivers/scsi/hosts.h: Likewise.
	* linuxdev/drivers/scsi/in2000.c: Likewise.
	* linuxdev/drivers/scsi/in2000.h: Likewise.
	* linuxdev/drivers/scsi/pas16.c: Likewise.
	* linuxdev/drivers/scsi/pas16.h: Likewise.
	* linuxdev/drivers/scsi/scsi.c: Likewise.
	* linuxdev/drivers/scsi/scsi.h: Likewise.
	* linuxdev/drivers/scsi/scsi_ioctl.c: Likewise.
	* linuxdev/drivers/scsi/scsi_proc.c: Likewise.
	* linuxdev/drivers/scsi/scsicam.c: Likewise.
	* linuxdev/drivers/scsi/sd.c: Likewise.
	* linuxdev/drivers/scsi/sd.h: Likewise.
	* linuxdev/drivers/scsi/sd_ioctl.c: Likewise.
	* linuxdev/drivers/scsi/seagate.c: Likewise.
	* linuxdev/drivers/scsi/seagate.h: Likewise.
	* linuxdev/drivers/scsi/sr.c: Likewise.
	* linuxdev/drivers/scsi/sr_ioctl.c: Likewise.
	* linuxdev/drivers/scsi/t128.c: Likewise.
	* linuxdev/drivers/scsi/t128.h: Likewise.
	* linuxdev/drivers/scsi/u14-34f.c: Likewise.
	* linuxdev/drivers/scsi/u14-34f.h: Likewise.
	* linuxdev/drivers/scsi/ultrastor.c: Likewise.
	* linuxdev/drivers/scsi/ultrastor.h: Likewise.
	* linuxdev/drivers/scsi/wd7000.c: Likewise.
	* linuxdev/drivers/scsi/wd7000.h: Likewise.
	* linuxdev/include/asm-i386/bitops.h: Likewise.
	* linuxdev/include/asm-i386/delay.h: Likewise.
	* linuxdev/include/asm-i386/dma.h: Likewise.
	* linuxdev/include/asm-i386/errno.h: Likewise.
	* linuxdev/include/asm-i386/fcntl.h: Likewise.
	* linuxdev/include/asm-i386/floppy.h: Likewise.
	* linuxdev/include/asm-i386/ioctl.h: Likewise.
	* linuxdev/include/asm-i386/floppy.h: Likewise.
	* linuxdev/include/asm-i386/irq.h: Likewise.
	* linuxdev/include/asm-i386/processor.h: Likewise.
	* linuxdev/include/asm-i386/ptrace.h: Likewise.
	* linuxdev/include/asm-i386/resource.h: Likewise.
	* linuxdev/include/asm-i386/segment.h: Likewise.
	* linuxdev/include/asm-i386/sigcontext.h: Likewise.
	* linuxdev/include/asm-i386/signal.h: Likewise.
	* linuxdev/include/asm-i386/socket.h: Likewise.
	* linuxdev/include/asm-i386/statfs.h: Likewise.
	* linuxdev/include/asm-i386/string.h: Likewise.
	* linuxdev/include/asm-i386/system.h: Likewise.
	* linuxdev/include/asm-i386/termios.h: Likewise.
	* linuxdev/include/asm-i386/types.h: Likewise.
	* linuxdev/include/asm-i386/unistd.h: Likewise.
	* linuxdev/include/linux/autoconf.h: Likewise.
	* linuxdev/include/linux/binfmts.h: Likewise.
	* linuxdev/include/linux/bios32.h: Likewise.
	* linuxdev/include/linux/blk.h: Likewise.
	* linuxdev/include/linux/blkdev.h: Likewise.
	* linuxdev/include/linux/cdrom.h: Likewise.
	* linuxdev/include/linux/config.h: Likewise.
	* linuxdev/include/linux/etherdevice.h: Likewise.
	* linuxdev/include/linux/fd.h: Likewise.
	* linuxdev/include/linux/fdreg.h: Likewise.
	* linuxdev/include/linux/fs.h: Likewise.
	* linuxdev/include/linux/genhd.h: Likewise.
	* linuxdev/include/linux/hdreg.h: Likewise.
	* linuxdev/include/linux/if.h: Likewise.
	* linuxdev/include/linux/if_arp.h: Likewise.
	* linuxdev/include/linux/if_ether.h: Likewise.
	* linuxdev/include/linux/if_tr.h: Likewise.
	* linuxdev/include/linux/igmp.h: Likewise.
	* linuxdev/include/linux/in.h: Likewise.
	* linuxdev/include/linux/inet.h: Likewise.
	* linuxdev/include/linux/interrupt.h: Likewise.
	* linuxdev/include/linux/ioport.h: Likewise.
	* linuxdev/include/linux/ip.h: Likewise.
	* linuxdev/include/linux/kernel.h: Likewise.
	* linuxdev/include/linux/locks.h: Likewise.
	* linuxdev/include/linux/major.h: Likewise.
	* linuxdev/include/linux/malloc.h: Likewise.
	* linuxdev/include/linux/mc146818rtc.h: Likewise.
	* linuxdev/include/linux/mm.h: Likewise.
	* linuxdev/include/linux/module.h: Likewise.
	* linuxdev/include/linux/mount.h: Likewise.
	* linuxdev/include/linux/net.h: Likewise.
	* linuxdev/include/linux/netdevice.h: Likewise.
	* linuxdev/include/linux/nfs.h: Likewise.
	* linuxdev/include/linux/notifier.h: Likewise.
	* linuxdev/include/linux/pagemap.h: Likewise.
	* linuxdev/include/linux/pci.h: Likewise.
	* linuxdev/include/linux/personality.h: Likewise.
	* linuxdev/include/linux/proc_fs.h: Likewise.
	* linuxdev/include/linux/quota.h: Likewise.
	* linuxdev/include/linux/route.h: Likewise.
	* linuxdev/include/linux/sched.h: Likewise.
	* linuxdev/include/linux/skbuff.h: Likewise.
	* linuxdev/include/linux/socket.h: Likewise.
	* linuxdev/include/linux/sockios.h: Likewise.
	* linuxdev/include/linux/string.h: Likewise.
	* linuxdev/include/linux/time.h: Likewise.
	* linuxdev/include/linux/timer.h: Likewise.
	* linuxdev/include/linux/tqueue.h: Likewise.
	* linuxdev/include/linux/tty.h: Likewise.
	* linuxdev/include/linux/types.h: Likewise.
	* linuxdev/include/linux/uio.h: Likewise.
	* linuxdev/include/linux/version.h: Likewise.
	* linuxdev/include/linux/wait.h: Likewise.
	* linuxdev/include/net/af_unix.h: Likewise.
	* linuxdev/include/net/ax25.h: Likewise.
	* linuxdev/include/net/ax25call.h: Likewise.
	* linuxdev/include/net/icmp.h: Likewise.
	* linuxdev/include/net/ip.h: Likewise.
	* linuxdev/include/net/ip_alias.h: Likewise.
	* linuxdev/include/net/ip_forward.h: Likewise.
	* linuxdev/include/net/ipx.h: Likewise.
	* linuxdev/include/net/netlink.h: Likewise.
	* linuxdev/include/net/netrom.h: Likewise.
	* linuxdev/include/net/nrcall.h: Likewise.
	* linuxdev/include/net/p8022.h: Likewise.
	* linuxdev/include/net/protocol.h: Likewise.
	* linuxdev/include/net/psnap.h: Likewise.
	* linuxdev/include/net/raw.h: Likewise.
	* linuxdev/include/net/route.h: Likewise.
	* linuxdev/include/net/sock.h: Likewise.
	* linuxdev/include/net/tcp.h: Likewise.
	* linuxdev/include/net/udp.h: Likewise.

	* linuxdev/arch/i386/linux_soft.c: Removed.
	* linuxdev/drivers/scsi/NCR5380.src: Likewise.
	* linuxdev/drivers/scsi/aic7xxx_proc.src: Likewise.
	* linuxdev/drivers/scsi/aic7xxx_reg.h: Likewise.
	* linuxdev/drivers/scsi/eata_dma_proc.src: Likewise.
	* linuxdev/drivers/scsi/eata_pio_proc.src: Likewise.
	* linuxdev/drivers/scsi/qlogic.c: Likewise.
	* linuxdev/drivers/scsi/qlogic.h: Likewise.
	* linuxdev/drivers/scsi/scsi_debug.c: Likewise.
	* linuxdev/drivers/scsi/scsi_debug.h: Likewise.
	* linuxdev/drivers/scsi/scsi_ioctl.h: Likewise.
	* linuxdev/include/linux/math_emu.h: Likewise.
	* linuxdev/include/linux/minix_fs.h: Likewise.
	* linuxdev/include/linux/minix_fs_sb.h: Likewise.
	* linuxdev/include/linux/scsi.h: Likewise.
	* linuxdev/include/linux/scsicam.h: Likewise.
	* linuxdev/include/linux/vm86.h: Likewise.

	* linuxdev/arch/i386/linux_ctype.c: New file.
	* linuxdev/arch/i386/linux_lib.S: Likewise.
	* linuxdev/arch/i386/linux_softirq.c: Likewise.
	* linuxdev/drivers/net/3c515.c: Likewise.
	* linuxdev/drivers/net/epic100.c: Likewise.
	* linuxdev/drivers/net/eth82586.h: Likewise.
	* linuxdev/drivers/net/fmv18x.c: Likewise.
	* linuxdev/drivers/net/ne2k-pci.c: Likewise.
	* linuxdev/drivers/net/pcnet32.c: Likewise.
	* linuxdev/drivers/net/rtl8139.c: Likewise.
	* linuxdev/drivers/net/smc-ultra32.c: Likewise.
	* linuxdev/drivers/net/smc9194.c: Likewise.
	* linuxdev/drivers/net/smc9194.h: Likewise.
	* linuxdev/drivers/net/tlan.c: Likewise.
	* linuxdev/drivers/net/tlan.h: Likewise.
	* linuxdev/drivers/net/wavelan.p.h: Likewise.
	* linuxdev/drivers/net/yellowfin.c: Likewise.
	* linuxdev/drivers/scsi/FlashPoint.c: Likewise.
	* linuxdev/drivers/scsi/NCR5380.c: Likewise.
	* linuxdev/drivers/scsi/NCR5380.h: Likewise.
	* linuxdev/drivers/scsi/aic7xxx/scsi_message.h: Likewise.
	* linuxdev/drivers/scsi/aic7xxx/sequencer.h: Likewise.
	* linuxdev/drivers/scsi/aic7xxx_proc.c: Likewise.
	* linuxdev/drivers/scsi/dc390.h: Likewise.
	* linuxdev/drivers/scsi/dc390w.h: Likewise.
	* linuxdev/drivers/scsi/dtc.c: Likewise.
	* linuxdev/drivers/scsi/dtc.h: Likewise.
	* linuxdev/drivers/scsi/eata_dma_proc.c: Likewise.
	* linuxdev/drivers/scsi/eata_pio_proc.c: Likewise.
	* linuxdev/drivers/scsi/gdth.c: Likewise.
	* linuxdev/drivers/scsi/gdth.h: Likewise.
	* linuxdev/drivers/scsi/gdth_ioctl.h: Likewise.
	* linuxdev/drivers/scsi/gdth_proc.c: Likewise.
	* linuxdev/drivers/scsi/gdth_proc.h: Likewise.
	* linuxdev/drivers/scsi/ncr53c8xx.c: Likewise.
	* linuxdev/drivers/scsi/ncr53c8xx.h: Likewise.
	* linuxdev/drivers/scsi/ppa.c: Likewise.
	* linuxdev/drivers/scsi/ppa.h: Likewise.
	* linuxdev/drivers/scsi/qlogicfas.c: Likewise.
	* linuxdev/drivers/scsi/qlogicfas.h: Likewise.
	* linuxdev/drivers/scsi/qlogicisp.c: Likewise.
	* linuxdev/drivers/scsi/qlogicisp.h: Likewise.
	* linuxdev/drivers/scsi/qlogicisp_asm.c: Likewise.
	* linuxdev/drivers/scsi/scripts.h: Likewise.
	* linuxdev/drivers/scsi/scsiio.c: Likewise.
	* linuxdev/drivers/scsi/scsiiom.c: Likewise.
	* linuxdev/drivers/scsi/tmscsim.c: Likewise.
	* linuxdev/drivers/scsi/tmscsim.h: Likewise.
	* linuxdev/drivers/scsi/tmscsiw.c: Likewise.
	* linuxdev/drivers/scsi/tmscsiw.h: Likewise.
	* linuxdev/include/asm-i386/atomic.h: Likewise.
	* linuxdev/include/asm-i386/checksum.h: Likewise.
	* linuxdev/include/asm-i386/ioctls.h: Likewise.
	* linuxdev/include/asm-i386/math_emu.h: Likewise.
	* linuxdev/include/asm-i386/posix_types.h: Likewise.
	* linuxdev/include/asm-i386/semaphore.h: Likewise.
	* linuxdev/include/asm-i386/sockios.h: Likewise.
	* linuxdev/include/asm-i386/string-486.h: Likewise.
	* linuxdev/include/asm-i386/termbits.h: Likewise.
	* linuxdev/include/asm-i386/unaligned.h: Likewise.
	* linuxdev/include/asm-i386/vm86.h: Likewise.
	* linuxdev/include/linux/affs_hardblocks.h: Likewise.
	* linuxdev/include/linux/atalk.h: Likewise.
	* linuxdev/include/linux/ax25.h: Likewise.
	* linuxdev/include/linux/compile.h: Likewise.
	* linuxdev/include/linux/ctype.h: Likewise.
	* linuxdev/include/linux/fddidevice.h: Likewise.
	* linuxdev/include/linux/icmp.h: Likewise.
	* linuxdev/include/linux/if_fddi.h: Likewise.
	* linuxdev/include/linux/ipx.h: Likewise.
	* linuxdev/include/linux/md.h: Likewise.
	* linuxdev/include/linux/netrom.h: Likewise.
	* linuxdev/include/linux/posix_types.h: Likewise.
	* linuxdev/include/linux/random.h: Likewise.
	* linuxdev/include/linux/ucdrom.h: Likewise.
	* linuxdev/include/linux/udp.h: Likewise.
	* linuxdev/include/linux/wireless.h: Likewise.
	* linuxdev/include/net/br.h: Likewise.
	* linuxdev/include/net/gc.h: Likewise.
	* linuxdev/include/net/ip_masq.h: Likewise.
	* linuxdev/include/net/p8022tr.h: Likewise.
	* linuxdev/include/net/p8022trcall.h: Likewise.
	* linuxdev/include/net/rose.h: Likewise.
	* linuxdev/include/net/rosecall.h: Likewise.
	* linuxdev/include/net/slhc_vj.h: Likewise.
	* linuxdev/include/net/spx.h: Likewise.
	* linuxdev/include/scsi/scsi.h: Likewise.
	* linuxdev/include/scsi/scsi_ioctl.h: Likewise.
	* linuxdev/include/scsi/scsicam.h: Likewise.

1998-11-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>

	* i386/i386at/gpl/linux: Moved to ...
	* linuxdev: ... here.
	* i386/Makefrag: Linux drivers specific code moved to ...
	* linuxdev/Makefrag: ... here.
	* i386/Files: Recreated.
	* i386/Subdirs: Likewise.
	* linuxdev/drivers: New directory.
	* linuxdev/arch: Likewise.
	* linuxdev/arch/i386: Likewise.
	* linuxdev/{block,scsi,net,pci}: Moved to ...
	* linuxdev/drivers/{block,scsi,net,pci}: ... here.
	* i386/{Drivers.in,device-drivers.h.in,driverlist.in}: Moved to ...
	* linuxdev/{Drivers.in,device-drivers.h.in,driverlist.in}: ... here.
	* linuxdev/{linux_emul.h,linux_*.c}: Moved to ...
	* linuxdev/arch/i386/{linux_emul.h,linux_*.c}: ... here.
	* linuxdev/arch/i386/linux_block.c: Include <linux_emul.h>, instead
	of <i386at/gpl/linux/linux_emul.h>.
	* linuxdev/arch/i386/linux_init.c: Likewise.
	* linuxdev/arch/i386/linux_kmem.c: Likewise.
	* linuxdev/arch/i386/linux_misc.c: Likewise.
	* linuxdev/arch/i386/linux_net.c: Likewise.
	* linuxdev/arch/i386/linux_sched.c: Likewise.
	* device/ds_routines.c: Include <linuxdev/device-drivers.h>, instead
	of <i386/device-drivers.h>.
	* linuxdev/arch/i386/linux_init.c: Likewise.
	* linuxdev/include/linux/autoconf.h: Likewise.
	* Makefile.in: Include $(srcdir)/linuxdev/Makefrag.
	* linuxdev/Drivers.in (AC_INIT): Use include/linux/autoconf.h,
	instead of i386/i386asm.sym.

1998-10-28  Roland McGrath  <roland@baalperazim.frob.com>

	* include/mach/multiboot.h: Contents were doubled.

1998-10-24  Roland McGrath  <roland@baalperazim.frob.com>

	* Makefile.in (mach_machine): Don't depend on config.status, since it
	is always newer than the symlink target.

	* i386/Makefrag ($(systype)/device-drivers.h): Depend on
	$(systype)/driverlist, and have no commands.

	* configure.in (--enable-kdb): Fix help text; handle --disable-kdb.
	Remove BUILD_CC checks and lex/yacc checks (which were for mig).
	(installed_clib): Remove these checks.
	(LD, NM, MIG): Use AC_CHECK_TOOL for these.

	* Makefile.in (all, clean, mostlyclean, install, dist,
	%_interface.h rule, all *mig* rules): Remove all commands, deps,
	and rules related to mig, which is now in a separate distribution.

	* Makefile.in (before-compile): Add mach/machine.
	(mach/machine, mach_machine): New rules to make symlink so
	#include <mach/machine/foo.h> works.

	* Makefile.in (NM): New variable, substituted by configure.
	(check-clib-routines): Use $(NM) instead of literal "nm".
	Fix awk script to grok __ defns and weak defns of desired symbols.
	(clib-routines.o): Use $(CC) -r -nostartfiles -nostdlib -static
	instead of $(LD) -r.  Use -lc instead of $(installed-clib).
	(installed-clib): Variable removed.

	* i386/Makefrag: Use -include for linux-flags, so no warning.

	* device/chario.c: Add forward decl for ttstart.

	* i386/i386/db_trace.c: Use explicit int in decl.

	* device/ds_routines.c (device_write_trap, device_writev_trap,
	ds_trap_write_done): Cast arg to zfree.

	* kern/ipc_tt.c (mach_ports_lookup): Remove unnecessary cast.

1998-10-04  Roland McGrath  <roland@baalperazim.frob.com>

	* include/mach/message.h: Use __typeof instead of typeof.

1998-09-06  Roland McGrath  <roland@baalperazim.frob.com>

	* kern/time_out.h: Include <mach/time_value.h> for time_value_t defn.

1998-07-19  Roland McGrath  <roland@baalperazim.frob.com>

	* mig: Subdirectory removed, now in separate dist.

Fri Apr 24 14:24:15 1998  Thomas Bushnell, n/BSG  <tb@mit.edu>

	* i386/i386/pcb.c (thread_setstatus): Set STATE before validating
	segment registers.  Reported by UCHIYAMA Fasushi (uch@nop.or.jp).

Fri Apr 24 13:19:40 1998  Thomas Bushnell n/BSG  <thomas@melange.gnu.org>

	* kern/debug.c (panic): Increase "seconds" in delay to 1000; machines
	are faster now.

	* i386/i386at/gpl/linux/linux_kmem.c: Increase MEM_CHUNKS to 7.

Wed Aug 20 16:05:19 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* 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.

	* kern/mach_clock.c (record_time_stamp): New function.
	* kern/time_out.h (record_time_stamp): Add prototype.

Sun Aug  3 18:25:38 1997  Shantanu Goel  <goel@cs.columbia.edu>

	* i386/i386/thread.h (struct pcb): Added new field `data' used
	by Linux driver emulation.

	* i386/i386at/gpl/linux/include/linux/blk.h (end_request):
	Revamped Mach specific code.  Don't use `errors' field in request.
	Don't call driver's request function.

	* i386/i386at/gpl/linux/include/linux/fs.h (struct buffer_head):
	Deleted old Mach-specific definition.  Use original Linux defintion.

	* i386/i386at/gpl/linux/linux_block.c:  Rewritten extensively.
	(collect_buffer_pages): Deleted.
	(alloc_buffer, free_buffer): Rewritten to use Mach page allocator.
	(getblk, __brelse): Use Mach kernel allocator.
	(check_for_error): Deleted.
	(ll_rw_block): Allocate request structure on stack.
	(rdwr_partial, rdwr_full, do_rdwr) New routines.
	(block_read, block_write): Rewritten to use new routine do_rdwr.
	(find_name): New routine.
	(read_bsd_label, read_vtoc): New routines.
	(init_partition): New routine.
	(device_open): Rewritten for modularity.  Allocate Linux block
	variables on the stack.
	(check_limit): New routine.
	(device_read, device_write): Rewritten extensively.  Map user
	pages into kernel buffer before passing to driver.  This is in
	preparation for general Linux block driver support.  Allocate
	Linux block variables on the stack.

	* i386/i386at/gpl/linux/linux_kmem.c:
	(collect_buffer_pages): Deleted.

Fri Aug  1 16:15:33 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* kern/mach_clock.c (clock_interrupt): Test correct macro to see
	if PC sampling is configured: MACH_PCSAMPLE, not MACH_SAMPLE.

	* i386/i386/locore.S (discover_x86_cpu_type): Comment out routine
	for now.
	* i386/i386at/model_dep.c (c_boot_entry): Comment out use of
	discover_x86_cpu_type for now.

	* i386/include/mach/i386/eflags.h (EFL_AC, EFL_ID): New bits.

	* i386/i386/locore.S (discover_x86_cpu_type): Use correct opcode
	for right shift.  Use ENTRY macro correctly.

Mon Jul 28 17:01:19 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* COPYING: New file.
	* Makefile.in (topfiles): Add COPYING.

Mon Jul 21 14:20:39 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* kern/mach4.srv: Include <mach_pcsample.h> so the value of
	MACH_PCSAMPLE is made available for mach4.defs.

Thu Jul 10 13:51:20 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in (install): Use `ln -sf' instead of `-ln -s'.
	Suggested by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu).

Thu Jun 26 13:48:31 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/i386/locore.S (discover_x86_cpu_type): New function.
	* i386/i386at/model_dep.c (c_boot_entry): Fill in cpu type in
	MACHINE_SLOT using new function.

	* 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.

Mon Jun 16 12:14:17 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/i386/loose_ends.c (ovbcopy): Delete function.  Suggested by
	Matthew Wilcox (willy@odie.barnet.ac.uk.)

Thu Jun 12 18:08:29 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	Version 1.1.3 released.

	* version.c (version): Update to 1.1.3.

Wed Jun 11 20:16:47 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/Drivers.in: Add el3.  How did this escape notice?
	* i386/device-drivers.h.in: Add CONFIG_EL3.

Tue Jun 10 13:33:37 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	Version 1.1.2 released.

	* Makefile.in (install): Install cross-migcom as `migcom', not as
	`mig'.

	* i386/Makefrag (objfiles += $(device_drivers)): Sort
	$(device_drivers) before adding to objfiles in order to remove
	duplicates.

Mon Jun  9 22:14:09 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/Drivers.in: Fix typos apt.o -> atp.o; 3c403.o -> 3c503.o.

	* Drivers.macros (AC_DRIVER): Test the class selected flag
	correctly.

Mon May 26 14:33:19 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* version.c (version): Update to version 1.1.2.

Fri May 23 10:08:48 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* kern/thread.c (thread_info): Set flags word correctly;
	TH_FLAGS_SWAPPED and TH_FLAGS_IDLE are not exclusive.

	* Makefile.in (topfiles): Add aclocal.m4.
	Reported by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu).

Mon May 12 11:25:38 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	Version 1.1.1 released.

	* version.c (version): Update to version 1.1.1.

	* bogus/mach_kdb.h: Make sure MACH_KDB is always defined, to zero
	if necessary.  Bug report from Marcus Daniels
	(marcus@cathcart.sysc.pdx.edu).

Fri May  9 13:06:25 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/Files: Fix typo for _setjmp.S.
	Reflect 53c7,8xx.c -> 53c78xx.c change.

Wed May  7 15:32:08 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* version.c (version): Update to version 1.1.
	* NEWS: New file.
	* Makefile.in (topfiles): Add NEWS.

Mon May  5 11:34:01 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in (enable_kdb): Use findstring instead of filter.
	Reported by Marcus Daniels (marcus@cathcart.sysc.pdx.edu).

Fri May  2 12:43:46 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in (enable_kdb): New variable.
	(clib-routines): If enable_kdb, then add strstr.
	* i386/i386/_setjmp.S: New file, from UK22 libmach.
	* i386/Files: Add i386/i386/_setjmp.S.
	* i386/Makefrag (objfiles): Add _setjmp.o if enable_kdb.

1997-04-30  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>

	* Makefile.in (clib-routines): Add htons not because it is necessary,
	but because libc5 systems will bring it in.
	(check-clib-routines): Tolerate extra weak symbols.

Wed Apr 30 14:12:12 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in: Delete duplicate rule for cross-mig.

Mon Apr 28 12:09:53 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in (check): New target.  Reported by
	xtest@postman.epa.go.jp.

	* i386/Drivers.in (ncr53c7xx): Change file name to 53c78xx.o.
	* i386/i386at/gpl/linux/scsi/53c7,8xx.c: Moved to ...
	* i386/i386at/gpl/linux/scsi/53c78xx.c: ... here.
	* i386/Makefrag (linux-scsi-files): Change file name here too.
	Reported by xtest@postman.epa.go.jp.

Wed Apr 23 14:35:44 1997  Miles Bader  <miles@gnu.ai.mit.edu>

	* ipc/ipc_entry.c [MACH_KDB]: Add include of <kern/task.h>.

Wed Apr 23 13:21:23 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* configure.in (BUILD_CC): Use AC_CHECK_PROGS, not AC_CHECK_PROG,
	since we are checking multiple names.

	* configure.in (kdb): New --enable option.
	* Makefile.in (DEFINES): Add @DEFS@.
	* bogus/mach_kdb.h: Make this file zero length; we get MACH_KDB
	from configure now.

	* Makefile.in (clean, distclean, mostlyclean, maintainter-clean):
	New targets.
	(all-archs-configures): New variable.
	(MIG): Change to ./local-mig.
	(./local-mig): Change to build this instead of ./mig
	(check-clib-routines): Use nm -g in case there are local symbols.
	Suggested by Matthew Wilcox (willy@odie.barnet.ac.uk).

Fri Apr 18 15:25:10 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* configure.in: Add AC_PREREQ for version 2.12.
	* i386/Drivers.in: Likewise.

Wed Apr 16 16:55:36 1997  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>

	* configure.in: Replace AC_PROG_CC with AC_PROG_CC_LOCAL.
	If cross compiling do Lex/Yacc checks with BUILD_CC.
	Check CC and BUILD_CC for libraries having the needed support,
	and substitute discovery in installed_clib.

	* aclocal.m4: New file.  These replacement macros are to handle
	the case where there is a cross compiler but no supporting files.

	* Makefile.in (installed-clib): Don't hardwire a Hurd libcrt.a.
	(cross_linkable): Only define cross-migcom variable when it will
	be possible to build it.
	(all, install): Use $(cross-migcom).
	(install): Install cross-migcom only if was to be built.
	(mkinstalldirs): Add $(bindir), $(includedir)/mach/exec
	(cross-lexxer.o lexxer.o): lexxer.o needs cpu.h.
	(./cross-migcom): Prevent dependency generation for cross-* MiG files
	unless they can actually be built.

Thu Apr 17 15:55:40 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* kern/exception.c (exception_no_server): Comment out the suspend
	code; it's useful for special case debugging, but causes problems
	in general.

Wed Apr 16 12:52:25 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in (cross-lexxer.o lexxer.o): Add pump-priming
	dependency on cpu.h.  Reported by Marcus G. Daniels
	(marcus@cathcart.sysc.pdx.edu).

	* configure.in: Fail if configure target is not for GNU os.

	* i386/Drivers.in (com): Delete option.  It's required by
	kd_mouse.c.
	* i386/Makefrag (i386at-files): Add com.c.
	(driver-files): Delete variable.
	* i386/bogus/com.h: Revert change of March 10.
	* i386/device-drivers.h.in (CONFIG_MACH_COM): Delete option.
	Bug report from Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu).

	* Makefile.in (./cross-mig): New rule.
	(mkinstalldirs): Add $(libexecdir).
	* configure.in: Recognize i686.
	Reported by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu).

Mon Apr 14 11:50:45 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Released version 1.0.

	* kern/exception.c (exception_no_server): Try and suspend the
	failing thread before killing the task.  Then a debugger can be
	used.

	* i386/Makefrag: Add rebuilding rules for configure subscript.

	* i386/Makefrag: Fix up copyright notice.
	* i386/Drivers.in: Likewise.
	* Makefile.in: Likewise.
	* Drivers.macros: Likewise.
	* configure.in: Likewise.

	* include/sys/time.h: New file, from include/mach/sa/sys/time.h.
	* include/sys/reboot.h: New file, from include/mach/sa/sys/reboot.h.
	* include/sys/ioctl.h: New file, from include/mach/sa/sys/ioctl.h.
	* include/alloca.h: New file, from include/mach/sa/alloca.h.
	* Makefile.in (other-sys-headers): Add time.h, ioctl.h, and reboot.h.
	(other-mach-headers): New variable.
	(mach-exec-headers): New variable.
	(other-headers): New variable.
	(installed-headers): Add mach-exec-headers.
	(dist): Distribute other-mach-headers, other-sys-headers,
	mach-exec-headers, and other-headers.
	(device-files): Add device.srv.

	* Makefile.in (check-clib-routines): Use more efficient rule.

Fri Apr 11 15:18:09 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in (dist): Repair rule.
	(other-sys-headers): New variable.
	(dist): Install $(other-sys-headers).
	(INCLUDES): Remove -I$(srcdir)/include/mach/sa.
	(rules for mig-related .d files): Include MiG-specific -I flags.
	(mach-headers): Add inline.h.
	* include/sys/types.h: New file, from include/mach/sa/sys/types.h.

Mon Mar 24 16:23:21 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* version.c (version): Make that 1.0.  Whee.

Fri Mar 21 15:50:09 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/i386at/gpl/linux/scsi/aha1740.c (aha1740_test_port): Try
	and turn on PORTADDR_ENH before checking it.

	* vm/vm_object.c (vm_object_cached_max): Increase to 200.

Thu Mar 20 12:33:06 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile.in (dist): New target.  Reorganized some vars
	describing source.
	* i386/Subdirs: New file.
	* i386/Files: New file.

	* version.c (version): Push back to 0.1.

	* Makefile.in (cross_compiling, bindir, libexecdir): New
	variable.

	* Makefile.in (install): Depend on cross-mig and cross-migcom;
	install them.  New rules added to build mig, migcom, cross-mig,
	and cross-migcom.

	* configure.in (AC_PROG_LEX, AC_PROG_YACC): New tests.
	(BUILD_CC): New test to set these.

	* Makefile.in (%.h %_user.c): Depend on $(MIG) too.
	(%_interface.h %_server.c): Likewise.
	(MIG): Don't use @MIG@; hard code it to the one we build.
	(BUILD_CC, BUILD_CFLAGS, MIGCOM, LEX, YACC, LEXLIB): New variables.

Wed Mar 19 16:47:28 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/i386at/kd.c (BROKEN_KEYBOARD_RESET): Turn off this so that
	we attempt the keyboard resets.
	* i386/i386/locore.S (cpu_shutdown): Attempt to provide a more
	`robust' null_idtr.

Mon Mar 17 13:47:14 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/i386at/gpl/linux/scsi/hosts.c (scsi_init): Don't print out
	gratuitious obnoxiousness.
	* i386/i386at/gpl/linux/scsi/scsi.c (scsi_dev_init): Likewise.
	* i386/i386at/gpl/linux/block/triton.c (ide_init_triton):
	Likewise.
	(init_triton_dma): Likewise.
	* i386/i386at/gpl/linux/pci/pci.c (pci_init): Likewise.
	* i386/i386at/gpl/linux/pci/bios32.c (check_pcibios): Likewise.
	(pcibios_init): Likewise.
	* i386/i386at/gpl/linux/block/genhd.c (add_partition): Likewise.

	* i386/i386at/gpl/linux/net/8390.c (ei_debug): Make default value
	zero.

Wed Mar 12 14:50:46 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/i386at/com.c (comprobe): Turn off noisiness.

	* i386/i386at/gpl/linux/linux_block.c (check_disk_change): Don't
	print out gratuitous obnoxiousness.
	(device_open): Likewise.
	* kern/bootstrap.c (copy_bootstrap): Likewise.
	(user_bootstrap): Likewise.
	* i386/i386at/gpl/linux/block/genhd.c (msdos_partition): Likewise.
	(osf_partition): Likewise.
	(sun_partition): Likewise.
	(check_partition): Likewise.
	* i386/i386/pit.c (findspeed): Likewise.
	* vm/vm_resident.c (vm_page_bootstrap): Likewise.

Mon Mar 10 15:04:47 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/i386at/gpl/linux/linux_init.c (calibrate_delay): Don't
	print out gratuitous obnoxiousness.

	* i386/i386at/gpl/linux/linux_init.c (linux_init): Only call
	linux_net_emulation_init if CONFIG_INET.  Include
	<i386/device-drivers.h>.

	* i386/i386at/i386at_ds_routines.c: Include
	<i386/device-drivers.h>.  Don't mention linux_net_emulation_ops
	unless CONFIG_INET.

	* device/ds_routines.c (io_done_thread_continue): [i386]
	Conditionalize free_skbuffs also on CONFIG_INET.  Include
	<i386/device-drivers.h>.

	* i386/Drivers.in, i386/device-drivers.h.in, i386/driverlist.in:
	New files.
	* i386/Makefrag: Include i386/driverlist; don't include all device
	drivers in kernel image; instead use list from driverlist.
	* configure.in: Configure in $systype subdir too.

	* i386/i386at/gpl/linux/include/linux/autoconf.h: Damage severly
	to conform to device-drivers.h model.

	* i386/bogus/com.h: Include <i386/device-drivers.h>.
	Only turn on NCOM if CONFIG_MACH_COM is present.

Mon Mar  3 16:26:58 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* include/mach/message.h (__mach_msg, __mach_msg_trap): Add decls.

Tue Feb 25 15:42:23 1997  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* i386/Makefrag (INCLUDES): Find `include' directory in new
	location.
	* Makefile (INCLUDES): Find `include' directory in new location.
	(%.symc): Find gensym.awk in new location.

	* Reorganized directories into new layout and unified mach4 and
	mach4-i386 into a single tree.


Older changes in ChangeLog.00 (for i386 directory) and ChangeLog.0 (for
all other files).
