summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog32
-rw-r--r--debian/patches/00_clean_gfdl.patch2
-rw-r--r--debian/patches/05_halt_on_panic_flag.patch6
-rw-r--r--debian/patches/13_ide_dma.patch4
-rw-r--r--debian/patches/14_alloc_params.patch13
-rw-r--r--debian/patches/21_aligned_zalloc.patch18
-rw-r--r--debian/patches/30_net_multicast.patch29
-rw-r--r--debian/patches/50_ide_bm.patch25
-rw-r--r--debian/patches/60_bad_user_access_length_fix.patch20
-rw-r--r--debian/patches/61_vm_resident-zoned.patch1708
-rw-r--r--debian/patches/70_cld.patch13
-rw-r--r--debian/patches/80_rtl8139_open.patch33
-rw-r--r--debian/patches/90_autoconf_autogen.patch1151
-rw-r--r--debian/patches/series6
14 files changed, 21 insertions, 3039 deletions
diff --git a/debian/changelog b/debian/changelog
index 445b36f..241cf7c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,26 +1,19 @@
-gnumach (2:1.3.99.dfsg.cvs20070809-2) UNRELEASED; urgency=low
+gnumach (2:1.3.99.dfsg.cvs20080708-1) UNRELEASED; urgency=low
+
+ * New upstream CVS snapshot.
+ - Fix zalloc alignment support, and thus alignment of FPU save area.
+ (Closes: #440068)
+ - Enable multicast for IPv6.
+ - Enable Bus Mastering on triton chipsets.
+ - Fix gcc-4.3 non-inlining. (Closes: #474902)
+ - Fix direction flag on syscall entry. (Closes: #469566)
+ - Fix initialization of RTL8139. (Closes: #469566)
[ Samuel Thibault ]
* Append more agressive caching parameter to
debian/patches/14_alloc_params.patch.
- * Fix zalloc alignment support, and thus alignment of FPU save area
- (Closes: #440068)
- - debian/patches/21_aligned_zalloc.patch
* New patch to enable IDE multiple sector I/O when the drive can do it.
- debian/patches/16_ide_multsect.patch
- * New patch from CVS to enable multicast for IPv6.
- - debian/patches/30_net_multicast.patch
- * New patch from CVS to enable Bus Mastering on triton chipsets.
- - debian/patches/50_ide_bm.patch
- * New patch from CVS to fix gcc-4.3 non-inlining.
- (Closes: #474902)
- - debian/patches/60_bad_user_access_length_fix.patch
- * New patch from CVS to fix direction flag on syscall entry.
- (Closes: #469566)
- - debian/patches/70_cld.patch
- * New patch from CVS to fix initialization of RTL8139.
- (Closes: #469566)
- - debian/patches/80_rtl8139_open.patch
* Clean debian/tmp-dbg.
[ Guillem Jover ]
@@ -35,6 +28,11 @@ gnumach (2:1.3.99.dfsg.cvs20070809-2) UNRELEASED; urgency=low
* Remove DPATCHLEVEL variable from patches.
* Change source and binary packages from Section base to admin.
* Mangle the Debian version in the watch file.
+ * Sync with upstream:
+ - debian/patches/00_clean_gfdl.patch: Refresh.
+ - debian/patches/05_halt_on_panic_flag.patch: Likewise.
+ - debian/patches/13_ide_dma.patch: Likewise.
+ - debian/patches/14_alloc_params.patch: Likewise.
-- Guillem Jover <guillem@debian.org> Thu, 09 Aug 2007 01:45:22 +0300
diff --git a/debian/patches/00_clean_gfdl.patch b/debian/patches/00_clean_gfdl.patch
index 8dd4133..d3d327c 100644
--- a/debian/patches/00_clean_gfdl.patch
+++ b/debian/patches/00_clean_gfdl.patch
@@ -2,7 +2,7 @@ Index: b/Makefile.am
===================================================================
--- a/Makefile.am
+++ b/Makefile.am
-@@ -110,7 +110,7 @@ include Makefrag.am
+@@ -108,7 +108,7 @@ include Makefrag.am
include tests/Makefrag.am
# Documentation.
diff --git a/debian/patches/05_halt_on_panic_flag.patch b/debian/patches/05_halt_on_panic_flag.patch
index 5d99852..1509810 100644
--- a/debian/patches/05_halt_on_panic_flag.patch
+++ b/debian/patches/05_halt_on_panic_flag.patch
@@ -50,9 +50,9 @@ Index: b/kern/debug.c
void
panic(const char *s, ...)
@@ -165,7 +169,7 @@ panic(const char *s, ...)
- #if MACH_KDB
- Debugger("panic");
- #else
+ delay (1000000); /* microseconds */
+ }
+
- halt_all_cpus (1);
+ halt_all_cpus (reboot_on_panic);
#endif
diff --git a/debian/patches/13_ide_dma.patch b/debian/patches/13_ide_dma.patch
index c17ee2a..c3252e2 100644
--- a/debian/patches/13_ide_dma.patch
+++ b/debian/patches/13_ide_dma.patch
@@ -586,7 +586,7 @@ Index: b/linux/src/drivers/block/triton.c
goto quit;
if ((pcicmd & 1) == 0) {
printk("ide: ports are not enabled (BIOS)\n");
-@@ -416,21 +639,29 @@ void ide_init_triton (byte bus, byte fn)
+@@ -426,21 +649,29 @@ void ide_init_triton (byte bus, byte fn)
*/
int try_again = 1;
do {
@@ -623,7 +623,7 @@ Index: b/linux/src/drivers/block/triton.c
goto quit;
}
} while (try_again--);
-@@ -439,89 +670,308 @@ void ide_init_triton (byte bus, byte fn)
+@@ -449,89 +680,308 @@ void ide_init_triton (byte bus, byte fn)
/*
* See if ide port(s) are enabled
*/
diff --git a/debian/patches/14_alloc_params.patch b/debian/patches/14_alloc_params.patch
index 7dc6542..e5f246a 100644
--- a/debian/patches/14_alloc_params.patch
+++ b/debian/patches/14_alloc_params.patch
@@ -68,19 +68,6 @@ Index: b/vm/vm_object.c
decl_simple_lock_data(,vm_object_cached_lock_data)
-Index: b/linux/dev/glue/block.c
-===================================================================
---- a/linux/dev/glue/block.c
-+++ b/linux/dev/glue/block.c
-@@ -572,7 +572,7 @@ out:
- }
-
- #define BH_Bounce 16
--#define MAX_BUF VM_MAP_COPY_PAGE_LIST_MAX
-+#define MAX_BUF 8
-
- /* Perform read/write operation RW on device DEV
- starting at *off to/from buffer *BUF of size *RESID.
Index: b/vm/vm_map.h
===================================================================
--- a/vm/vm_map.h
diff --git a/debian/patches/21_aligned_zalloc.patch b/debian/patches/21_aligned_zalloc.patch
deleted file mode 100644
index bef36f1..0000000
--- a/debian/patches/21_aligned_zalloc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-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).
-
-Index: b/kern/zalloc.c
-===================================================================
---- a/kern/zalloc.c
-+++ b/kern/zalloc.c
-@@ -320,6 +320,8 @@ static vm_offset_t zget_space(vm_offset_
- zone_page_init(new_space, space_to_add,
- ZONE_PAGE_USED);
- simple_lock(&zget_space_lock);
-+ if (align > 0)
-+ ALIGN_SIZE_UP(zalloc_next_space, align);
- continue;
- }
-
diff --git a/debian/patches/30_net_multicast.patch b/debian/patches/30_net_multicast.patch
deleted file mode 100644
index ff4d6d9..0000000
--- a/debian/patches/30_net_multicast.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-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.
-
-Index: b/linux/dev/glue/net.c
-===================================================================
---- a/linux/dev/glue/net.c
-+++ b/linux/dev/glue/net.c
-@@ -398,8 +398,14 @@ device_open (ipc_port_t reply_port, mach
- }
- else
- {
-- dev->flags |= LINUX_IFF_UP | LINUX_IFF_RUNNING;
-+ /* IPv6 heavily relies on multicasting (especially router and
-+ neighbor solicits and advertisements), so enable reception of
-+ those multicast packets by setting `LINUX_IFF_ALLMULTI'. */
-+ dev->flags |= LINUX_IFF_UP | LINUX_IFF_RUNNING | LINUX_IFF_ALLMULTI;
- skb_queue_head_init (&dev->buffs[0]);
-+
-+ if (dev->set_multicast_list)
-+ dev->set_multicast_list (dev);
- }
- if (IP_VALID (reply_port))
- ds_device_open_reply (reply_port, reply_port_type,
diff --git a/debian/patches/50_ide_bm.patch b/debian/patches/50_ide_bm.patch
deleted file mode 100644
index 982f28b..0000000
--- a/debian/patches/50_ide_bm.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Enable Bus Mastering if not enabled by BIOS (Bochs' BIOS doesn't).
-
-Index: b/linux/src/drivers/block/triton.c
-===================================================================
---- a/linux/src/drivers/block/triton.c
-+++ b/linux/src/drivers/block/triton.c
-@@ -632,7 +632,17 @@ hpt343_jump_in:
- goto quit;
- }
- if ((pcicmd & 4) == 0) {
-- printk("ide: BM-DMA feature is not enabled (BIOS)\n");
-+ printk("ide: BM-DMA feature is not enabled (BIOS), enabling\n");
-+ pcicmd |= 4;
-+ pcibios_write_config_word(bus, fn, 0x04, pcicmd);
-+ if ((rc = pcibios_read_config_word(bus, fn, 0x04, &pcicmd))) {
-+ printk("ide: Couldn't read back PCI command\n");
-+ goto quit;
-+ }
-+ }
-+
-+ if ((pcicmd & 4) == 0) {
-+ printk("ide: BM-DMA feature couldn't be enabled\n");
- } else {
- /*
- * Get the bmiba base address
diff --git a/debian/patches/60_bad_user_access_length_fix.patch b/debian/patches/60_bad_user_access_length_fix.patch
deleted file mode 100644
index 7445018..0000000
--- a/debian/patches/60_bad_user_access_length_fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/linux/dev/include/asm-i386/segment.h 14 Jan 2004 22:28:30 -0000 1.2.2.1
-+++ b/linux/dev/include/asm-i386/segment.h 2 Jul 2008 11:27:19 -0000
-@@ -44,7 +44,7 @@ struct __segment_dummy { unsigned long a
- #define __sd(x) ((struct __segment_dummy *) (x))
- #define __const_sd(x) ((const struct __segment_dummy *) (x))
-
--static inline void __put_user(unsigned long x, void * y, int size)
-+static inline void __attribute__((always_inline)) __put_user(unsigned long x, void * y, int size)
- {
- switch (size) {
- case 1:
-@@ -67,7 +67,7 @@ static inline void __put_user(unsigned l
- }
- }
-
--static inline unsigned long __get_user(const void * y, int size)
-+static inline unsigned long __attribute__((always_inline)) __get_user(const void * y, int size)
- {
- unsigned long result;
-
diff --git a/debian/patches/61_vm_resident-zoned.patch b/debian/patches/61_vm_resident-zoned.patch
deleted file mode 100644
index 94ccc03..0000000
--- a/debian/patches/61_vm_resident-zoned.patch
+++ /dev/null
@@ -1,1708 +0,0 @@
-2006-01-20 Gianluca Guida <glguida@gmail.com>
-
- * vm/pmap.h (pmap_is_dma, pmap_is_normal): New functions.
-
- * vm/page.h (VM_PAGE_DMA): New macro.
- (vm_page_queue_free): Variable removed.
- (vm_page_queue_free_dma, vm_page_queue_free_normal): New
- variables.
- (vm_page_physaddr_lookup, vm_page_grab_flags)
- (vm_page_grab_contiguous_pages_flags): New functions.
- (first_phys_addr, last_phys_addr): Declarations removed.
- (phys_first_addr, phys_last_addr): New declarations.
-
- * vm/vm_resident.c (vm_page_free_bitmap)
- (vm_page_free_bitmap_bitsz): New variables.
- (vm_page_free_bitmap_set, vm_page_free_bitmap_unset)
- (vm_page_free_bitmap_alloc, vm_page_array_init, vm_page_array_add)
- (vm_page_physaddr_lookup): New functions.
- (vm_page_bootstrap): Initialize vm_page_queue_free_normal and
- vm_page_queue_free_dma. Call vm_page_free_bitmap_alloc.
- (pmap_startup): Call vm_page_array_init. Add page to vm_page_array
- for physaddress-to-vm_page_t resolution. Do not release page in
- any particular order.
- (vm_page_create): Add page to vm_page_array.
- (vm_page_grab_flags, vm_page_grab_contiguous_pages_queue)
- (vm_page_grab_contiguous_flags): New functions.
- (vm_page_grab, vm_page_grab_contiguous_pages): Function rewritten.
- (vm_page_release): Select proper free list based on page type (DMA
- or non-DMA). Use Mach's queue handling funcitons not .next and
- .prev pointers manually. Set vm_page_free_bitmap when freeing a
- page.
-
- * i386/i386at/model_dep.c (use_all_mem): Always set to 1.
- (init_alloc_aligned): Do not use any particular oder during
- bootstrap allocation.
-
- * kern/startup.c: Include <vm/pmap.h>.
- (setup_main): Calculate memory size using phys_last_addr and
- phys_first_addr.
-
- * i386/intel/pmap.c (vm_page_normal_first, vm_page_normal_last)
- (vm_page_dma_first, vm_page_dma_last): New variables.
- (pmap_bootstrap): Set proper values to vm_page_normal_* and
- vm_page_dma_* based on system's memory.
- (pmap_is_dma, pmap_is_normal): New functions.
-
- * kern/startup.c: Removed /* XXX */ comments, since phys_last_addr
- and phys_first_addr are exported by pmap.c now.
-
- * linux/dev/glue/kmem.c: Include <mach/error.h>
- (MEM_CHUNK_SIZE, MEM_CHUNKS, NBPW): Macro removed.
- (pages_free, memlist, num_page_collect, linux_mem_avail):
- Variables removed.
- (memlist_dma, memlist_nml): New variables.
- (linux_kmem_init): No initialization needed anymore (all code
- removed).
- (coalesce_blocks): Coalesce separately DMA memory blocks and
- non-DMA memory blocks.
- (linux_kmalloc): Check for DMA in priority argument. Select proper
- memlist to get blocks from. Pass dma information to
- __get_free_pages.
- (linux_kfree): Select proper memlist to free memory into.
- (collect_kmalloc_pages): Function removed.
- (collect_kmalloc_pages_dma, collect_kmalloc_pages_nml)
- (linux_kmem_collect): New functions.
- (__get_free_pages, free_pages): Functions rewritten.
-
- * linux/dev/init/main.c (CONTIG_ALLOC, NBPW): Macro removed.
- (CONTIG_ALLOC_ORDER): New macro.
- (linux_init): Use __getfreepages to allocate PCI initialization
- memory and free_pages to free it.
- (alloc_contig_mem, free_contig_mem): Functions removed.
-
- * vm/vm_pageout.c (vm_pageout_scan) [LINUX_DEV]: Call
- linux_kmem_collect.
-
-
-Index: i386/i386at/model_dep.c
-===================================================================
---- i386/i386at/model_dep.c.orig 2006-08-26 20:27:09.000000000 +0300
-+++ i386/i386at/model_dep.c 2006-08-26 20:27:35.000000000 +0300
-@@ -449,7 +449,6 @@ init_alloc_aligned(vm_size_t size, vm_of
- vm_offset_t addr;
- extern char start[], end[];
- int i;
-- static int wrapped = 0;
-
- /* Memory regions to skip. */
- vm_offset_t cmdline_start_pa = boot_info.flags & MULTIBOOT_CMDLINE
-@@ -469,25 +468,8 @@ init_alloc_aligned(vm_size_t size, vm_of
- /* Page-align the start address. */
- avail_next = round_page(avail_next);
-
-- /* Start with memory above 16MB, reserving the low memory for later. */
-- if (!wrapped && phys_last_addr > 16 * 1024*1024)
-- {
-- if (avail_next < 16 * 1024*1024)
-- avail_next = 16 * 1024*1024;
-- else if (avail_next == phys_last_addr)
-- {
-- /* We have used all the memory above 16MB, so now start on
-- the low memory. This will wind up at the end of the list
-- of free pages, so it should not have been allocated to any
-- other use in early initialization before the Linux driver
-- glue initialization needs to allocate low memory. */
-- avail_next = 0x1000;
-- wrapped = 1;
-- }
-- }
--
- /* Check if we have reached the end of memory. */
-- if (avail_next == (wrapped ? 16 * 1024*1024 : phys_last_addr))
-+ if (avail_next == phys_last_addr)
- return FALSE;
-
- /* Tentatively assign the current location to the caller. */
-Index: i386/intel/pmap.c
-===================================================================
---- i386/intel/pmap.c.orig 2006-08-26 20:27:01.000000000 +0300
-+++ i386/intel/pmap.c 2006-08-26 20:27:35.000000000 +0300
-@@ -584,6 +584,11 @@ vm_offset_t pmap_map_bd(virt, start, end
- return(virt);
- }
-
-+unsigned long vm_page_normal_first = 16*1024*1024;
-+unsigned long vm_page_normal_last = 0;
-+unsigned long vm_page_dma_first = 0;
-+unsigned long vm_page_dma_last = 16*1024*1024 - 1;
-+
- /*
- * Bootstrap the system enough to run with virtual memory.
- * Allocate the kernel page directory and page tables,
-@@ -703,6 +708,25 @@ void pmap_bootstrap()
- va += INTEL_PGBYTES;
- }
- }
-+
-+ if (phys_last_addr <= 16*1024*1024) {
-+ /* Set so to never get TRUE from isnormal(). */
-+ vm_page_normal_first = phys_last_addr + 1;
-+ vm_page_normal_last = 0;
-+
-+ /* Only DMA memory. */
-+ vm_page_dma_first = 0;
-+ vm_page_dma_last = phys_last_addr;
-+ } else {
-+ vm_page_normal_first = 16*1024*1024;
-+ vm_page_normal_last = phys_last_addr;
-+
-+ vm_page_dma_first = 0;
-+ vm_page_dma_last = 16*1024*1024 - 1;
-+ }
-+
-+
-+
- }
-
- #if i860
-@@ -2346,6 +2370,27 @@ boolean_t pmap_is_referenced(phys)
- return (phys_attribute_test(phys, PHYS_REFERENCED));
- }
-
-+/*
-+ * pmap_is_dma
-+ *
-+ * Return TRUE if PHYS is in the DMA zone range.
-+ */
-+boolean_t pmap_is_dma (vm_offset_t phys)
-+{
-+ return (phys < 16*1024*1024);
-+}
-+
-+/*
-+ * pmap_is_normal:
-+ *
-+ * Return TRUE if PHYS is in the normal zone range.
-+ */
-+boolean_t pmap_is_normal (vm_offset_t phys)
-+{
-+ return (phys >= 16*1024*1024);
-+}
-+
-+
- #if NCPUS > 1
- /*
- * TLB Coherence Code (TLB "shootdown" code)
-Index: kern/startup.c
-===================================================================
---- kern/startup.c.orig 2006-08-26 20:27:01.000000000 +0300
-+++ kern/startup.c 2006-08-26 20:27:35.000000000 +0300
-@@ -78,9 +78,6 @@ extern void start_other_cpus();
- extern void action_thread();
- #endif /* NCPUS > 1 */
-
--/* XX */
--extern vm_offset_t phys_first_addr, phys_last_addr;
--
- /*
- * Running in virtual memory, on the interrupt stack.
- * Does not return. Dispatches initial thread.
-@@ -120,7 +117,7 @@ void setup_main()
- machine_init();
-
- machine_info.max_cpus = NCPUS;
-- machine_info.memory_size = phys_last_addr - phys_first_addr; /* XXX mem_size */
-+ machine_info.memory_size = phys_last_addr - phys_first_addr;
- machine_info.avail_cpus = 0;
- machine_info.major_version = KERNEL_MAJOR_VERSION;
- machine_info.minor_version = KERNEL_MINOR_VERSION;
-Index: linux/dev/glue/kmem.c
-===================================================================
---- linux/dev/glue/kmem.c.orig 2006-08-26 20:27:01.000000000 +0300
-+++ linux/dev/glue/kmem.c 2006-08-26 20:27:35.000000000 +0300
-@@ -25,6 +25,7 @@
- #include <sys/types.h>
-
- #include <mach/mach_types.h>
-+#include <mach/error.h>
- #include <mach/vm_param.h>
-
- #include <kern/assert.h>
-@@ -40,22 +41,11 @@
-
- #include <asm/system.h>
-
--extern void *alloc_contig_mem (unsigned, unsigned, unsigned, vm_page_t *);
- extern int printf (const char *, ...);
-
--/* Amount of memory to reserve for Linux memory allocator.
-- We reserve 64K chunks to stay within DMA limits.
-- Increase MEM_CHUNKS if the kernel is running out of memory. */
--#define MEM_CHUNK_SIZE (64 * 1024)
--#define MEM_CHUNKS 7
--
- /* Mininum amount that linux_kmalloc will allocate. */
- #define MIN_ALLOC 12
-
--#ifndef NBPW
--#define NBPW 32
--#endif
--
- /* Memory block header. */
- struct blkhdr
- {
-@@ -70,62 +60,17 @@ struct pagehdr
- struct pagehdr *next; /* next header in list */
- };
-
--/* This structure describes a memory chunk. */
--struct chunkhdr
--{
-- unsigned long start; /* start address */
-- unsigned long end; /* end address */
-- unsigned long bitmap; /* busy/free bitmap of pages */
--};
--
--/* Chunks from which pages are allocated. */
--static struct chunkhdr pages_free[MEM_CHUNKS];
--
- /* Memory list maintained by linux_kmalloc. */
--static struct pagehdr *memlist;
-+static struct pagehdr *memlist_dma = NULL;
-+static struct pagehdr *memlist_nml = NULL;
-
- /* Some statistics. */
- int num_block_coalesce = 0;
--int num_page_collect = 0;
--int linux_mem_avail;
-
- /* Initialize the Linux memory allocator. */
- void
- linux_kmem_init ()
- {
-- int i, j;
-- vm_page_t p, pages;
--
-- for (i = 0; i < MEM_CHUNKS; i++)
-- {
-- /* Allocate memory. */
-- pages_free[i].start = (unsigned long) alloc_contig_mem (MEM_CHUNK_SIZE,
-- 16 * 1024 * 1024,
-- 0xffff, &pages);
--
-- assert (pages_free[i].start);
-- assert ((pages_free[i].start & 0xffff) == 0);
--
-- /* Sanity check: ensure pages are contiguous and within DMA limits. */
-- for (p = pages, j = 0; j < MEM_CHUNK_SIZE - PAGE_SIZE; j += PAGE_SIZE)
-- {
-- assert (p->phys_addr < 16 * 1024 * 1024);
-- assert (p->phys_addr + PAGE_SIZE
-- == ((vm_page_t) p->pageq.next)->phys_addr);
--
-- p = (vm_page_t) p->pageq.next;
-- }
--
-- pages_free[i].end = pages_free[i].start + MEM_CHUNK_SIZE;
--
-- /* Initialize free page bitmap. */
-- pages_free[i].bitmap = 0;
-- j = MEM_CHUNK_SIZE >> PAGE_SHIFT;
-- while (--j >= 0)
-- pages_free[i].bitmap |= 1 << j;
-- }
--
-- linux_mem_avail = (MEM_CHUNKS * MEM_CHUNK_SIZE) >> PAGE_SHIFT;
- }
-
- /* Return the number by which the page size should be
-@@ -178,7 +123,40 @@ coalesce_blocks ()
-
- num_block_coalesce++;
-
-- for (ph = memlist; ph; ph = ph->next)
-+ /* Coalesce DMA memory. */
-+ for (ph = memlist_dma; ph; ph = ph->next)
-+ {
-+ bh = (struct blkhdr *) (ph + 1);
-+ ebh = (struct blkhdr *) ((void *) ph + ph->size);
-+ while (1)
-+ {
-+ /* Skip busy blocks. */
-+ while (bh < ebh && !bh->free)
-+ bh = (struct blkhdr *) ((void *) (bh + 1) + bh->size);
-+ if (bh == ebh)
-+ break;
-+
-+ /* Merge adjacent free blocks. */
-+ while (1)
-+ {
-+ bhp = (struct blkhdr *) ((void *) (bh + 1) + bh->size);
-+ if (bhp == ebh)
-+ {
-+ bh = bhp;
-+ break;
-+ }
-+ if (!bhp->free)
-+ {
-+ bh = (struct blkhdr *) ((void *) (bhp + 1) + bhp->size);
-+ break;
-+ }
-+ bh->size += bhp->size + sizeof (struct blkhdr);
-+ }
-+ }
-+ }
-+
-+ /* Coalesce non-DMA memory. */
-+ for (ph = memlist_nml; ph; ph = ph->next)
- {
- bh = (struct blkhdr *) (ph + 1);
- ebh = (struct blkhdr *) ((void *) ph + ph->size);
-@@ -216,20 +194,26 @@ coalesce_blocks ()
- void *
- linux_kmalloc (unsigned int size, int priority)
- {
-- int order, coalesced = 0;
-+ int order, coalesced = 0, dma = 0;
- unsigned flags;
-- struct pagehdr *ph;
-+ struct pagehdr *ph, **memlistp;
- struct blkhdr *bh, *new_bh;
-
-+ if (priority & GFP_DMA)
-+ {
-+ memlistp = &memlist_dma;
-+ dma = 1;
-+ }
-+ else
-+ {
-+ memlistp = &memlist_nml;
-+ dma = 0;
-+ }
- if (size < MIN_ALLOC)
- size = MIN_ALLOC;
- else
- size = (size + sizeof (int) - 1) & ~(sizeof (int) - 1);
-
-- assert (size <= (MEM_CHUNK_SIZE
-- - sizeof (struct pagehdr)
-- - sizeof (struct blkhdr)));
--
- save_flags (flags);
- cli ();
-
-@@ -238,7 +222,7 @@ again:
-
- /* Walk the page list and find the first free block with size
- greater than or equal to the one required. */
-- for (ph = memlist; ph; ph = ph->next)
-+ for (ph = *memlistp; ph; ph = ph->next)
- {
- bh = (struct blkhdr *) (ph + 1);
- while (bh < (struct blkhdr *) ((void *) ph + ph->size))
-@@ -278,16 +262,26 @@ again:
- order = get_page_order (size
- + sizeof (struct pagehdr)
- + sizeof (struct blkhdr));
-- ph = (struct pagehdr *) __get_free_pages (GFP_KERNEL, order, ~0UL);
-+ ph = (struct pagehdr *) __get_free_pages (GFP_KERNEL, order, dma);
- if (!ph)
- {
- restore_flags (flags);
- return NULL;
- }
-
-+ /* __get_free_pages may return DMA memory if non-DMA memory is not
-+ free so we check back here for mem type. */
-+ if (pmap_is_dma ((unsigned long)ph))
-+ {
-+ memlistp = &memlist_dma;
-+ }
-+ else
-+ {
-+ memlistp = &memlist_nml;
-+ }
- ph->size = PAGE_SIZE << order;
-- ph->next = memlist;
-- memlist = ph;
-+ ph->next = *memlistp;
-+ *memlistp = ph;
- bh = (struct blkhdr *) (ph + 1);
- bh->free = 0;
- bh->size = ph->size - sizeof (struct pagehdr) - sizeof (struct blkhdr);
-@@ -310,17 +304,28 @@ void
- linux_kfree (void *p)
- {
- unsigned flags;
-+ vm_offset_t addr;
- struct blkhdr *bh;
-- struct pagehdr *ph;
-+ struct pagehdr *ph, **memlistp;
-
- assert (((int) p & (sizeof (int) - 1)) == 0);
-
-+ addr = (vm_offset_t) p;
-+
-+ if (pmap_is_dma (addr))
-+ {
-+ memlistp = &memlist_dma;
-+ }
-+ else
-+ {
-+ memlistp = &memlist_nml;
-+ }
- save_flags (flags);
- cli ();
-
- check_page_list (__LINE__);
-
-- for (ph = memlist; ph; ph = ph->next)
-+ for (ph = *memlistp; ph; ph = ph->next)
- if (p >= (void *) ph && p < (void *) ph + ph->size)
- break;
-
-@@ -339,10 +344,10 @@ linux_kfree (void *p)
- restore_flags (flags);
- }
-
--/* Free any pages that are not in use.
-+/* Free any DMA page that are not in use.
- Called by __get_free_pages when pages are running low. */
- static void
--collect_kmalloc_pages ()
-+collect_kmalloc_pages_dma ()
- {
- struct blkhdr *bh;
- struct pagehdr *ph, **prev_ph;
-@@ -353,8 +358,8 @@ collect_kmalloc_pages ()
-
- check_page_list (__LINE__);
-
-- ph = memlist;
-- prev_ph = &memlist;
-+ ph = memlist_dma;
-+ prev_ph = &memlist_dma;
- while (ph)
- {
- bh = (struct blkhdr *) (ph + 1);
-@@ -373,68 +378,91 @@ collect_kmalloc_pages ()
-
- check_page_list (__LINE__);
- }
--
--/* Allocate ORDER + 1 number of physically contiguous pages.
-- PRIORITY and DMA are not used in Mach.
--
-- XXX: This needs to be dynamic. To do that we need to make
-- the Mach page manipulation routines interrupt safe and they
-- must provide machine dependant hooks. */
--unsigned long
--__get_free_pages (int priority, unsigned long order, int dma)
-+/* Free any non-DMA page that are not in use.
-+ Called by __get_free_pages when pages are running low. */
-+static void
-+collect_kmalloc_pages_nml ()
- {
-- int i, pages_collected = 0;
-- unsigned flags, bits, off, j, len;
-+ struct blkhdr *bh;
-+ struct pagehdr *ph, **prev_ph;
-
-- assert ((PAGE_SIZE << order) <= MEM_CHUNK_SIZE);
-+ check_page_list (__LINE__);
-
-- /* Construct bitmap of contiguous pages. */
-- bits = 0;
-- j = 0;
-- len = 0;
-- while (len < (PAGE_SIZE << order))
-- {
-- bits |= 1 << j++;
-- len += PAGE_SIZE;
-- }
-+ coalesce_blocks ();
-
-- save_flags (flags);
-- cli ();
--again:
-+ check_page_list (__LINE__);
-
-- /* Search each chunk for the required number of contiguous pages. */
-- for (i = 0; i < MEM_CHUNKS; i++)
-+ ph = memlist_nml;
-+ prev_ph = &memlist_nml;
-+ while (ph)
- {
-- off = 0;
-- j = bits;
-- while (MEM_CHUNK_SIZE - off >= (PAGE_SIZE << order))
-+ bh = (struct blkhdr *) (ph + 1);
-+ if (bh->free && (void *) (bh + 1) + bh->size == (void *) ph + ph->size)
- {
-- if ((pages_free[i].bitmap & j) == j)
-- {
-- pages_free[i].bitmap &= ~j;
-- linux_mem_avail -= order + 1;
-- restore_flags (flags);
-- return pages_free[i].start + off;
-- }
-- j <<= 1;
-- off += PAGE_SIZE;
-+ *prev_ph = ph->next;
-+ free_pages ((unsigned long) ph, get_page_order (ph->size));
-+ ph = *prev_ph;
-+ }
-+ else
-+ {
-+ prev_ph = &ph->next;
-+ ph = ph->next;
- }
- }
-
-- /* Allocation failed; collect kmalloc and buffer pages
-- and try again. */
-- if (!pages_collected)
-- {
-- num_page_collect++;
-- collect_kmalloc_pages ();
-- pages_collected = 1;
-- goto again;
-- }
-+ check_page_list (__LINE__);
-+}
-
-- printf ("%s:%d: __get_free_pages: ran out of pages\n", __FILE__, __LINE__);
-+/* Allocate ORDER + 1 number of physically contiguous pages.
-+ PRIORITY and DMA are not used in Mach. */
-+unsigned long
-+__get_free_pages (int priority, unsigned long order, int dma)
-+{
-+ unsigned long pagenum;
-+ unsigned vm_page_flags = 0;
-+ unsigned long p;
-+
-+ if (dma)
-+ vm_page_flags |= VM_PAGE_DMA;
-+
-+ pagenum = (1 << order);
-+
-+ p = 0;
-+
-+ if (pagenum > 1)
-+ {
-+ /*
-+ * Contiguous grabbing is slow and may fail.
-+ * We reserve it for special occasions.
-+ */
-+ mach_error_t err;
-+ vm_offset_t vmo;
-+
-+ err = vm_page_grab_contiguous_pages_flags (pagenum, &vmo, FALSE,
-+ vm_page_flags, 0);
-+ p = (unsigned long) vmo;
-+
-+ if (err)
-+ return 0;
-+ }
-+ else
-+ {
-+ vm_page_t m;
-+
-+ m = vm_page_grab_flags (FALSE, vm_page_flags);
-+ if (!m)
-+ return 0;
-+
-+ p = m->phys_addr;
-+
-+ if (m->tabled)
-+ {
-+ printf ("Error while getting page of order %ld\n", order);
-+ return 0;
-+ }
-+ };
-
-- restore_flags (flags);
-- return 0;
-+ return p;
- }
-
- /* Free ORDER + 1 number of physically
-@@ -442,36 +470,20 @@ again:
- void
- free_pages (unsigned long addr, unsigned long order)
- {
-- int i;
-- unsigned flags, bits, len, j;
--
-- assert ((addr & PAGE_MASK) == 0);
-+ unsigned long i, pagenum;
-
-- for (i = 0; i < MEM_CHUNKS; i++)
-- if (addr >= pages_free[i].start && addr < pages_free[i].end)
-- break;
--
-- assert (i < MEM_CHUNKS);
-+ pagenum = 1 << order;
-
-- /* Contruct bitmap of contiguous pages. */
-- len = 0;
-- j = 0;
-- bits = 0;
-- while (len < (PAGE_SIZE << order))
-+ for (i = 0; i < pagenum; i++)
- {
-- bits |= 1 << j++;
-- len += PAGE_SIZE;
-- }
-- bits <<= (addr - pages_free[i].start) >> PAGE_SHIFT;
-+ vm_page_t m;
-
-- save_flags (flags);
-- cli ();
--
-- assert ((pages_free[i].bitmap & bits) == 0);
-+ m = vm_page_physaddr_lookup (addr + (i * PAGE_SIZE));
-+ if (m == VM_PAGE_NULL)
-+ panic ("couldn't lookup page for address %lx", addr + (i * PAGE_SIZE));
-
-- pages_free[i].bitmap |= bits;
-- linux_mem_avail += order + 1;
-- restore_flags (flags);
-+ vm_page_free (m);
-+ }
- }
-
-
-@@ -579,3 +591,9 @@ vremap (unsigned long offset, unsigned l
- vmalloc_list_insert (addr, round_page (size));
- return (void *) addr;
- }
-+
-+void linux_kmem_collect (void)
-+{
-+ collect_kmalloc_pages_nml ();
-+ collect_kmalloc_pages_dma ();
-+}
-Index: linux/dev/init/main.c
-===================================================================
---- linux/dev/init/main.c.orig 2006-08-26 20:27:01.000000000 +0300
-+++ linux/dev/init/main.c 2006-08-26 20:27:35.000000000 +0300
-@@ -82,9 +82,7 @@ struct drive_info_struct
- static void calibrate_delay (void);
-
- extern int hz;
--extern vm_offset_t phys_last_addr;
-
--extern void *alloc_contig_mem (unsigned, unsigned, unsigned, vm_page_t *);
- extern void free_contig_mem (vm_page_t);
- extern void init_IRQ (void);
- extern void restore_IRQ (void);
-@@ -106,10 +104,8 @@ extern void linux_sched_init (void);
- extern void pcmcia_init (void);
-
-
--/*
-- * Amount of contiguous memory to allocate for initialization.
-- */
--#define CONTIG_ALLOC (512 * 1024)
-+/* Amount of contiguous memory to allocate for initialization. */
-+#define CONTIG_ALLOC_ORDER (7) /* 512kb. */
-
- /*
- * Initialize Linux drivers.
-@@ -118,7 +114,7 @@ void
- linux_init (void)
- {
- int addr;
-- unsigned memory_start, memory_end;
-+ unsigned long memory_start, memory_end;
- vm_page_t pages;
-
- /*
-@@ -143,40 +139,34 @@ linux_init (void)
- memcpy ((char *) &drive_info + 16,
- (void *) ((addr & 0xffff) + ((addr >> 12) & 0xffff0)), 16);
-
-- /*
-- * Initialize Linux memory allocator.
-- */
-+ /* Initialize Linux memory allocator. */
- linux_kmem_init ();
-
-- /*
-- * Allocate contiguous memory below 16 MB.
-- */
-- memory_start = (unsigned long) alloc_contig_mem (CONTIG_ALLOC,
-- 16 * 1024 * 1024,
-- 0, &pages);
-- if (memory_start == 0)
-- panic ("linux_init: alloc_contig_mem failed");
-- memory_end = memory_start + CONTIG_ALLOC;
-+ /* Allocate contiguous memory below 16 MB. */
-+ memory_start = __get_free_pages (GFP_ATOMIC, CONTIG_ALLOC_ORDER, 1);
-+ if (!memory_start)
-+ panic ("linux_init: alloc PCI memory failed");
-+ memory_end = memory_start + ((1 << CONTIG_ALLOC_ORDER) * PAGE_SIZE);
-
-- /*
-- * Initialize PCI bus.
-- */
-+ /* Initialize PCI bus. */
- memory_start = pci_init (memory_start, memory_end);
-
- if (memory_start > memory_end)
- panic ("linux_init: ran out memory");
-
-- /*
-- * Free unused memory.
-- */
-- while (pages && pages->phys_addr < round_page (memory_start))
-- pages = (vm_page_t) pages->pageq.next;
-- if (pages)
-- free_contig_mem (pages);
-+ /* Free unused memory. */
-+ {
-+ unsigned long memaddr;
-+
-+ for (memaddr = round_page (memory_start);
-+ memaddr < memory_end;
-+ memaddr += PAGE_SIZE)
-+ {
-+ free_pages (memaddr, 0);
-+ }
-+ }
-
-- /*
-- * Initialize devices.
-- */
-+ /* Initialize devices. */
- #ifdef CONFIG_INET
- linux_net_emulation_init ();
- #endif
-@@ -196,148 +186,6 @@ linux_init (void)
- linux_auto_config = 0;
- }
-
--#ifndef NBPW
--#define NBPW 32
--#endif
--
--/*
-- * Allocate contiguous memory with the given constraints.
-- * This routine is horribly inefficient but it is presently
-- * only used during initialization so it's not that bad.
-- */
--void *
--alloc_contig_mem (unsigned size, unsigned limit,
-- unsigned mask, vm_page_t * pages)
--{
-- int i, j, bits_len;
-- unsigned *bits, len;
-- void *m;
-- vm_page_t p, page_list, tail, prev;
-- vm_offset_t addr, max_addr;
--
-- if (size == 0)
-- return (NULL);
-- size = round_page (size);
-- if ((size >> PAGE_SHIFT) > vm_page_free_count)
-- return (NULL);
--
-- /* Allocate bit array. */
-- max_addr = phys_last_addr;
-- if (max_addr > limit)
-- max_addr = limit;
-- bits_len = ((((max_addr >> PAGE_SHIFT) + NBPW - 1) / NBPW)
-- * sizeof (unsigned));
-- bits = (unsigned *) kalloc (bits_len);
-- if (!bits)
-- return (NULL);
-- memset (bits, 0, bits_len);
--
-- /*
-- * Walk the page free list and set a bit for every usable page.
-- */
-- simple_lock (&vm_page_queue_free_lock);
-- p = vm_page_queue_free;
-- while (p)
-- {
-- if (p->phys_addr < limit)
-- (bits[(p->phys_addr >> PAGE_SHIFT) / NBPW]
-- |= 1 << ((p->phys_addr >> PAGE_SHIFT) % NBPW));
-- p = (vm_page_t) p->pageq.next;
-- }
--
-- /*
-- * Scan bit array for contiguous pages.
-- */
-- len = 0;
-- m = NULL;
-- for (i = 0; len < size && i < bits_len / sizeof (unsigned); i++)
-- for (j = 0; len < size && j < NBPW; j++)
-- if (!(bits[i] & (1 << j)))
-- {
-- len = 0;
-- m = NULL;
-- }
-- else
-- {
-- if (len == 0)
-- {
-- addr = ((vm_offset_t) (i * NBPW + j)
-- << PAGE_SHIFT);
-- if ((addr & mask) == 0)
-- {
-- len += PAGE_SIZE;
-- m = (void *) addr;
-- }
-- }
-- else
-- len += PAGE_SIZE;
-- }
--
-- if (len != size)
-- {
-- simple_unlock (&vm_page_queue_free_lock);
-- kfree ((vm_offset_t) bits, bits_len);
-- return (NULL);
-- }
--
-- /*
-- * Remove pages from free list
-- * and construct list to return to caller.
-- */
-- page_list = NULL;
-- for (len = 0; len < size; len += PAGE_SIZE, addr += PAGE_SIZE)
-- {
-- prev = NULL;
-- for (p = vm_page_queue_free; p; p = (vm_page_t) p->pageq.next)
-- {
-- if (p->phys_addr == addr)
-- break;
-- prev = p;
-- }
-- if (!p)
-- panic ("alloc_contig_mem: page not on free list");
-- if (prev)
-- prev->pageq.next = p->pageq.next;
-- else
-- vm_page_queue_free = (vm_page_t) p->pageq.next;
-- p->free = FALSE;
-- p->pageq.next = NULL;
-- if (!page_list)
-- page_list = tail = p;
-- else
-- {
-- tail->pageq.next = (queue_entry_t) p;
-- tail = p;
-- }
-- vm_page_free_count--;
-- }
--
-- simple_unlock (&vm_page_queue_free_lock);
-- kfree ((vm_offset_t) bits, bits_len);
-- if (pages)
-- *pages = page_list;
-- return (m);
--}
--
--/*
-- * Free memory allocated by alloc_contig_mem.
-- */
--void
--free_contig_mem (vm_page_t pages)
--{
-- int i;
-- vm_page_t p;
--
-- for (p = pages, i = 0; p->pageq.next; p = (vm_page_t) p->pageq.next, i++)
-- p->free = TRUE;
-- p->free = TRUE;
-- simple_lock (&vm_page_queue_free_lock);
-- vm_page_free_count += i + 1;
-- p->pageq.next = (queue_entry_t) vm_page_queue_free;
-- vm_page_queue_free = pages;
-- simple_unlock (&vm_page_queue_free_lock);
--}
--
- /* This is the number of bits of precision for the loops_per_second. Each
- * bit takes on average 1.5/HZ seconds. This (like the original) is a little
- * better than 1%
-Index: vm/pmap.h
-===================================================================
---- vm/pmap.h.orig 2006-08-26 20:27:01.000000000 +0300
-+++ vm/pmap.h 2006-08-26 20:27:35.000000000 +0300
-@@ -174,6 +174,15 @@ void pmap_clear_modify(vm_offset_t pa);
- /* Return modify bit */
- boolean_t pmap_is_modified(vm_offset_t pa);
-
-+/*
-+ * Page Zones routines
-+ */
-+
-+/* Physical address is in DMA capable zone. */
-+boolean_t pmap_is_dma (vm_offset_t pa);
-+
-+/* Physical address is in non-DMA capable zone. */
-+boolean_t pmap_is_normal (vm_offset_t pa);
-
- /*
- * Statistics routines
-Index: vm/vm_page.h
-===================================================================
---- vm/vm_page.h.orig 2006-08-26 20:27:01.000000000 +0300
-+++ vm/vm_page.h 2006-08-26 20:27:35.000000000 +0300
-@@ -152,22 +152,26 @@ typedef struct vm_page *vm_page_t;
- * ordered, in LRU-like fashion.
- */
-
-+#define VM_PAGE_DMA 0x1
-+
-+extern
-+queue_head_t vm_page_queue_free_normal; /* normal memory free queue */
- extern
--vm_page_t vm_page_queue_free; /* memory free queue */
-+queue_head_t vm_page_queue_free_dma; /* DMA-capable memory free queue */
- extern
--vm_page_t vm_page_queue_fictitious; /* fictitious free queue */
-+vm_page_t vm_page_queue_fictitious; /* fictitious free queue */
- extern
--queue_head_t vm_page_queue_active; /* active memory queue */
-+queue_head_t vm_page_queue_active; /* active memory queue */
- extern
- queue_head_t vm_page_queue_inactive; /* inactive memory queue */
-
- extern
--vm_offset_t first_phys_addr; /* physical address for first_page */
-+vm_offset_t phys_first_addr;/* physical address for first_page */
- extern
--vm_offset_t last_phys_addr; /* physical address for last_page */
-+vm_offset_t phys_last_addr; /* physical address for last_page */
-
- extern
--int vm_page_free_count; /* How many pages are free? */
-+int vm_page_free_count; /* How many pages are free? */
- extern
- int vm_page_fictitious_count;/* How many fictitious pages are free? */
- extern
-@@ -220,11 +224,20 @@ extern void vm_page_create(
- extern vm_page_t vm_page_lookup(
- vm_object_t object,
- vm_offset_t offset);
-+extern vm_page_t vm_page_physaddr_lookup (vm_offset_t);
- extern vm_page_t vm_page_grab_fictitious(void);
- extern void vm_page_release_fictitious(vm_page_t);
- extern boolean_t vm_page_convert(vm_page_t, boolean_t);
- extern void vm_page_more_fictitious(void);
- extern vm_page_t vm_page_grab(boolean_t);
-+extern vm_page_t vm_page_grab_flags(boolean_t, unsigned);
-+extern kern_return_t vm_page_grab_contiguous_pages_flags(
-+ int npages,
-+ vm_offset_t *phys_address,
-+ boolean_t external,
-+ unsigned flags,
-+ unsigned long align);
-+
- extern void vm_page_release(vm_page_t, boolean_t);
- extern void vm_page_wait(void (*)(void));
- extern vm_page_t vm_page_alloc(
-Index: vm/vm_pageout.c
-===================================================================
---- vm/vm_pageout.c.orig 2006-08-26 20:27:01.000000000 +0300
-+++ vm/vm_pageout.c 2006-08-26 20:27:35.000000000 +0300
-@@ -550,6 +550,9 @@ void vm_pageout_scan()
- */
-
- Restart:
-+#ifdef LINUX_DEV
-+ linux_kmem_collect();
-+#endif
- stack_collect();
- net_kmsg_collect();
- consider_task_collect();
-Index: vm/vm_resident.c
-===================================================================
---- vm/vm_resident.c.orig 2006-08-26 20:27:01.000000000 +0300
-+++ vm/vm_resident.c 2006-08-26 20:27:35.000000000 +0300
-@@ -56,6 +56,9 @@
- #include <vm/vm_user.h>
- #endif
-
-+extern unsigned long vm_page_normal_first, vm_page_normal_last;
-+extern unsigned long vm_page_dma_first, vm_page_dma_last;
-+
- /* in zalloc.c XXX */
- extern vm_offset_t zdata;
- extern vm_size_t zdata_size;
-@@ -105,14 +108,19 @@ struct vm_page vm_page_template;
- * Resident pages that represent real memory
- * are allocated from a free list.
- */
--vm_page_t vm_page_queue_free;
-+queue_head_t vm_page_queue_free_normal;
-+queue_head_t vm_page_queue_free_dma;
- vm_page_t vm_page_queue_fictitious;
- decl_simple_lock_data(,vm_page_queue_free_lock)
-+
- unsigned int vm_page_free_wanted;
- int vm_page_free_count;
- int vm_page_fictitious_count;
- int vm_page_external_count;
-
-+natural_t *vm_page_free_bitmap;
-+unsigned long vm_page_free_bitmap_bitsz;
-+
- unsigned int vm_page_free_count_minimum; /* debugging */
-
- /*
-@@ -174,6 +182,102 @@ boolean_t vm_page_deactivate_behind = TR
- boolean_t vm_page_deactivate_hint = TRUE;
-
- /*
-+ * vm_page_free_bitmap_set and vm_page_free_bitmap_unset:
-+ * FIXME: Free pages bitmap is SLOW! Make a decent multizone O(1)
-+ * page allocator.
-+ *
-+ * Used to mark a page as free.
-+ */
-+
-+#ifndef NBBY
-+#define NBBY 8 /* size in bits of sizeof()`s unity */
-+#endif
-+#define NBPEL (sizeof(natural_t)*NBBY)
-+
-+void vm_page_free_bitmap_set(natural_t pageno)
-+{
-+ register int word_index, bit_index;
-+
-+ word_index = pageno / NBPEL;
-+ bit_index = pageno - (word_index * NBPEL);
-+
-+ vm_page_free_bitmap[word_index] |= 1 << bit_index;
-+}
-+void vm_page_free_bitmap_unset(natural_t pageno)
-+{
-+ register int word_index, bit_index;
-+
-+ word_index = pageno / NBPEL;
-+ bit_index = pageno - (word_index * NBPEL);
-+
-+ vm_page_free_bitmap[word_index] &= ~(1 << bit_index);
-+}
-+
-+/*
-+ * vm_page_free_bitmap_alloc:
-+ *
-+ * Alloc space for bitmap at initializiation time.
-+ * FIXME: Free pages bitmap is SLOW! Make a decent multizone O(1)
-+ * page allocator.
-+ */
-+
-+void vm_page_free_bitmap_alloc(void)
-+{
-+ register unsigned long size, bitsz;
-+ unsigned long vm_page_big_pagenum;
-+ int i;
-+
-+ vm_page_big_pagenum = atop (phys_last_addr);
-+
-+ bitsz = (vm_page_big_pagenum + NBPEL - 1)
-+ & ~(NBPEL - 1); /* in bits */
-+
-+ size = bitsz / NBBY; /* in bytes */
-+
-+ vm_page_free_bitmap = (natural_t *) pmap_steal_memory (size);
-+ bzero(vm_page_free_bitmap, size);
-+
-+ vm_page_free_bitmap_bitsz = bitsz;
-+}
-+
-+
-+/* Fast phys_addr to vm_page_t lookup. */
-+
-+static vm_page_t *vm_page_array;
-+static unsigned vm_page_array_size;
-+
-+static void
-+vm_page_array_init ()
-+{
-+ int i;
-+
-+ vm_page_array_size = (phys_last_addr - phys_first_addr) >> PAGE_SHIFT;
-+ vm_page_array = (vm_page_t *) pmap_steal_memory (sizeof(vm_page_t)
-+ * (vm_page_array_size));
-+
-+ for (i = 0; i < vm_page_array_size; i++)
-+ vm_page_array[i] = VM_PAGE_NULL;
-+
-+}
-+
-+static void
-+vm_page_array_add (vm_offset_t phys_addr, vm_page_t pg)
-+{
-+ assert (phys_addr < phys_last_addr && phys_addr >= phys_first_addr);
-+
-+ vm_page_array [(phys_addr - phys_first_addr) >> PAGE_SHIFT] = pg;
-+}
-+
-+vm_page_t
-+vm_page_physaddr_lookup (vm_offset_t phys_addr)
-+{
-+ assert (phys_addr < phys_last_addr && phys_addr >= phys_first_addr);
-+
-+ return vm_page_array [(phys_addr - phys_first_addr) >> PAGE_SHIFT];
-+}
-+
-+
-+/*
- * vm_page_bootstrap:
- *
- * Initializes the resident memory module.
-@@ -229,7 +333,8 @@ void vm_page_bootstrap(
- simple_lock_init(&vm_page_queue_free_lock);
- simple_lock_init(&vm_page_queue_lock);
-
-- vm_page_queue_free = VM_PAGE_NULL;
-+ queue_init (&vm_page_queue_free_normal);
-+ queue_init (&vm_page_queue_free_dma);
- vm_page_queue_fictitious = VM_PAGE_NULL;
- queue_init(&vm_page_queue_active);
- queue_init(&vm_page_queue_inactive);
-@@ -279,6 +384,8 @@ void vm_page_bootstrap(
- simple_lock_init(&bucket->lock);
- }
-
-+ vm_page_free_bitmap_alloc();
-+
- /*
- * Machine-dependent code allocates the resident page table.
- * It uses vm_page_init to initialize the page frames.
-@@ -294,7 +401,6 @@ void vm_page_bootstrap(
- *startp = virtual_space_start;
- *endp = virtual_space_end;
-
-- /* printf("vm_page_bootstrap: %d free pages\n", vm_page_free_count);*/
- vm_page_free_count_minimum = vm_page_free_count;
- }
-
-@@ -380,6 +486,8 @@ void pmap_startup(
-
- pages = (vm_page_t) pmap_steal_memory(npages * sizeof *pages);
-
-+ vm_page_array_init ();
-+
- /*
- * Initialize the page frames.
- */
-@@ -389,21 +497,12 @@ void pmap_startup(
- break;
-
- vm_page_init(&pages[i], paddr);
-+ vm_page_array_add (paddr, &pages[i]);
-+ vm_page_release(&pages[i], FALSE);
- pages_initialized++;
- }
-
- /*
-- * Release pages in reverse order so that physical pages
-- * initially get allocated in ascending addresses. This keeps
-- * the devices (which must address physical memory) happy if
-- * they require several consecutive pages.
-- */
--
-- for (i = pages_initialized; i > 0; i--) {
-- vm_page_release(&pages[i - 1], FALSE);
-- }
--
-- /*
- * We have to re-align virtual_space_start,
- * because pmap_steal_memory has been using it.
- */
-@@ -421,7 +520,7 @@ void pmap_startup(
- * Second initialization pass, to be done after
- * the basic VM system is ready.
- */
--void vm_page_module_init(void)
-+void vm_page_module_init(void)
- {
- vm_page_zone = zinit((vm_size_t) sizeof(struct vm_page),
- VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS,
-@@ -453,6 +552,7 @@ void vm_page_create(
- panic("vm_page_create");
-
- vm_page_init(m, paddr);
-+ vm_page_array_add (paddr, m);
- vm_page_release(m, FALSE);
- }
- }
-@@ -840,16 +940,16 @@ boolean_t vm_page_convert(
- }
-
- /*
-- * vm_page_grab:
-+ * vm_page_grab_flags:
- *
-- * Remove a page from the free list.
-+ * Remove a page specifying the memory zone to get the page from.
- * Returns VM_PAGE_NULL if the free list is too small.
- */
--
--vm_page_t vm_page_grab(
-- boolean_t external)
-+vm_page_t vm_page_grab_flags(
-+ boolean_t external,
-+ unsigned flags)
- {
-- register vm_page_t mem;
-+ register vm_page_t mem = VM_PAGE_NULL;
-
- simple_lock(&vm_page_queue_free_lock);
-
-@@ -867,17 +967,70 @@ vm_page_t vm_page_grab(
- return VM_PAGE_NULL;
- }
-
-- if (vm_page_queue_free == VM_PAGE_NULL)
-+ /*
-+ * If we put no flag, we request any page, so we search in
-+ * the normal zone before.
-+ */
-+
-+ if (!(flags & VM_PAGE_DMA)
-+ && !(queue_empty(&vm_page_queue_free_normal)))
-+ {
-+
-+ if (--vm_page_free_count < vm_page_free_count_minimum)
-+ vm_page_free_count_minimum = vm_page_free_count;
-+
-+ if (external)
-+ vm_page_external_count++;
-+
-+ queue_remove_first (&vm_page_queue_free_normal,
-+ mem, vm_page_t, pageq);
-+
-+ mem->free = FALSE;
-+ mem->extcounted = mem->external = external;
-+ mem->pageq.next = 0;
-+ mem->pageq.prev = 0;
-+
-+ vm_page_free_bitmap_unset (atop (mem->phys_addr));
-+ }
-+
-+ if (!mem)
-+ {
-+
-+ /*
-+ * It is not necessarily a bug if we ask for a DMA page and we can't
-+ * obtain it, despite of vm_page_free_count, since free pages can be
-+ * in the normal zone.
-+ */
-+ if (queue_empty(&vm_page_queue_free_dma))
-+ {
-+ if (!(flags & VM_PAGE_DMA))
- panic("vm_page_grab");
-+ else
-+ {
-+ printf ("vm_page_grab: no dma anymore");
-+ simple_unlock(&vm_page_queue_free_lock);
-+ return VM_PAGE_NULL;
-+ }
-+ }
-+
-+
-+ if (--vm_page_free_count < vm_page_free_count_minimum)
-+ vm_page_free_count_minimum = vm_page_free_count;
-+
-+ if (external)
-+ vm_page_external_count++;
-+
-+ queue_remove_first (&vm_page_queue_free_dma,
-+ mem, vm_page_t, pageq);
-+
-+ mem->free = FALSE;
-+ mem->extcounted = mem->external = external;
-+ mem->pageq.next = 0;
-+ mem->pageq.prev = 0;
-+
-+ vm_page_free_bitmap_unset (atop (mem->phys_addr));
-+ }
-
-- if (--vm_page_free_count < vm_page_free_count_minimum)
-- vm_page_free_count_minimum = vm_page_free_count;
-- if (external)
-- vm_page_external_count++;
-- mem = vm_page_queue_free;
-- vm_page_queue_free = (vm_page_t) mem->pageq.next;
-- mem->free = FALSE;
-- mem->extcounted = mem->external = external;
- simple_unlock(&vm_page_queue_free_lock);
-
- /*
-@@ -897,6 +1050,26 @@ vm_page_t vm_page_grab(
- thread_wakeup((event_t) &vm_page_free_wanted);
-
- return mem;
-+
-+}
-+
-+
-+/*
-+ * vm_page_grab:
-+ *
-+ * Remove a page from the free list.
-+ * Returns VM_PAGE_NULL if the free list is too small.
-+ */
-+
-+vm_page_t vm_page_grab(
-+ boolean_t external)
-+{
-+ register vm_page_t mem;
-+
-+ /* Get any free page, no matter what zone. */
-+ mem = vm_page_grab_flags (external, 0);
-+
-+ return mem;
- }
-
- vm_offset_t vm_page_grab_phys_addr()
-@@ -909,13 +1082,12 @@ vm_offset_t vm_page_grab_phys_addr()
- }
-
- /*
-- * vm_page_grab_contiguous_pages:
-+ * vm_page_grab_contiguous_pages_queue:
- *
-- * Take N pages off the free list, the pages should
-- * cover a contiguous range of physical addresses.
-- * [Used by device drivers to cope with DMA limitations]
-+ * Take N pages off the free list FREEQUEUE, the pages
-+ * should cover a contiguous range of physical addresses.
- *
-- * Returns the page descriptors in ascending order, or
-+ * Returns the first page descriptor, or
- * Returns KERN_RESOURCE_SHORTAGE if it could not.
- */
-
-@@ -924,44 +1096,32 @@ vm_offset_t vm_page_grab_phys_addr()
- vm_size_t vm_page_big_pagenum = 0; /* Set this before call! */
-
- kern_return_t
--vm_page_grab_contiguous_pages(
-- int npages,
-- vm_page_t pages[],
-- natural_t *bits,
-- boolean_t external)
-+vm_page_grab_contiguous_pages_queue(
-+ int npages,
-+ vm_offset_t *phys_addr,
-+ boolean_t external,
-+ queue_t freequeue,
-+ unsigned long minbitidx,
-+ unsigned long maxbitidx,
-+ unsigned long align)
-+
- {
- register int first_set;
- int size, alloc_size;
- kern_return_t ret;
- vm_page_t mem, prevmem;
-
--#ifndef NBBY
--#define NBBY 8 /* size in bits of sizeof()`s unity */
--#endif
-+ if (!align)
-+ align = 1;
-
--#define NBPEL (sizeof(natural_t)*NBBY)
-+ if (minbitidx >= vm_page_free_bitmap_bitsz)
-+ panic ("minbitidx too high.");
-
-- size = (vm_page_big_pagenum + NBPEL - 1)
-- & ~(NBPEL - 1); /* in bits */
--
-- size = size / NBBY; /* in bytes */
--
-- /*
-- * If we are called before the VM system is fully functional
-- * the invoker must provide us with the work space. [one bit
-- * per page starting at phys 0 and up to vm_page_big_pagenum]
-- */
-- if (bits == 0) {
-- alloc_size = round_page(size);
-- if (kmem_alloc_wired(kernel_map,
-- (vm_offset_t *)&bits,
-- alloc_size)
-- != KERN_SUCCESS)
-- return KERN_RESOURCE_SHORTAGE;
-- } else
-- alloc_size = 0;
--
-- bzero(bits, size);
-+ if (maxbitidx > vm_page_free_bitmap_bitsz) {
-+ printf ("%s: maxbitidx exceeds bitmap size (%x > %x).\n",
-+ __FUNCTION__, maxbitidx, vm_page_free_bitmap_bitsz);
-+ maxbitidx = vm_page_free_bitmap_bitsz;
-+ }
-
- /*
- * A very large granularity call, its rare so that is ok
-@@ -972,32 +1132,16 @@ vm_page_grab_contiguous_pages(
- * Do not dip into the reserved pool.
- */
-
-- if ((vm_page_free_count < vm_page_free_reserved)
-- || (vm_page_external_count >= vm_page_external_limit)) {
-+ if (((vm_page_free_count < vm_page_free_reserved)
-+ || (external
-+ && (vm_page_external_count > vm_page_external_limit)))
-+ && !current_thread()->vm_privilege) {
- simple_unlock(&vm_page_queue_free_lock);
- return KERN_RESOURCE_SHORTAGE;
- }
-
- /*
-- * First pass through, build a big bit-array of
-- * the pages that are free. It is not going to
-- * be too large anyways, in 4k we can fit info
-- * for 32k pages.
-- */
-- mem = vm_page_queue_free;
-- while (mem) {
-- register int word_index, bit_index;
--
-- bit_index = (mem->phys_addr >> PAGE_SHIFT);
-- word_index = bit_index / NBPEL;
-- bit_index = bit_index - (word_index * NBPEL);
-- bits[word_index] |= 1 << bit_index;
--
-- mem = (vm_page_t) mem->pageq.next;
-- }
--
-- /*
-- * Second loop. Scan the bit array for NPAGES
-+ * First loop. Scan the bit array for NPAGES
- * contiguous bits. That gives us, if any,
- * the range of pages we will be grabbing off
- * the free list.
-@@ -1007,9 +1151,13 @@ vm_page_grab_contiguous_pages(
-
- first_set = 0;
-
-- for (i = 0; i < size; i += sizeof(natural_t)) {
-+ for (i = (minbitidx/NBBY);
-+ i < (maxbitidx/NBBY);
-+ i += sizeof(natural_t))
-+ {
-
-- register natural_t v = bits[i / sizeof(natural_t)];
-+ register natural_t v =
-+ vm_page_free_bitmap[i / sizeof(natural_t)];
- register int bitpos;
-
- /*
-@@ -1042,14 +1190,20 @@ count_ones:
- */
- bits_so_far = 0;
- count_zeroes:
-- while ((bitpos < NBPEL) && ((v & 1) == 0)) {
-+ while ((bitpos < NBPEL) &&
-+ (((v & 1) == 0)
-+ || ((bitpos + i*NBBY) % align)))
-+ {
- bitpos++;
- v >>= 1;
- }
-- if (v & 1) {
-+
-+ if ((v & 1)
-+ && (!((bitpos + i*NBBY) % align)))
-+ {
- first_set = (i * NBBY) + bitpos;
- goto count_ones;
-- }
-+ }
- }
- /*
- * No luck
-@@ -1063,7 +1217,6 @@ count_zeroes:
- */
- not_found_em:
- simple_unlock(&vm_page_queue_free_lock);
--
- ret = KERN_RESOURCE_SHORTAGE;
- goto out;
-
-@@ -1079,43 +1232,33 @@ found_em:
- vm_page_free_count_minimum = vm_page_free_count;
- if (external)
- vm_page_external_count += npages;
-+
- {
-- register vm_offset_t first_phys, last_phys;
--
-- /* cache values for compare */
-- first_phys = first_set << PAGE_SHIFT;
-- last_phys = first_phys + (npages << PAGE_SHIFT);/* not included */
--
-- /* running pointers */
-- mem = vm_page_queue_free;
-- prevmem = VM_PAGE_NULL;
--
-- while (mem) {
--
-- register vm_offset_t addr;
--
-- addr = mem->phys_addr;
--
-- if ((addr >= first_phys) &&
-- (addr < last_phys)) {
-- if (prevmem)
-- prevmem->pageq.next = mem->pageq.next;
-- pages[(addr - first_phys) >> PAGE_SHIFT] = mem;
-- mem->free = FALSE;
-- mem->extcounted = mem->external = external;
-- /*
-- * Got them all ?
-- */
-- if (--npages == 0) break;
-- } else
-- prevmem = mem;
--
-- mem = (vm_page_t) mem->pageq.next;
-+ vm_offset_t first_phys;
-+ vm_page_t pg;
-+ int i;
-+
-+ first_phys = first_set << PAGE_SHIFT;
-+
-+ if (phys_addr)
-+ *phys_addr = first_phys;
-+
-+ for (i = 0; i < npages; i++)
-+ {
-+ pg = vm_page_physaddr_lookup (first_phys + (i << PAGE_SHIFT));
-+
-+ assert (pg != VM_PAGE_NULL);
-+
-+ queue_remove (freequeue, pg, vm_page_t, pageq);
-+
-+ pg->free = FALSE;
-+ pg->extcounted = pg->external = external;
-+ vm_page_free_bitmap_unset (atop (pg->phys_addr));
- }
- }
--
-+
- simple_unlock(&vm_page_queue_free_lock);
--
-+
- /*
- * Decide if we should poke the pageout daemon.
- * We do this if the free count is less than the low
-@@ -1134,8 +1277,74 @@ found_em:
-
- ret = KERN_SUCCESS;
- out:
-- if (alloc_size)
-- kmem_free(kernel_map, (vm_offset_t) bits, alloc_size);
-+
-+ return ret;
-+}
-+
-+/*
-+ * vm_page_grab_contiguous_pages_flags:
-+ *
-+ * Take N pages from specified zone, the pages should
-+ * cover a contiguous range of physical addresses.
-+ * [Used by device drivers to cope with DMA limitations]
-+ *
-+ * Returns the page descriptors in ascending order, or
-+ * Returns KERN_RESOURCE_SHORTAGE if it could not.
-+ */
-+
-+kern_return_t
-+vm_page_grab_contiguous_pages_flags(
-+ int npages,
-+ vm_offset_t *phys_addr,
-+ boolean_t external,
-+ unsigned flags,
-+ unsigned long align)
-+{
-+ kern_return_t ret;
-+
-+ if (!(flags & VM_PAGE_DMA))
-+ {
-+ ret = vm_page_grab_contiguous_pages_queue (
-+ npages, phys_addr, external,
-+ &vm_page_queue_free_normal,
-+ atop(vm_page_normal_first),
-+ atop(vm_page_normal_last),
-+ align);
-+
-+ if (ret == KERN_SUCCESS)
-+ return ret;
-+ };
-+
-+ ret = vm_page_grab_contiguous_pages_queue (
-+ npages, phys_addr, external,
-+ &vm_page_queue_free_dma,
-+ atop(vm_page_dma_first),
-+ atop(vm_page_dma_last),
-+ align);
-+
-+ return ret;
-+}
-+
-+/*
-+ * vm_page_grab_contiguous_pages:
-+ *
-+ * Take N pages off the free list, the pages should
-+ * cover a contiguous range of physical addresses.
-+ *
-+ * Returns the page descriptors in ascending order, or
-+ * Returns KERN_RESOURCE_SHORTAGE if it could not.
-+ * [Used by device drivers to cope with DMA limitations]
-+ */
-+kern_return_t
-+vm_page_grab_contiguous_pages(
-+ int npages,
-+ queue_t pages,
-+ vm_offset_t *phys_addr,
-+ boolean_t e)
-+{
-+ kern_return_t ret;
-+
-+ ret = vm_page_grab_contiguous_pages_flags (npages, phys_addr, e, 0, 0);
-
- return ret;
- }
-@@ -1150,16 +1359,36 @@ void vm_page_release(
- register vm_page_t mem,
- boolean_t external)
- {
-+ queue_t freequeue;
-+
-+ if (pmap_is_dma (mem->phys_addr))
-+ freequeue = &vm_page_queue_free_dma;
-+ else if (pmap_is_normal (mem->phys_addr))
-+ freequeue = &vm_page_queue_free_normal;
-+ else {
-+ /* XXX - Don't put a panic here. it's just for now. */
-+ panic ("vm_page_release (unknown page zone)");
-+ }
-+
-+ /* UGLY: We skip the page 0, since it may cause problems
-+ when returned to drivers. */
-+ if (mem->phys_addr == 0)
-+ return;
-+
- simple_lock(&vm_page_queue_free_lock);
-+
- if (mem->free)
- panic("vm_page_release");
- mem->free = TRUE;
-- mem->pageq.next = (queue_entry_t) vm_page_queue_free;
-- vm_page_queue_free = mem;
-+
-+ queue_enter (freequeue, mem, vm_page_t, pageq);
-+
- vm_page_free_count++;
- if (external)
- vm_page_external_count--;
-
-+ vm_page_free_bitmap_set (atop (mem->phys_addr));
-+
- /*
- * Check if we should wake up someone waiting for page.
- * But don't bother waking them unless they can allocate.
diff --git a/debian/patches/70_cld.patch b/debian/patches/70_cld.patch
deleted file mode 100644
index 69fdf3c..0000000
--- a/debian/patches/70_cld.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: b/i386/i386/locore.S
-===================================================================
---- a/i386/i386/locore.S
-+++ b/i386/i386/locore.S
-@@ -960,6 +960,8 @@ ENTRY(syscall)
- syscall_entry:
- pushf /* save flags as soon as possible */
- syscall_entry_2:
-+ cld /* clear direction flag */
-+
- pushl %eax /* save system call number */
- pushl $0 /* clear trap number slot */
-
diff --git a/debian/patches/80_rtl8139_open.patch b/debian/patches/80_rtl8139_open.patch
deleted file mode 100644
index f4b9376..0000000
--- a/debian/patches/80_rtl8139_open.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Fix 8138 initialization division by zero.
-
-Index: linux/src/drivers/net/rtl8139.c
-===================================================================
-RCS file: /cvsroot/hurd/gnumach/linux/src/drivers/net/Attic/rtl8139.c,v
-retrieving revision 1.2.4.2
-retrieving revision 1.2.4.1
-diff -u -p -r1.2.4.2 -r1.2.4.1
---- linux/src/drivers/net/rtl8139.c 4 Jul 2008 10:04:17 -0000 1.2.4.2
-+++ linux/src/drivers/net/rtl8139.c 22 Jan 2006 15:54:41 -0000 1.2.4.1
-@@ -705,6 +705,10 @@ static int rtl8129_open(struct net_devic
- int rx_buf_len_idx;
-
- MOD_INC_USE_COUNT;
-+ if (request_irq(dev->irq, &rtl8129_interrupt, SA_SHIRQ, dev->name, dev)) {
-+ MOD_DEC_USE_COUNT;
-+ return -EAGAIN;
-+ }
-
- /* The Rx ring allocation size is 2^N + delta, which is worst-case for
- the kernel binary-buddy allocation. We allocate the Tx bounce buffers
-@@ -733,11 +737,6 @@ static int rtl8129_open(struct net_devic
- tp->rx_config =
- (RX_FIFO_THRESH << 13) | (rx_buf_len_idx << 11) | (RX_DMA_BURST<<8);
-
-- if (request_irq(dev->irq, &rtl8129_interrupt, SA_SHIRQ, dev->name, dev)) {
-- MOD_DEC_USE_COUNT;
-- return -EAGAIN;
-- }
--
- rtl_hw_start(dev);
- netif_start_tx_queue(dev);
-
diff --git a/debian/patches/90_autoconf_autogen.patch b/debian/patches/90_autoconf_autogen.patch
deleted file mode 100644
index 215173c..0000000
--- a/debian/patches/90_autoconf_autogen.patch
+++ /dev/null
@@ -1,1151 +0,0 @@
-This patch is just autogenerated stuff, do not hack directly on it.
-Regenerate with:
-
- $ debian/rules autoregen
-
-
-Index: b/config.h.in
-===================================================================
---- a/config.h.in 2007-08-09 00:48:38.000000000 +0300
-+++ b/config.h.in 2007-08-09 01:13:18.000000000 +0300
-@@ -45,6 +45,9 @@
- default and for qemu */
- #undef CONFIG_BLK_DEV_FD
-
-+/* Force DMA on IDE block devices */
-+#undef CONFIG_BLK_DEV_FORCE_DMA
-+
- /* option ide: Linux device driver for IDE disk controllers; on ix86-at
- enabled by default and for qemu */
- #undef CONFIG_BLK_DEV_IDE
-@@ -347,6 +350,10 @@
- ix86-at enabled by default */
- #undef CONFIG_SEEQ8005
-
-+/* option sis900: Linux device driver for Ethernet controller SiS 900; on
-+ ix86-at enabled by default */
-+#undef CONFIG_SIS900
-+
- /* option sk_g16: Linux device driver for Ethernet controller Schneider & Koch
- G16; on ix86-at enabled by default */
- #undef CONFIG_SK_G16
-Index: b/configure
-===================================================================
---- a/configure 2007-08-09 00:48:32.000000000 +0300
-+++ b/configure 2007-08-09 01:13:14.000000000 +0300
-@@ -821,6 +821,8 @@ device_driver_rtl8139_TRUE
- device_driver_rtl8139_FALSE
- device_driver_seeq8005_TRUE
- device_driver_seeq8005_FALSE
-+device_driver_sis900_TRUE
-+device_driver_sis900_FALSE
- device_driver_sk_g16_TRUE
- device_driver_sk_g16_FALSE
- device_driver_smc_ultra_TRUE
-@@ -1493,6 +1495,7 @@ Optional Features:
- enabled by default and for qemu
- --enable-ide Linux device driver for IDE disk controllers; on
- ix86-at enabled by default and for qemu
-+ --enable-ide-forcedma enable forced use of DMA on IDE
- --enable-53c78xx Linux device driver for SCSI controller NCR
- 53C7,8xx; on ix86-at enabled by default
- --enable-AM53C974 Linux device driver for SCSI controller AM53/79C974
-@@ -1659,6 +1662,8 @@ Optional Features:
- ix86-at enabled by default
- --enable-seeq8005 Linux device driver for Ethernet controller
- Seeq8005; on ix86-at enabled by default
-+ --enable-sis900 Linux device driver for Ethernet controller SiS 900;
-+ on ix86-at enabled by default
- --enable-sk_g16 Linux device driver for Ethernet controller
- Schneider & Koch G16; on ix86-at enabled by default
- --enable-smc-ultra Linux device driver for Ethernet controller SMC
-@@ -6450,6 +6455,17 @@ _ACEOF
- fi
-
-
-+# Check whether --enable-ide-forcedma was given.
-+if test "${enable_ide_forcedma+set}" = set; then
-+ enableval=$enable_ide_forcedma; test x"$enableval" = xno ||
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define CONFIG_BLK_DEV_FORCE_DMA 1
-+_ACEOF
-+
-+fi
-+
-+
-
-
-
-@@ -9534,6 +9550,52 @@ fi
-
-
- unset enableval
-+# Check whether --enable-sis900 was given.
-+if test "${enable_sis900+set}" = set; then
-+ enableval=$enable_sis900;
-+fi
-+
-+#TODO. Could use some M4 magic to avoid a lot of shell code.
-+case $host_platform:$host_cpu in
-+ at:i?86)
-+ case $enable_device_drivers:'Linux device driver for Ethernet controller SiS 900; on ix86-at enabled
-+ by default' in
-+ default:*by\ default* | qemu:*for\ qemu*)
-+ enableval=${enableval-yes};;
-+ *)
-+ enableval=${enableval-no};;
-+ esac;;
-+ *)
-+ if [ x"$enableval" = xyes ]; then
-+ # TODO. That might not always be true.
-+ { { echo "$as_me:$LINENO: error: cannot enable \`sis900' in this configuration." >&5
-+echo "$as_me: error: cannot enable \`sis900' in this configuration." >&2;}
-+ { (exit 1); exit 1; }; }
-+ fi;;
-+esac
-+
-+
-+if [ x"$enableval" = xyes ]; then
-+ device_driver_sis900_TRUE=
-+ device_driver_sis900_FALSE='#'
-+else
-+ device_driver_sis900_TRUE='#'
-+ device_driver_sis900_FALSE=
-+fi
-+
-+if [ x"$enableval" = xyes ]; then
-+ have_linux_code=yes
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define CONFIG_SIS900 1
-+_ACEOF
-+
-+ device_driver_group net
-+fi
-+
-+
-+
-+unset enableval
- # Check whether --enable-sk_g16 was given.
- if test "${enable_sk_g16+set}" = set; then
- enableval=$enable_sk_g16;
-@@ -11645,6 +11707,13 @@ echo "$as_me: error: conditional \"devic
- Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
- fi
-+if test -z "${device_driver_sis900_TRUE}" && test -z "${device_driver_sis900_FALSE}"; then
-+ { { echo "$as_me:$LINENO: error: conditional \"device_driver_sis900\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+echo "$as_me: error: conditional \"device_driver_sis900\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
- if test -z "${device_driver_sk_g16_TRUE}" && test -z "${device_driver_sk_g16_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"device_driver_sk_g16\" was never defined.
- Usually this means the macro was only invoked conditionally." >&5
-@@ -12750,6 +12819,8 @@ device_driver_rtl8139_TRUE!$device_drive
- device_driver_rtl8139_FALSE!$device_driver_rtl8139_FALSE$ac_delim
- device_driver_seeq8005_TRUE!$device_driver_seeq8005_TRUE$ac_delim
- device_driver_seeq8005_FALSE!$device_driver_seeq8005_FALSE$ac_delim
-+device_driver_sis900_TRUE!$device_driver_sis900_TRUE$ac_delim
-+device_driver_sis900_FALSE!$device_driver_sis900_FALSE$ac_delim
- device_driver_sk_g16_TRUE!$device_driver_sk_g16_TRUE$ac_delim
- device_driver_sk_g16_FALSE!$device_driver_sk_g16_FALSE$ac_delim
- device_driver_smc_ultra_TRUE!$device_driver_smc_ultra_TRUE$ac_delim
-@@ -12797,8 +12868,6 @@ device_driver_smc91c92_cs_FALSE!$device_
- device_driver_xirc2ps_cs_TRUE!$device_driver_xirc2ps_cs_TRUE$ac_delim
- device_driver_xirc2ps_cs_FALSE!$device_driver_xirc2ps_cs_FALSE$ac_delim
- device_driver_orinoco_cs_TRUE!$device_driver_orinoco_cs_TRUE$ac_delim
--device_driver_orinoco_cs_FALSE!$device_driver_orinoco_cs_FALSE$ac_delim
--device_driver_group_net_TRUE!$device_driver_group_net_TRUE$ac_delim
- _ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-@@ -12840,6 +12909,8 @@ _ACEOF
- ac_delim='%!_!# '
- for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-+device_driver_orinoco_cs_FALSE!$device_driver_orinoco_cs_FALSE$ac_delim
-+device_driver_group_net_TRUE!$device_driver_group_net_TRUE$ac_delim
- device_driver_group_net_FALSE!$device_driver_group_net_FALSE$ac_delim
- device_driver_group_pcmcia_TRUE!$device_driver_group_pcmcia_TRUE$ac_delim
- device_driver_group_pcmcia_FALSE!$device_driver_group_pcmcia_FALSE$ac_delim
-@@ -12853,7 +12924,7 @@ LIBOBJS!$LIBOBJS$ac_delim
- LTLIBOBJS!$LTLIBOBJS$ac_delim
- _ACEOF
-
-- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 11; then
-+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 13; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-Index: b/Makefile.in
-===================================================================
---- a/Makefile.in 2007-08-09 00:48:52.000000000 +0300
-+++ b/Makefile.in 2007-08-09 01:13:24.000000000 +0300
-@@ -225,28 +225,6 @@
- # Tests.
- #
-
--# Makefile fragment for the documentation.
--
--# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
--
--# This program is free software; you can redistribute it and/or modify it
--# under the terms of the GNU General Public License as published by the
--# Free Software Foundation; either version 2, or (at your option) any later
--# version.
--#
--# This program is distributed in the hope that it will be useful, but
--# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
--# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--# for more details.
--#
--# You should have received a copy of the GNU General Public License along
--# with this program; if not, write to the Free Software Foundation, Inc.,
--# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
--
--#
--# The GNU Mach Reference Manual.
--#
--
-
-
-
-@@ -285,15 +263,14 @@ DIST_COMMON = README $(am__configure_dep
- $(include_mach_eXec_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/Makefrag.am \
- $(srcdir)/Makerules.am $(srcdir)/Makerules.mig.am \
-- $(srcdir)/config.h.in $(srcdir)/doc/Makefrag.am \
-- $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi \
-- $(srcdir)/i386/Makefrag.am $(srcdir)/i386/linux/Makefrag.am \
-- $(srcdir)/linux/Makefrag.am $(srcdir)/tests/Makefrag.am \
-- $(srcdir)/version.c.in $(top_srcdir)/configure \
-- $(top_srcdir)/tests/test-mbchk.in AUTHORS COPYING ChangeLog \
-- INSTALL NEWS build-aux/compile build-aux/config.guess \
-- build-aux/config.sub build-aux/depcomp build-aux/install-sh \
-- build-aux/mdate-sh build-aux/missing build-aux/texinfo.tex
-+ $(srcdir)/config.h.in $(srcdir)/i386/Makefrag.am \
-+ $(srcdir)/i386/linux/Makefrag.am $(srcdir)/linux/Makefrag.am \
-+ $(srcdir)/tests/Makefrag.am $(srcdir)/version.c.in \
-+ $(top_srcdir)/configure $(top_srcdir)/tests/test-mbchk.in \
-+ AUTHORS COPYING ChangeLog INSTALL NEWS build-aux/compile \
-+ build-aux/config.guess build-aux/config.sub build-aux/depcomp \
-+ build-aux/install-sh build-aux/mdate-sh build-aux/missing \
-+ build-aux/texinfo.tex
-
- # Do we want the icky kernel debugger?
- @enable_kdb_TRUE@am__append_2 = \
-@@ -672,62 +649,65 @@ DIST_COMMON = README $(am__configure_dep
- @device_driver_seeq8005_TRUE@ linux/src/drivers/net/seeq8005.c \
- @device_driver_seeq8005_TRUE@ linux/src/drivers/net/seeq8005.h
-
--@device_driver_sk_g16_TRUE@am__append_83 = \
-+@device_driver_sis900_TRUE@am__append_83 = \
-+@device_driver_sis900_TRUE@ linux/src/drivers/net/sis900.c
-+
-+@device_driver_sk_g16_TRUE@am__append_84 = \
- @device_driver_sk_g16_TRUE@ linux/src/drivers/net/sk_g16.c \
- @device_driver_sk_g16_TRUE@ linux/src/drivers/net/sk_g16.h
-
--@device_driver_smc_ultra_TRUE@am__append_84 = \
-+@device_driver_smc_ultra_TRUE@am__append_85 = \
- @device_driver_smc_ultra_TRUE@ linux/src/drivers/net/smc-ultra.c \
- @device_driver_smc_ultra_TRUE@ linux/src/drivers/net/8390.c
-
--@device_driver_smc_ultra32_TRUE@am__append_85 = \
-+@device_driver_smc_ultra32_TRUE@am__append_86 = \
- @device_driver_smc_ultra32_TRUE@ linux/src/drivers/net/smc-ultra32.c \
- @device_driver_smc_ultra32_TRUE@ linux/src/drivers/net/8390.c
-
--@device_driver_starfire_TRUE@am__append_86 = \
-+@device_driver_starfire_TRUE@am__append_87 = \
- @device_driver_starfire_TRUE@ linux/src/drivers/net/starfire.c
-
--@device_driver_sundance_TRUE@am__append_87 = \
-+@device_driver_sundance_TRUE@am__append_88 = \
- @device_driver_sundance_TRUE@ linux/src/drivers/net/sundance.c
-
--@device_driver_tlan_TRUE@am__append_88 = \
-+@device_driver_tlan_TRUE@am__append_89 = \
- @device_driver_tlan_TRUE@ linux/src/drivers/net/tlan.c \
- @device_driver_tlan_TRUE@ linux/src/drivers/net/tlan.h
-
--@device_driver_tulip_TRUE@am__append_89 = \
-+@device_driver_tulip_TRUE@am__append_90 = \
- @device_driver_tulip_TRUE@ linux/src/drivers/net/tulip.c
-
--@device_driver_via_rhine_TRUE@am__append_90 = \
-+@device_driver_via_rhine_TRUE@am__append_91 = \
- @device_driver_via_rhine_TRUE@ linux/src/drivers/net/via-rhine.c
-
--@device_driver_wavelan_TRUE@am__append_91 = \
-+@device_driver_wavelan_TRUE@am__append_92 = \
- @device_driver_wavelan_TRUE@ linux/src/drivers/net/i82586.h \
- @device_driver_wavelan_TRUE@ linux/src/drivers/net/wavelan.c \
- @device_driver_wavelan_TRUE@ linux/src/drivers/net/wavelan.h \
- @device_driver_wavelan_TRUE@ linux/dev/drivers/net/wavelan.p.h
-
--@device_driver_wd_TRUE@am__append_92 = \
-+@device_driver_wd_TRUE@am__append_93 = \
- @device_driver_wd_TRUE@ linux/src/drivers/net/wd.c
-
--@device_driver_winbond_840_TRUE@am__append_93 = \
-+@device_driver_winbond_840_TRUE@am__append_94 = \
- @device_driver_winbond_840_TRUE@ linux/src/drivers/net/winbond-840.c \
- @device_driver_winbond_840_TRUE@ linux/src/drivers/net/8390.c
-
--@device_driver_yellowfin_TRUE@am__append_94 = \
-+@device_driver_yellowfin_TRUE@am__append_95 = \
- @device_driver_yellowfin_TRUE@ linux/src/drivers/net/yellowfin.c
-
--@device_driver_znet_TRUE@am__append_95 = \
-+@device_driver_znet_TRUE@am__append_96 = \
- @device_driver_znet_TRUE@ linux/src/drivers/net/znet.c
-
--@device_driver_group_pcmcia_TRUE@am__append_96 = \
-+@device_driver_group_pcmcia_TRUE@am__append_97 = \
- @device_driver_group_pcmcia_TRUE@ liblinux_pcmcia_cs_modules.a \
- @device_driver_group_pcmcia_TRUE@ liblinux_pcmcia_cs_clients.a \
- @device_driver_group_pcmcia_TRUE@ liblinux_pcmcia_cs_wireless.a
--@device_driver_group_pcmcia_TRUE@am__append_97 = \
-+@device_driver_group_pcmcia_TRUE@am__append_98 = \
- @device_driver_group_pcmcia_TRUE@ liblinux_pcmcia_cs_modules.a \
- @device_driver_group_pcmcia_TRUE@ liblinux_pcmcia_cs_clients.a \
- @device_driver_group_pcmcia_TRUE@ liblinux_pcmcia_cs_wireless.a
--@device_driver_i82365_TRUE@am__append_98 = \
-+@device_driver_i82365_TRUE@am__append_99 = \
- @device_driver_i82365_TRUE@ linux/pcmcia-cs/modules/cirrus.h \
- @device_driver_i82365_TRUE@ linux/pcmcia-cs/modules/ene.h \
- @device_driver_i82365_TRUE@ linux/pcmcia-cs/modules/i82365.c \
-@@ -740,34 +720,34 @@ DIST_COMMON = README $(am__configure_dep
- @device_driver_i82365_TRUE@ linux/pcmcia-cs/modules/vg468.h \
- @device_driver_i82365_TRUE@ linux/pcmcia-cs/modules/yenta.h
-
--@device_driver_3c574_cs_TRUE@am__append_99 = \
-+@device_driver_3c574_cs_TRUE@am__append_100 = \
- @device_driver_3c574_cs_TRUE@ linux/pcmcia-cs/clients/3c574_cs.c
-
--@device_driver_3c589_cs_TRUE@am__append_100 = \
-+@device_driver_3c589_cs_TRUE@am__append_101 = \
- @device_driver_3c589_cs_TRUE@ linux/pcmcia-cs/clients/3c589_cs.c
-
--@device_driver_axnet_cs_TRUE@am__append_101 = \
-+@device_driver_axnet_cs_TRUE@am__append_102 = \
- @device_driver_axnet_cs_TRUE@ linux/pcmcia-cs/clients/ax8390.h \
- @device_driver_axnet_cs_TRUE@ linux/pcmcia-cs/clients/axnet_cs.c
-
--@device_driver_fmvj18x_cs_TRUE@am__append_102 = \
-+@device_driver_fmvj18x_cs_TRUE@am__append_103 = \
- @device_driver_fmvj18x_cs_TRUE@ linux/pcmcia-cs/clients/fmvj18x_cs.c
-
--@device_driver_nmclan_cs_TRUE@am__append_103 = \
-+@device_driver_nmclan_cs_TRUE@am__append_104 = \
- @device_driver_nmclan_cs_TRUE@ linux/pcmcia-cs/clients/nmclan_cs.c
-
--@device_driver_pcnet_cs_TRUE@am__append_104 = \
-+@device_driver_pcnet_cs_TRUE@am__append_105 = \
- @device_driver_pcnet_cs_TRUE@ linux/pcmcia-cs/clients/pcnet_cs.c \
- @device_driver_pcnet_cs_TRUE@ linux/src/drivers/net/8390.c
-
--@device_driver_smc91c92_cs_TRUE@am__append_105 = \
-+@device_driver_smc91c92_cs_TRUE@am__append_106 = \
- @device_driver_smc91c92_cs_TRUE@ linux/pcmcia-cs/clients/ositech.h \
- @device_driver_smc91c92_cs_TRUE@ linux/pcmcia-cs/clients/smc91c92_cs.c
-
--@device_driver_xirc2ps_cs_TRUE@am__append_106 = \
-+@device_driver_xirc2ps_cs_TRUE@am__append_107 = \
- @device_driver_xirc2ps_cs_TRUE@ linux/pcmcia-cs/clients/xirc2ps_cs.c
-
--@device_driver_orinoco_cs_TRUE@am__append_107 = \
-+@device_driver_orinoco_cs_TRUE@am__append_108 = \
- @device_driver_orinoco_cs_TRUE@ linux/pcmcia-cs/glue/wireless_glue.h \
- @device_driver_orinoco_cs_TRUE@ linux/pcmcia-cs/wireless/hermes.c \
- @device_driver_orinoco_cs_TRUE@ linux/pcmcia-cs/wireless/hermes.h \
-@@ -777,11 +757,11 @@ DIST_COMMON = README $(am__configure_dep
- @device_driver_orinoco_cs_TRUE@ linux/pcmcia-cs/wireless/orinoco.h \
- @device_driver_orinoco_cs_TRUE@ linux/pcmcia-cs/wireless/orinoco_cs.c
-
--@HOST_ix86_TRUE@am__append_108 = \
-+@HOST_ix86_TRUE@am__append_109 = \
- @HOST_ix86_TRUE@ i386/linux/dev/include/linux/autoconf.h \
- @HOST_ix86_TRUE@ linux/src/arch/i386/lib/semaphore.S
-
--@HOST_ix86_TRUE@am__append_109 = \
-+@HOST_ix86_TRUE@am__append_110 = \
- @HOST_ix86_TRUE@ i386/i386at/autoconf.c \
- @HOST_ix86_TRUE@ i386/i386at/boothdr.S \
- @HOST_ix86_TRUE@ i386/i386at/com.c \
-@@ -795,6 +775,7 @@ DIST_COMMON = README $(am__configure_dep
- @HOST_ix86_TRUE@ i386/i386at/immc.c \
- @HOST_ix86_TRUE@ i386/i386at/int_init.c \
- @HOST_ix86_TRUE@ i386/i386at/interrupt.S \
-+@HOST_ix86_TRUE@ i386/i386at/iopl.c \
- @HOST_ix86_TRUE@ i386/i386at/kd.c \
- @HOST_ix86_TRUE@ i386/i386at/kd.h \
- @HOST_ix86_TRUE@ i386/i386at/kd_event.c \
-@@ -815,7 +796,7 @@ DIST_COMMON = README $(am__configure_dep
- #
- # `lpr' device support.
- #
--@HOST_ix86_TRUE@@enable_lpr_TRUE@am__append_110 = \
-+@HOST_ix86_TRUE@@enable_lpr_TRUE@am__append_111 = \
- @HOST_ix86_TRUE@@enable_lpr_TRUE@ i386/i386at/lpr.c \
- @HOST_ix86_TRUE@@enable_lpr_TRUE@ i386/i386at/lprreg.h
-
-@@ -823,7 +804,7 @@ DIST_COMMON = README $(am__configure_dep
- #
- # Further source files for any i386 kernel.
- #
--@HOST_ix86_TRUE@am__append_111 = \
-+@HOST_ix86_TRUE@am__append_112 = \
- @HOST_ix86_TRUE@ i386/i386/ast.h \
- @HOST_ix86_TRUE@ i386/i386/ast_check.c \
- @HOST_ix86_TRUE@ i386/i386/ast_types.h \
-@@ -908,21 +889,21 @@ DIST_COMMON = README $(am__configure_dep
- #
-
- # Instead of listing each file individually...
--@HOST_ix86_TRUE@am__append_112 = i386/i386/mach_i386.srv \
-+@HOST_ix86_TRUE@am__append_113 = i386/i386/mach_i386.srv \
- @HOST_ix86_TRUE@ i386/i386/i386asm.sym i386/ldscript \
- @HOST_ix86_TRUE@ i386/README-Drivers i386/include
-
- #
- # KDB support.
- #
--@HOST_ix86_TRUE@@enable_kdb_TRUE@am__append_113 = \
-+@HOST_ix86_TRUE@@enable_kdb_TRUE@am__append_114 = \
- @HOST_ix86_TRUE@@enable_kdb_TRUE@ i386/i386/_setjmp.S
-
-
- #
- # Files from the generic sources that we want.
- #
--@HOST_ix86_TRUE@am__append_114 = \
-+@HOST_ix86_TRUE@am__append_115 = \
- @HOST_ix86_TRUE@ chips/busses.c \
- @HOST_ix86_TRUE@ chips/busses.h \
- @HOST_ix86_TRUE@ device/cirbuf.c
-@@ -933,14 +914,14 @@ DIST_COMMON = README $(am__configure_dep
- #
- # See Makerules.mig.am.
- #
--@HOST_ix86_TRUE@am__append_115 = \
-+@HOST_ix86_TRUE@am__append_116 = \
- @HOST_ix86_TRUE@ i386/i386/mach_i386.server.defs.c
-
--@HOST_ix86_TRUE@am__append_116 = i386/i386/mach_i386.server.h \
-+@HOST_ix86_TRUE@am__append_117 = i386/i386/mach_i386.server.h \
- @HOST_ix86_TRUE@ i386/i386/mach_i386.server.c \
- @HOST_ix86_TRUE@ i386/i386/mach_i386.server.msgids \
- @HOST_ix86_TRUE@ i386/i386/i386asm.h
--@HOST_ix86_TRUE@@PLATFORM_at_TRUE@am__append_117 = \
-+@HOST_ix86_TRUE@@PLATFORM_at_TRUE@am__append_118 = \
- @HOST_ix86_TRUE@@PLATFORM_at_TRUE@ --defsym _START=0x100000 \
- @HOST_ix86_TRUE@@PLATFORM_at_TRUE@ -T '$(srcdir)'/i386/ldscript
-
-@@ -1026,10 +1007,10 @@ am__libkernel_a_SOURCES_DIST = ddb/db_ac
- kern/time_out.h kern/time_stamp.c kern/time_stamp.h \
- kern/timer.c kern/timer.h kern/xpr.c kern/xpr.h kern/zalloc.c \
- kern/zalloc.h kern/elf-load.c kern/boot_script.c \
-- util/putchar.c util/puts.c vm/memory_object.c \
-- vm/memory_object.h vm/pmap.h vm/vm_debug.c vm/vm_external.c \
-- vm/vm_external.h vm/vm_fault.c vm/vm_fault.h vm/vm_init.c \
-- vm/vm_kern.c vm/vm_kern.h vm/vm_map.c vm/vm_map.h \
-+ util/putchar.c util/puts.c vm/memory_object_proxy.c \
-+ vm/memory_object.c vm/memory_object.h vm/pmap.h vm/vm_debug.c \
-+ vm/vm_external.c vm/vm_external.h vm/vm_fault.c vm/vm_fault.h \
-+ vm/vm_init.c vm/vm_kern.c vm/vm_kern.h vm/vm_map.c vm/vm_map.h \
- vm/vm_object.c vm/vm_object.h vm/vm_page.h vm/vm_pageout.c \
- vm/vm_pageout.h vm/vm_resident.c vm/vm_user.c vm/vm_user.h \
- device/blkio.c device/buf.h device/chario.c device/cirbuf.h \
-@@ -1046,12 +1027,13 @@ am__libkernel_a_SOURCES_DIST = ddb/db_ac
- i386/i386at/cons_conf.c i386/i386at/cram.h i386/i386at/disk.h \
- i386/i386at/i8250.h i386/i386at/idt.h i386/i386at/immc.c \
- i386/i386at/int_init.c i386/i386at/interrupt.S \
-- i386/i386at/kd.c i386/i386at/kd.h i386/i386at/kd_event.c \
-- i386/i386at/kd_event.h i386/i386at/kd_mouse.c \
-- i386/i386at/kd_mouse.h i386/i386at/kd_queue.c \
-- i386/i386at/kd_queue.h i386/i386at/kdasm.S \
-- i386/i386at/kdsoft.h i386/i386at/model_dep.c \
-- i386/i386at/pic_isa.c i386/i386at/rtc.c i386/i386at/rtc.h \
-+ i386/i386at/iopl.c i386/i386at/kd.c i386/i386at/kd.h \
-+ i386/i386at/kd_event.c i386/i386at/kd_event.h \
-+ i386/i386at/kd_mouse.c i386/i386at/kd_mouse.h \
-+ i386/i386at/kd_queue.c i386/i386at/kd_queue.h \
-+ i386/i386at/kdasm.S i386/i386at/kdsoft.h \
-+ i386/i386at/model_dep.c i386/i386at/pic_isa.c \
-+ i386/i386at/rtc.c i386/i386at/rtc.h \
- i386/include/mach/sa/stdarg.h i386/i386at/lpr.c \
- i386/i386at/lprreg.h i386/i386/ast.h i386/i386/ast_check.c \
- i386/i386/ast_types.h i386/i386/cpu_number.h \
-@@ -1108,6 +1090,7 @@ am__libkernel_a_SOURCES_DIST = ddb/db_ac
- @HOST_ix86_TRUE@ i386/i386at/immc.$(OBJEXT) \
- @HOST_ix86_TRUE@ i386/i386at/int_init.$(OBJEXT) \
- @HOST_ix86_TRUE@ i386/i386at/interrupt.$(OBJEXT) \
-+@HOST_ix86_TRUE@ i386/i386at/iopl.$(OBJEXT) \
- @HOST_ix86_TRUE@ i386/i386at/kd.$(OBJEXT) \
- @HOST_ix86_TRUE@ i386/i386at/kd_event.$(OBJEXT) \
- @HOST_ix86_TRUE@ i386/i386at/kd_mouse.$(OBJEXT) \
-@@ -1184,9 +1167,10 @@ am_libkernel_a_OBJECTS = $(am__objects_2
- kern/xpr.$(OBJEXT) kern/zalloc.$(OBJEXT) \
- kern/elf-load.$(OBJEXT) kern/boot_script.$(OBJEXT) \
- util/putchar.$(OBJEXT) util/puts.$(OBJEXT) \
-- vm/memory_object.$(OBJEXT) vm/vm_debug.$(OBJEXT) \
-- vm/vm_external.$(OBJEXT) vm/vm_fault.$(OBJEXT) \
-- vm/vm_init.$(OBJEXT) vm/vm_kern.$(OBJEXT) vm/vm_map.$(OBJEXT) \
-+ vm/memory_object_proxy.$(OBJEXT) vm/memory_object.$(OBJEXT) \
-+ vm/vm_debug.$(OBJEXT) vm/vm_external.$(OBJEXT) \
-+ vm/vm_fault.$(OBJEXT) vm/vm_init.$(OBJEXT) \
-+ vm/vm_kern.$(OBJEXT) vm/vm_map.$(OBJEXT) \
- vm/vm_object.$(OBJEXT) vm/vm_pageout.$(OBJEXT) \
- vm/vm_resident.$(OBJEXT) vm/vm_user.$(OBJEXT) \
- device/blkio.$(OBJEXT) device/chario.$(OBJEXT) \
-@@ -1331,7 +1315,8 @@ am__liblinux_a_SOURCES_DIST = linux/dev/
- linux/src/drivers/net/rtl8139.c \
- linux/src/drivers/net/seeq8005.c \
- linux/src/drivers/net/seeq8005.h \
-- linux/src/drivers/net/sk_g16.c linux/src/drivers/net/sk_g16.h \
-+ linux/src/drivers/net/sis900.c linux/src/drivers/net/sk_g16.c \
-+ linux/src/drivers/net/sk_g16.h \
- linux/src/drivers/net/smc-ultra.c \
- linux/src/drivers/net/smc-ultra32.c \
- linux/src/drivers/net/starfire.c \
-@@ -1441,23 +1426,24 @@ am__liblinux_a_SOURCES_DIST = linux/dev/
- @device_driver_pcnet32_TRUE@am__objects_78 = linux/src/drivers/net/liblinux_a-pcnet32.$(OBJEXT)
- @device_driver_rtl8139_TRUE@am__objects_79 = linux/src/drivers/net/liblinux_a-rtl8139.$(OBJEXT)
- @device_driver_seeq8005_TRUE@am__objects_80 = linux/src/drivers/net/liblinux_a-seeq8005.$(OBJEXT)
--@device_driver_sk_g16_TRUE@am__objects_81 = linux/src/drivers/net/liblinux_a-sk_g16.$(OBJEXT)
--@device_driver_smc_ultra_TRUE@am__objects_82 = linux/src/drivers/net/liblinux_a-smc-ultra.$(OBJEXT) \
-+@device_driver_sis900_TRUE@am__objects_81 = linux/src/drivers/net/liblinux_a-sis900.$(OBJEXT)
-+@device_driver_sk_g16_TRUE@am__objects_82 = linux/src/drivers/net/liblinux_a-sk_g16.$(OBJEXT)
-+@device_driver_smc_ultra_TRUE@am__objects_83 = linux/src/drivers/net/liblinux_a-smc-ultra.$(OBJEXT) \
- @device_driver_smc_ultra_TRUE@ linux/src/drivers/net/liblinux_a-8390.$(OBJEXT)
--@device_driver_smc_ultra32_TRUE@am__objects_83 = linux/src/drivers/net/liblinux_a-smc-ultra32.$(OBJEXT) \
-+@device_driver_smc_ultra32_TRUE@am__objects_84 = linux/src/drivers/net/liblinux_a-smc-ultra32.$(OBJEXT) \
- @device_driver_smc_ultra32_TRUE@ linux/src/drivers/net/liblinux_a-8390.$(OBJEXT)
--@device_driver_starfire_TRUE@am__objects_84 = linux/src/drivers/net/liblinux_a-starfire.$(OBJEXT)
--@device_driver_sundance_TRUE@am__objects_85 = linux/src/drivers/net/liblinux_a-sundance.$(OBJEXT)
--@device_driver_tlan_TRUE@am__objects_86 = linux/src/drivers/net/liblinux_a-tlan.$(OBJEXT)
--@device_driver_tulip_TRUE@am__objects_87 = linux/src/drivers/net/liblinux_a-tulip.$(OBJEXT)
--@device_driver_via_rhine_TRUE@am__objects_88 = linux/src/drivers/net/liblinux_a-via-rhine.$(OBJEXT)
--@device_driver_wavelan_TRUE@am__objects_89 = linux/src/drivers/net/liblinux_a-wavelan.$(OBJEXT)
--@device_driver_wd_TRUE@am__objects_90 = linux/src/drivers/net/liblinux_a-wd.$(OBJEXT)
--@device_driver_winbond_840_TRUE@am__objects_91 = linux/src/drivers/net/liblinux_a-winbond-840.$(OBJEXT) \
-+@device_driver_starfire_TRUE@am__objects_85 = linux/src/drivers/net/liblinux_a-starfire.$(OBJEXT)
-+@device_driver_sundance_TRUE@am__objects_86 = linux/src/drivers/net/liblinux_a-sundance.$(OBJEXT)
-+@device_driver_tlan_TRUE@am__objects_87 = linux/src/drivers/net/liblinux_a-tlan.$(OBJEXT)
-+@device_driver_tulip_TRUE@am__objects_88 = linux/src/drivers/net/liblinux_a-tulip.$(OBJEXT)
-+@device_driver_via_rhine_TRUE@am__objects_89 = linux/src/drivers/net/liblinux_a-via-rhine.$(OBJEXT)
-+@device_driver_wavelan_TRUE@am__objects_90 = linux/src/drivers/net/liblinux_a-wavelan.$(OBJEXT)
-+@device_driver_wd_TRUE@am__objects_91 = linux/src/drivers/net/liblinux_a-wd.$(OBJEXT)
-+@device_driver_winbond_840_TRUE@am__objects_92 = linux/src/drivers/net/liblinux_a-winbond-840.$(OBJEXT) \
- @device_driver_winbond_840_TRUE@ linux/src/drivers/net/liblinux_a-8390.$(OBJEXT)
--@device_driver_yellowfin_TRUE@am__objects_92 = linux/src/drivers/net/liblinux_a-yellowfin.$(OBJEXT)
--@device_driver_znet_TRUE@am__objects_93 = linux/src/drivers/net/liblinux_a-znet.$(OBJEXT)
--@HOST_ix86_TRUE@am__objects_94 = linux/src/arch/i386/lib/liblinux_a-semaphore.$(OBJEXT)
-+@device_driver_yellowfin_TRUE@am__objects_93 = linux/src/drivers/net/liblinux_a-yellowfin.$(OBJEXT)
-+@device_driver_znet_TRUE@am__objects_94 = linux/src/drivers/net/liblinux_a-znet.$(OBJEXT)
-+@HOST_ix86_TRUE@am__objects_95 = linux/src/arch/i386/lib/liblinux_a-semaphore.$(OBJEXT)
- am_liblinux_a_OBJECTS = linux/dev/init/liblinux_a-version.$(OBJEXT) \
- linux/dev/kernel/liblinux_a-softirq.$(OBJEXT) \
- linux/src/arch/i386/lib/liblinux_a-delay.$(OBJEXT) \
-@@ -1504,7 +1490,7 @@ am_liblinux_a_OBJECTS = linux/dev/init/l
- $(am__objects_85) $(am__objects_86) $(am__objects_87) \
- $(am__objects_88) $(am__objects_89) $(am__objects_90) \
- $(am__objects_91) $(am__objects_92) $(am__objects_93) \
-- $(am__objects_94)
-+ $(am__objects_94) $(am__objects_95)
- liblinux_a_OBJECTS = $(am_liblinux_a_OBJECTS)
- liblinux_pcmcia_cs_clients_a_AR = $(AR) $(ARFLAGS)
- liblinux_pcmcia_cs_clients_a_LIBADD =
-@@ -1519,19 +1505,19 @@ am__liblinux_pcmcia_cs_clients_a_SOURCES
- linux/src/drivers/net/8390.c linux/pcmcia-cs/clients/ositech.h \
- linux/pcmcia-cs/clients/smc91c92_cs.c \
- linux/pcmcia-cs/clients/xirc2ps_cs.c
--@device_driver_3c574_cs_TRUE@am__objects_95 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-3c574_cs.$(OBJEXT)
--@device_driver_3c589_cs_TRUE@am__objects_96 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-3c589_cs.$(OBJEXT)
--@device_driver_axnet_cs_TRUE@am__objects_97 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-axnet_cs.$(OBJEXT)
--@device_driver_fmvj18x_cs_TRUE@am__objects_98 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-fmvj18x_cs.$(OBJEXT)
--@device_driver_nmclan_cs_TRUE@am__objects_99 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-nmclan_cs.$(OBJEXT)
--@device_driver_pcnet_cs_TRUE@am__objects_100 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-pcnet_cs.$(OBJEXT) \
-+@device_driver_3c574_cs_TRUE@am__objects_96 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-3c574_cs.$(OBJEXT)
-+@device_driver_3c589_cs_TRUE@am__objects_97 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-3c589_cs.$(OBJEXT)
-+@device_driver_axnet_cs_TRUE@am__objects_98 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-axnet_cs.$(OBJEXT)
-+@device_driver_fmvj18x_cs_TRUE@am__objects_99 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-fmvj18x_cs.$(OBJEXT)
-+@device_driver_nmclan_cs_TRUE@am__objects_100 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-nmclan_cs.$(OBJEXT)
-+@device_driver_pcnet_cs_TRUE@am__objects_101 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-pcnet_cs.$(OBJEXT) \
- @device_driver_pcnet_cs_TRUE@ linux/src/drivers/net/liblinux_pcmcia_cs_clients_a-8390.$(OBJEXT)
--@device_driver_smc91c92_cs_TRUE@am__objects_101 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-smc91c92_cs.$(OBJEXT)
--@device_driver_xirc2ps_cs_TRUE@am__objects_102 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-xirc2ps_cs.$(OBJEXT)
--am_liblinux_pcmcia_cs_clients_a_OBJECTS = $(am__objects_95) \
-- $(am__objects_96) $(am__objects_97) $(am__objects_98) \
-- $(am__objects_99) $(am__objects_100) $(am__objects_101) \
-- $(am__objects_102)
-+@device_driver_smc91c92_cs_TRUE@am__objects_102 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-smc91c92_cs.$(OBJEXT)
-+@device_driver_xirc2ps_cs_TRUE@am__objects_103 = linux/pcmcia-cs/clients/liblinux_pcmcia_cs_clients_a-xirc2ps_cs.$(OBJEXT)
-+am_liblinux_pcmcia_cs_clients_a_OBJECTS = $(am__objects_96) \
-+ $(am__objects_97) $(am__objects_98) $(am__objects_99) \
-+ $(am__objects_100) $(am__objects_101) $(am__objects_102) \
-+ $(am__objects_103)
- liblinux_pcmcia_cs_clients_a_OBJECTS = \
- $(am_liblinux_pcmcia_cs_clients_a_OBJECTS)
- liblinux_pcmcia_cs_modules_a_AR = $(AR) $(ARFLAGS)
-@@ -1556,7 +1542,7 @@ am__liblinux_pcmcia_cs_modules_a_SOURCES
- linux/pcmcia-cs/modules/topic.h \
- linux/pcmcia-cs/modules/vg468.h \
- linux/pcmcia-cs/modules/yenta.h
--@device_driver_i82365_TRUE@am__objects_103 = linux/pcmcia-cs/modules/liblinux_pcmcia_cs_modules_a-i82365.$(OBJEXT)
-+@device_driver_i82365_TRUE@am__objects_104 = linux/pcmcia-cs/modules/liblinux_pcmcia_cs_modules_a-i82365.$(OBJEXT)
- am_liblinux_pcmcia_cs_modules_a_OBJECTS = linux/pcmcia-cs/glue/liblinux_pcmcia_cs_modules_a-pcmcia.$(OBJEXT) \
- linux/pcmcia-cs/modules/liblinux_pcmcia_cs_modules_a-cs.$(OBJEXT) \
- linux/pcmcia-cs/modules/liblinux_pcmcia_cs_modules_a-ds.$(OBJEXT) \
-@@ -1564,7 +1550,7 @@ am_liblinux_pcmcia_cs_modules_a_OBJECTS
- linux/pcmcia-cs/modules/liblinux_pcmcia_cs_modules_a-bulkmem.$(OBJEXT) \
- linux/pcmcia-cs/modules/liblinux_pcmcia_cs_modules_a-cistpl.$(OBJEXT) \
- linux/pcmcia-cs/modules/liblinux_pcmcia_cs_modules_a-pci_fixup.$(OBJEXT) \
-- $(am__objects_103)
-+ $(am__objects_104)
- liblinux_pcmcia_cs_modules_a_OBJECTS = \
- $(am_liblinux_pcmcia_cs_modules_a_OBJECTS)
- liblinux_pcmcia_cs_wireless_a_AR = $(AR) $(ARFLAGS)
-@@ -1578,10 +1564,10 @@ am__liblinux_pcmcia_cs_wireless_a_SOURCE
- linux/pcmcia-cs/wireless/orinoco.c \
- linux/pcmcia-cs/wireless/orinoco.h \
- linux/pcmcia-cs/wireless/orinoco_cs.c
--@device_driver_orinoco_cs_TRUE@am__objects_104 = linux/pcmcia-cs/wireless/liblinux_pcmcia_cs_wireless_a-hermes.$(OBJEXT) \
-+@device_driver_orinoco_cs_TRUE@am__objects_105 = linux/pcmcia-cs/wireless/liblinux_pcmcia_cs_wireless_a-hermes.$(OBJEXT) \
- @device_driver_orinoco_cs_TRUE@ linux/pcmcia-cs/wireless/liblinux_pcmcia_cs_wireless_a-orinoco.$(OBJEXT) \
- @device_driver_orinoco_cs_TRUE@ linux/pcmcia-cs/wireless/liblinux_pcmcia_cs_wireless_a-orinoco_cs.$(OBJEXT)
--am_liblinux_pcmcia_cs_wireless_a_OBJECTS = $(am__objects_104)
-+am_liblinux_pcmcia_cs_wireless_a_OBJECTS = $(am__objects_105)
- liblinux_pcmcia_cs_wireless_a_OBJECTS = \
- $(am_liblinux_pcmcia_cs_wireless_a_OBJECTS)
- am__installdirs = "$(DESTDIR)$(exec_bootdir)" "$(DESTDIR)$(infodir)" \
-@@ -1623,14 +1609,13 @@ DIST_SOURCES = $(am__libkernel_a_SOURCES
- $(am__liblinux_pcmcia_cs_modules_a_SOURCES_DIST) \
- $(am__liblinux_pcmcia_cs_wireless_a_SOURCES_DIST) \
- $(gnumach_SOURCES) $(gnumach_o_SOURCES)
--INFO_DEPS = $(srcdir)/doc/mach.info
- TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
- am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux
--DVIS = doc/mach.dvi
--PDFS = doc/mach.pdf
--PSS = doc/mach.ps
--HTMLS = doc/mach.html
--TEXINFOS = doc/mach.texi
-+DVIS =
-+PDFS =
-+PSS =
-+HTMLS =
-+TEXINFOS =
- TEXI2DVI = texi2dvi
- TEXI2PDF = $(TEXI2DVI) --pdf --batch
- MAKEINFOHTML = $(MAKEINFO) --html
-@@ -1912,6 +1897,8 @@ device_driver_seagate_FALSE = @device_dr
- device_driver_seagate_TRUE = @device_driver_seagate_TRUE@
- device_driver_seeq8005_FALSE = @device_driver_seeq8005_FALSE@
- device_driver_seeq8005_TRUE = @device_driver_seeq8005_TRUE@
-+device_driver_sis900_FALSE = @device_driver_sis900_FALSE@
-+device_driver_sis900_TRUE = @device_driver_sis900_TRUE@
- device_driver_sk_g16_FALSE = @device_driver_sk_g16_FALSE@
- device_driver_sk_g16_TRUE = @device_driver_sk_g16_TRUE@
- device_driver_smc91c92_cs_FALSE = @device_driver_smc91c92_cs_FALSE@
-@@ -2014,8 +2001,7 @@ EXTRA_DIST = gensym.awk ipc/mach_port.sr
- linux/src/drivers/scsi/NCR5380.h linux/src/drivers/net/8390.h \
- linux/src/drivers/net/kern_compat.h linux/pcmcia-cs/glue/ds.c \
- linux/dev/README linux/src/COPYING linux/dev/include \
-- linux/src/include linux/pcmcia-cs/include $(am__append_112) \
-- $(mach_TEXINFOS) \
-+ linux/src/include linux/pcmcia-cs/include $(am__append_113) \
- Makefile.correct_output_files_for_.S_files.patch \
- config.status.dep.patch ChangeLog.0 ChangeLog.00 DEVELOPMENT
-
-@@ -2030,9 +2016,9 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-kdb
- # The main kernel functionality.
- #
- noinst_LIBRARIES = libkernel.a lib_dep_tr_for_defs.a $(am__append_4) \
-- $(am__append_96)
-+ $(am__append_97)
- TESTS = tests/test-mbchk
--info_TEXINFOS = doc/mach.texi
-+info_TEXINFOS =
- # kern/mach.server.defs
- # kern/mach4.server.defs
- # kern/mach_debug.server.defs
-@@ -2128,10 +2114,10 @@ libkernel_a_SOURCES = $(am__append_2) ip
- kern/time_out.h kern/time_stamp.c kern/time_stamp.h \
- kern/timer.c kern/timer.h kern/xpr.c kern/xpr.h kern/zalloc.c \
- kern/zalloc.h kern/elf-load.c kern/boot_script.c \
-- util/putchar.c util/puts.c vm/memory_object.c \
-- vm/memory_object.h vm/pmap.h vm/vm_debug.c vm/vm_external.c \
-- vm/vm_external.h vm/vm_fault.c vm/vm_fault.h vm/vm_init.c \
-- vm/vm_kern.c vm/vm_kern.h vm/vm_map.c vm/vm_map.h \
-+ util/putchar.c util/puts.c vm/memory_object_proxy.c \
-+ vm/memory_object.c vm/memory_object.h vm/pmap.h vm/vm_debug.c \
-+ vm/vm_external.c vm/vm_external.h vm/vm_fault.c vm/vm_fault.h \
-+ vm/vm_init.c vm/vm_kern.c vm/vm_kern.h vm/vm_map.c vm/vm_map.h \
- vm/vm_object.c vm/vm_object.h vm/vm_page.h vm/vm_pageout.c \
- vm/vm_pageout.h vm/vm_resident.c vm/vm_user.c vm/vm_user.h \
- device/blkio.c device/buf.h device/chario.c device/cirbuf.h \
-@@ -2142,9 +2128,9 @@ libkernel_a_SOURCES = $(am__append_2) ip
- device/ds_routines.c device/ds_routines.h device/errno.h \
- device/if_ether.h device/if_hdr.h device/io_req.h \
- device/net_io.c device/net_io.h device/param.h device/subrs.c \
-- device/tty.h $(am__append_3) $(am__append_109) \
-- $(am__append_110) $(am__append_111) $(am__append_113) \
-- $(am__append_114)
-+ device/tty.h $(am__append_3) $(am__append_110) \
-+ $(am__append_111) $(am__append_112) $(am__append_114) \
-+ $(am__append_115)
-
- #
- # Version number.
-@@ -2168,10 +2154,10 @@ nodist_libkernel_a_SOURCES = version.c v
- kern/mach4.server.msgids kern/mach_debug.server.h \
- kern/mach_debug.server.c kern/mach_debug.server.msgids \
- kern/mach_host.server.h kern/mach_host.server.c \
-- kern/mach_host.server.msgids $(am__append_116)
--gnumach_o_LDADD = libkernel.a $(am__append_5) $(am__append_97)
-+ kern/mach_host.server.msgids $(am__append_117)
-+gnumach_o_LDADD = libkernel.a $(am__append_5) $(am__append_98)
- gnumach_SOURCES =
--gnumach_LINKFLAGS = $(am__append_117)
-+gnumach_LINKFLAGS = $(am__append_118)
-
- #
- # Automatically generated source files.
-@@ -2197,7 +2183,7 @@ nodist_lib_dep_tr_for_defs_a_SOURCES =
- device/device.server.defs.c device/device_pager.server.defs.c \
- ipc/mach_port.server.defs.c kern/mach.server.defs.c \
- kern/mach4.server.defs.c kern/mach_debug.server.defs.c \
-- kern/mach_host.server.defs.c $(am__append_115)
-+ kern/mach_host.server.defs.c $(am__append_116)
- # Preprocess only.
- lib_dep_tr_for_defs_a_CPPFLAGS = $(AM_CPPFLAGS) \
- -E
-@@ -2341,7 +2327,8 @@ liblinux_a_SOURCES = linux/dev/init/vers
- $(am__append_85) $(am__append_86) $(am__append_87) \
- $(am__append_88) $(am__append_89) $(am__append_90) \
- $(am__append_91) $(am__append_92) $(am__append_93) \
-- $(am__append_94) $(am__append_95) $(am__append_108)
-+ $(am__append_94) $(am__append_95) $(am__append_96) \
-+ $(am__append_109)
-
- # pcmcia-cs.
- liblinux_pcmcia_cs_modules_a_CPPFLAGS = $(liblinux_a_CPPFLAGS) \
-@@ -2358,24 +2345,24 @@ liblinux_pcmcia_cs_modules_a_SOURCES = l
- linux/pcmcia-cs/modules/rsrc_mgr.c \
- linux/pcmcia-cs/modules/bulkmem.c \
- linux/pcmcia-cs/modules/cistpl.c \
-- linux/pcmcia-cs/modules/pci_fixup.c $(am__append_98)
-+ linux/pcmcia-cs/modules/pci_fixup.c $(am__append_99)
- liblinux_pcmcia_cs_clients_a_CPPFLAGS = $(liblinux_a_CPPFLAGS) \
- -DPCMCIA_CLIENT -I$(srcdir)/linux/pcmcia-cs/include
-
- liblinux_pcmcia_cs_clients_a_CFLAGS = $(liblinux_a_CFLAGS) \
- -include $(srcdir)/linux/pcmcia-cs/glue/pcmcia_glue.h
-
--liblinux_pcmcia_cs_clients_a_SOURCES = $(am__append_99) \
-- $(am__append_100) $(am__append_101) $(am__append_102) \
-- $(am__append_103) $(am__append_104) $(am__append_105) \
-- $(am__append_106)
-+liblinux_pcmcia_cs_clients_a_SOURCES = $(am__append_100) \
-+ $(am__append_101) $(am__append_102) $(am__append_103) \
-+ $(am__append_104) $(am__append_105) $(am__append_106) \
-+ $(am__append_107)
- liblinux_pcmcia_cs_wireless_a_CPPFLAGS = $(liblinux_a_CPPFLAGS) \
- -I$(srcdir)/linux/pcmcia-cs/include
-
- liblinux_pcmcia_cs_wireless_a_CFLAGS = $(liblinux_a_CFLAGS) \
- -include $(srcdir)/linux/pcmcia-cs/glue/wireless_glue.h
-
--liblinux_pcmcia_cs_wireless_a_SOURCES = $(am__append_107)
-+liblinux_pcmcia_cs_wireless_a_SOURCES = $(am__append_108)
-
- #
- # Installation.
-@@ -2401,14 +2388,6 @@ liblinux_pcmcia_cs_wireless_a_SOURCES =
- @HOST_ix86_TRUE@ i386/include/mach/i386/vm_param.h \
- @HOST_ix86_TRUE@ i386/include/mach/i386/vm_types.h
-
--mach_TEXINFOS = \
-- doc/fdl.texi doc/gpl.texi
--
--
--#
--# Web pages of the GNU Mach Reference Manual.
--#
--web = doc/web
-
- # Makerules: how to do some things.
-
-@@ -2417,6 +2396,7 @@ web = doc/web
- # Test suite.
-
- # Documentation.
-+#include doc/Makefrag.am
-
- #
- # Kernel Image
-@@ -2451,7 +2431,7 @@ all: config.h
- .SUFFIXES: .S .c .dvi .o .obj .ps
- am--refresh:
- @:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makerules.am $(srcdir)/Makerules.mig.am $(srcdir)/Makefrag.am $(srcdir)/linux/Makefrag.am $(srcdir)/i386/linux/Makefrag.am $(srcdir)/i386/Makefrag.am $(srcdir)/tests/Makefrag.am $(srcdir)/doc/Makefrag.am $(am__configure_deps)
-+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makerules.am $(srcdir)/Makerules.mig.am $(srcdir)/Makefrag.am $(srcdir)/linux/Makefrag.am $(srcdir)/i386/linux/Makefrag.am $(srcdir)/i386/Makefrag.am $(srcdir)/tests/Makefrag.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -2741,6 +2721,8 @@ util/putchar.$(OBJEXT): util/$(am__dirst
- util/$(DEPDIR)/$(am__dirstamp)
- util/puts.$(OBJEXT): util/$(am__dirstamp) \
- util/$(DEPDIR)/$(am__dirstamp)
-+vm/memory_object_proxy.$(OBJEXT): vm/$(am__dirstamp) \
-+ vm/$(DEPDIR)/$(am__dirstamp)
- vm/memory_object.$(OBJEXT): vm/$(am__dirstamp) \
- vm/$(DEPDIR)/$(am__dirstamp)
- vm/vm_debug.$(OBJEXT): vm/$(am__dirstamp) vm/$(DEPDIR)/$(am__dirstamp)
-@@ -2801,6 +2783,8 @@ i386/i386at/int_init.$(OBJEXT): i386/i38
- i386/i386at/$(DEPDIR)/$(am__dirstamp)
- i386/i386at/interrupt.$(OBJEXT): i386/i386at/$(am__dirstamp) \
- i386/i386at/$(DEPDIR)/$(am__dirstamp)
-+i386/i386at/iopl.$(OBJEXT): i386/i386at/$(am__dirstamp) \
-+ i386/i386at/$(DEPDIR)/$(am__dirstamp)
- i386/i386at/kd.$(OBJEXT): i386/i386at/$(am__dirstamp) \
- i386/i386at/$(DEPDIR)/$(am__dirstamp)
- i386/i386at/kd_event.$(OBJEXT): i386/i386at/$(am__dirstamp) \
-@@ -3347,6 +3331,9 @@ linux/src/drivers/net/liblinux_a-rtl8139
- linux/src/drivers/net/liblinux_a-seeq8005.$(OBJEXT): \
- linux/src/drivers/net/$(am__dirstamp) \
- linux/src/drivers/net/$(DEPDIR)/$(am__dirstamp)
-+linux/src/drivers/net/liblinux_a-sis900.$(OBJEXT): \
-+ linux/src/drivers/net/$(am__dirstamp) \
-+ linux/src/drivers/net/$(DEPDIR)/$(am__dirstamp)
- linux/src/drivers/net/liblinux_a-sk_g16.$(OBJEXT): \
- linux/src/drivers/net/$(am__dirstamp) \
- linux/src/drivers/net/$(DEPDIR)/$(am__dirstamp)
-@@ -3606,6 +3593,7 @@ mostlyclean-compile:
- -rm -f i386/i386at/immc.$(OBJEXT)
- -rm -f i386/i386at/int_init.$(OBJEXT)
- -rm -f i386/i386at/interrupt.$(OBJEXT)
-+ -rm -f i386/i386at/iopl.$(OBJEXT)
- -rm -f i386/i386at/kd.$(OBJEXT)
- -rm -f i386/i386at/kd_event.$(OBJEXT)
- -rm -f i386/i386at/kd_mouse.$(OBJEXT)
-@@ -3777,6 +3765,7 @@ mostlyclean-compile:
- -rm -f linux/src/drivers/net/liblinux_a-pcnet32.$(OBJEXT)
- -rm -f linux/src/drivers/net/liblinux_a-rtl8139.$(OBJEXT)
- -rm -f linux/src/drivers/net/liblinux_a-seeq8005.$(OBJEXT)
-+ -rm -f linux/src/drivers/net/liblinux_a-sis900.$(OBJEXT)
- -rm -f linux/src/drivers/net/liblinux_a-sk_g16.$(OBJEXT)
- -rm -f linux/src/drivers/net/liblinux_a-smc-ultra.$(OBJEXT)
- -rm -f linux/src/drivers/net/liblinux_a-smc-ultra32.$(OBJEXT)
-@@ -3835,6 +3824,7 @@ mostlyclean-compile:
- -rm -f vm/lib_dep_tr_for_defs_a-memory_object_user.user.defs.$(OBJEXT)
- -rm -f vm/memory_object.$(OBJEXT)
- -rm -f vm/memory_object_default.user.$(OBJEXT)
-+ -rm -f vm/memory_object_proxy.$(OBJEXT)
- -rm -f vm/memory_object_user.user.$(OBJEXT)
- -rm -f vm/vm_debug.$(OBJEXT)
- -rm -f vm/vm_external.$(OBJEXT)
-@@ -3925,6 +3915,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@i386/i386at/$(DEPDIR)/cons_conf.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@i386/i386at/$(DEPDIR)/immc.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@i386/i386at/$(DEPDIR)/int_init.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@i386/i386at/$(DEPDIR)/iopl.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@i386/i386at/$(DEPDIR)/kd.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@i386/i386at/$(DEPDIR)/kd_event.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@i386/i386at/$(DEPDIR)/kd_mouse.Po@am__quote@
-@@ -4094,6 +4085,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@linux/src/drivers/net/$(DEPDIR)/liblinux_a-pcnet32.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@linux/src/drivers/net/$(DEPDIR)/liblinux_a-rtl8139.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@linux/src/drivers/net/$(DEPDIR)/liblinux_a-seeq8005.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@linux/src/drivers/net/$(DEPDIR)/liblinux_a-sk_g16.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@linux/src/drivers/net/$(DEPDIR)/liblinux_a-smc-ultra.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@linux/src/drivers/net/$(DEPDIR)/liblinux_a-smc-ultra32.Po@am__quote@
-@@ -4152,6 +4144,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@vm/$(DEPDIR)/lib_dep_tr_for_defs_a-memory_object_user.user.defs.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@vm/$(DEPDIR)/memory_object.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@vm/$(DEPDIR)/memory_object_default.user.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@vm/$(DEPDIR)/memory_object_proxy.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@vm/$(DEPDIR)/memory_object_user.user.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@vm/$(DEPDIR)/vm_debug.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@vm/$(DEPDIR)/vm_external.Po@am__quote@
-@@ -5872,6 +5865,20 @@ linux/src/drivers/net/liblinux_a-seeq800
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblinux_a_CPPFLAGS) $(CPPFLAGS) $(liblinux_a_CFLAGS) $(CFLAGS) -c -o linux/src/drivers/net/liblinux_a-seeq8005.obj `if test -f 'linux/src/drivers/net/seeq8005.c'; then $(CYGPATH_W) 'linux/src/drivers/net/seeq8005.c'; else $(CYGPATH_W) '$(srcdir)/linux/src/drivers/net/seeq8005.c'; fi`
-
-+linux/src/drivers/net/liblinux_a-sis900.o: linux/src/drivers/net/sis900.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblinux_a_CPPFLAGS) $(CPPFLAGS) $(liblinux_a_CFLAGS) $(CFLAGS) -MT linux/src/drivers/net/liblinux_a-sis900.o -MD -MP -MF "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Tpo" -c -o linux/src/drivers/net/liblinux_a-sis900.o `test -f 'linux/src/drivers/net/sis900.c' || echo '$(srcdir)/'`linux/src/drivers/net/sis900.c; \
-+@am__fastdepCC_TRUE@ then mv -f "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Tpo" "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Po"; else rm -f "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linux/src/drivers/net/sis900.c' object='linux/src/drivers/net/liblinux_a-sis900.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblinux_a_CPPFLAGS) $(CPPFLAGS) $(liblinux_a_CFLAGS) $(CFLAGS) -c -o linux/src/drivers/net/liblinux_a-sis900.o `test -f 'linux/src/drivers/net/sis900.c' || echo '$(srcdir)/'`linux/src/drivers/net/sis900.c
-+
-+linux/src/drivers/net/liblinux_a-sis900.obj: linux/src/drivers/net/sis900.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblinux_a_CPPFLAGS) $(CPPFLAGS) $(liblinux_a_CFLAGS) $(CFLAGS) -MT linux/src/drivers/net/liblinux_a-sis900.obj -MD -MP -MF "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Tpo" -c -o linux/src/drivers/net/liblinux_a-sis900.obj `if test -f 'linux/src/drivers/net/sis900.c'; then $(CYGPATH_W) 'linux/src/drivers/net/sis900.c'; else $(CYGPATH_W) '$(srcdir)/linux/src/drivers/net/sis900.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Tpo" "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Po"; else rm -f "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sis900.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linux/src/drivers/net/sis900.c' object='linux/src/drivers/net/liblinux_a-sis900.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblinux_a_CPPFLAGS) $(CPPFLAGS) $(liblinux_a_CFLAGS) $(CFLAGS) -c -o linux/src/drivers/net/liblinux_a-sis900.obj `if test -f 'linux/src/drivers/net/sis900.c'; then $(CYGPATH_W) 'linux/src/drivers/net/sis900.c'; else $(CYGPATH_W) '$(srcdir)/linux/src/drivers/net/sis900.c'; fi`
-+
- linux/src/drivers/net/liblinux_a-sk_g16.o: linux/src/drivers/net/sk_g16.c
- @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblinux_a_CPPFLAGS) $(CPPFLAGS) $(liblinux_a_CFLAGS) $(CFLAGS) -MT linux/src/drivers/net/liblinux_a-sk_g16.o -MD -MP -MF "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sk_g16.Tpo" -c -o linux/src/drivers/net/liblinux_a-sk_g16.o `test -f 'linux/src/drivers/net/sk_g16.c' || echo '$(srcdir)/'`linux/src/drivers/net/sk_g16.c; \
- @am__fastdepCC_TRUE@ then mv -f "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sk_g16.Tpo" "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sk_g16.Po"; else rm -f "linux/src/drivers/net/$(DEPDIR)/liblinux_a-sk_g16.Tpo"; exit 1; fi
-@@ -6333,74 +6340,6 @@ linux/pcmcia-cs/wireless/liblinux_pcmcia
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linux/pcmcia-cs/wireless/orinoco_cs.c' object='linux/pcmcia-cs/wireless/liblinux_pcmcia_cs_wireless_a-orinoco_cs.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblinux_pcmcia_cs_wireless_a_CPPFLAGS) $(CPPFLAGS) $(liblinux_pcmcia_cs_wireless_a_CFLAGS) $(CFLAGS) -c -o linux/pcmcia-cs/wireless/liblinux_pcmcia_cs_wireless_a-orinoco_cs.obj `if test -f 'linux/pcmcia-cs/wireless/orinoco_cs.c'; then $(CYGPATH_W) 'linux/pcmcia-cs/wireless/orinoco_cs.c'; else $(CYGPATH_W) '$(srcdir)/linux/pcmcia-cs/wireless/orinoco_cs.c'; fi`
--doc/$(am__dirstamp):
-- @$(mkdir_p) doc
-- @: > doc/$(am__dirstamp)
--
--$(srcdir)/doc/mach.info: doc/mach.texi $(srcdir)/doc/version.texi
-- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-- am__cwd=`pwd` && cd $(srcdir) && \
-- rm -rf $$backupdir && mkdir $$backupdir && \
-- if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-- done; \
-- else :; fi && \
-- cd "$$am__cwd"; \
-- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-- -o $@ $(srcdir)/doc/mach.texi; \
-- then \
-- rc=0; \
-- cd $(srcdir); \
-- else \
-- rc=$$?; \
-- cd $(srcdir) && \
-- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-- fi; \
-- rm -rf $$backupdir; exit $$rc
--
--doc/mach.dvi: doc/mach.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-- $(TEXI2DVI) -o $@ `test -f 'doc/mach.texi' || echo '$(srcdir)/'`doc/mach.texi
--
--doc/mach.pdf: doc/mach.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-- $(TEXI2PDF) -o $@ `test -f 'doc/mach.texi' || echo '$(srcdir)/'`doc/mach.texi
--
--doc/mach.html: doc/mach.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-- rm -rf $(@:.html=.htp)
-- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-- -o $(@:.html=.htp) `test -f 'doc/mach.texi' || echo '$(srcdir)/'`doc/mach.texi; \
-- then \
-- rm -rf $@; \
-- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
-- else \
-- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-- exit 1; \
-- fi
--$(srcdir)/doc/stamp-vti: doc/mach.texi $(top_srcdir)/configure
-- test -f doc/$(am__dirstamp) || $(MAKE) doc/$(am__dirstamp)
-- @(dir=.; test -f ./doc/mach.texi || dir=$(srcdir); \
-- set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/mach.texi`; \
-- echo "@set UPDATED $$1 $$2 $$3"; \
-- echo "@set UPDATED-MONTH $$2 $$3"; \
-- echo "@set EDITION $(VERSION)"; \
-- echo "@set VERSION $(VERSION)") > vti.tmp
-- @cmp -s vti.tmp $(srcdir)/doc/version.texi \
-- || (echo "Updating $(srcdir)/doc/version.texi"; \
-- cp vti.tmp $(srcdir)/doc/version.texi)
-- -@rm -f vti.tmp
-- @cp $(srcdir)/doc/version.texi $@
--
--mostlyclean-vti:
-- -rm -f vti.tmp
--
--maintainer-clean-vti:
-- -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
- .dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-@@ -6446,9 +6385,7 @@ dist-info: $(INFO_DEPS)
- done
-
- mostlyclean-aminfo:
-- -rm -rf mach.aux mach.cp mach.cps mach.fn mach.fns mach.ky mach.kys mach.log \
-- mach.pg mach.tmp mach.toc mach.tp mach.vr doc/mach.dvi \
-- doc/mach.pdf doc/mach.ps doc/mach.html
-+ -rm -rf
-
- maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
-@@ -6750,7 +6687,7 @@ check-TESTS: $(TESTS)
- distdir: $(DISTFILES)
- $(am__remove_distdir)
- mkdir $(distdir)
-- $(mkdir_p) $(distdir)/. $(distdir)/build-aux $(distdir)/device $(distdir)/doc $(distdir)/i386 $(distdir)/i386/i386 $(distdir)/i386/include/mach/i386 $(distdir)/i386/linux $(distdir)/include/device $(distdir)/include/mach $(distdir)/include/mach/exec $(distdir)/ipc $(distdir)/kern $(distdir)/linux $(distdir)/linux/dev $(distdir)/linux/pcmcia-cs $(distdir)/linux/pcmcia-cs/glue $(distdir)/linux/src $(distdir)/linux/src/drivers/net $(distdir)/linux/src/drivers/scsi $(distdir)/tests $(distdir)/vm
-+ $(mkdir_p) $(distdir)/. $(distdir)/build-aux $(distdir)/device $(distdir)/i386 $(distdir)/i386/i386 $(distdir)/i386/include/mach/i386 $(distdir)/i386/linux $(distdir)/include/device $(distdir)/include/mach $(distdir)/include/mach/exec $(distdir)/ipc $(distdir)/kern $(distdir)/linux $(distdir)/linux/dev $(distdir)/linux/pcmcia-cs $(distdir)/linux/pcmcia-cs/glue $(distdir)/linux/src $(distdir)/linux/src/drivers/net $(distdir)/linux/src/drivers/scsi $(distdir)/tests $(distdir)/vm
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
-@@ -6929,7 +6866,6 @@ distclean-generic:
- -rm -f ddb/$(am__dirstamp)
- -rm -f device/$(DEPDIR)/$(am__dirstamp)
- -rm -f device/$(am__dirstamp)
-- -rm -f doc/$(am__dirstamp)
- -rm -f i386/i386/$(DEPDIR)/$(am__dirstamp)
- -rm -f i386/i386/$(am__dirstamp)
- -rm -f i386/i386at/$(DEPDIR)/$(am__dirstamp)
-@@ -7007,7 +6943,7 @@ dvi-am: $(DVIS)
-
- html: html-recursive
-
--html-am: $(HTMLS) html-local
-+html-am: $(HTMLS)
-
- info: info-recursive
-
-@@ -7063,20 +6999,20 @@ maintainer-clean: maintainer-clean-recur
- -rm -rf ./$(DEPDIR) chips/$(DEPDIR) ddb/$(DEPDIR) device/$(DEPDIR) i386/i386/$(DEPDIR) i386/i386at/$(DEPDIR) i386/intel/$(DEPDIR) ipc/$(DEPDIR) kern/$(DEPDIR) linux/dev/arch/i386/kernel/$(DEPDIR) linux/dev/drivers/block/$(DEPDIR) linux/dev/drivers/net/$(DEPDIR) linux/dev/drivers/scsi/$(DEPDIR) linux/dev/glue/$(DEPDIR) linux/dev/init/$(DEPDIR) linux/dev/kernel/$(DEPDIR) linux/dev/lib/$(DEPDIR) linux/dev/net/core/$(DEPDIR) linux/pcmcia-cs/clients/$(DEPDIR) linux/pcmcia-cs/glue/$(DEPDIR) linux/pcmcia-cs/modules/$(DEPDIR) linux/pcmcia-cs/wireless/$(DEPDIR) linux/src/arch/i386/kernel/$(DEPDIR) linux/src/arch/i386/lib/$(DEPDIR) linux/src/drivers/block/$(DEPDIR) linux/src/drivers/net/$(DEPDIR) linux/src/drivers/pci/$(DEPDIR) linux/src/drivers/scsi/$(DEPDIR) linux/src/lib/$(DEPDIR) util/$(DEPDIR) vm/$(DEPDIR)
- -rm -f Makefile
- maintainer-clean-am: distclean-am maintainer-clean-aminfo \
-- maintainer-clean-generic maintainer-clean-vti
-+ maintainer-clean-generic
-
- mostlyclean: mostlyclean-recursive
-
- mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
-- mostlyclean-generic mostlyclean-vti
-+ mostlyclean-generic
-
- pdf: pdf-recursive
-
--pdf-am: $(PDFS) pdf-local
-+pdf-am: $(PDFS)
-
- ps: ps-recursive
-
--ps-am: $(PSS) ps-local
-+ps-am: $(PSS)
-
- uninstall-am: uninstall-exec_bootPROGRAMS uninstall-exec_msgidsDATA \
- uninstall-include_deviceHEADERS uninstall-include_machHEADERS \
-@@ -7093,19 +7029,18 @@ uninstall-info: uninstall-info-recursive
- distcheck distclean distclean-compile distclean-generic \
- distclean-hdr distclean-recursive distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
-- html-am html-local info info-am install install-am \
-- install-data install-data-am install-data-hook install-exec \
-- install-exec-am install-exec_bootPROGRAMS \
-- install-exec_msgidsDATA install-include_deviceHEADERS \
-- install-include_machHEADERS install-include_mach_eXecHEADERS \
-+ html-am info info-am install install-am install-data \
-+ install-data-am install-data-hook install-exec install-exec-am \
-+ install-exec_bootPROGRAMS install-exec_msgidsDATA \
-+ install-include_deviceHEADERS install-include_machHEADERS \
-+ install-include_mach_eXecHEADERS \
- install-include_mach_i386HEADERS install-info install-info-am \
- install-man install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
-- maintainer-clean-recursive maintainer-clean-vti mostlyclean \
-- mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
-- mostlyclean-recursive mostlyclean-vti pdf pdf-am pdf-local ps \
-- ps-am ps-local tags tags-recursive uninstall uninstall-am \
-+ maintainer-clean-recursive mostlyclean mostlyclean-aminfo \
-+ mostlyclean-compile mostlyclean-generic mostlyclean-recursive \
-+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-exec_bootPROGRAMS uninstall-exec_msgidsDATA \
- uninstall-include_deviceHEADERS uninstall-include_machHEADERS \
- uninstall-include_mach_eXecHEADERS \
-@@ -7242,87 +7177,6 @@ dist-hook-linux:
- #
-
- # ix86.
--
--# Prepare a checkout in `$(web)/' of the web pages of the GNU Mach Reference
--# Manual, using the same account that was used for the source code. Then
--# install the potentially updated files into `$(web)/'.
--.PHONY: $(web)
--$(web):
-- if test -d $@/CVS; then :; else \
-- mkdir -p $@ $@/CVS && \
-- sed -e s%cvsroot%web% \
-- < $(top_srcdir)/CVS/Root \
-- > $@/CVS/Root && \
-- echo hurd/gnumach-doc \
-- > $@/CVS/Repository && \
-- : > $@/CVS/Entries; \
-- fi
-- cd $@/ && \
-- cvs update
-- $(MAKE) $(AM_MAKEFLAGS) \
-- html \
-- ps \
-- pdf
--
--# Update the files, if such a checkout exists.
--html-local:
-- if test -d $(web); then \
-- ( cd $(web)/ && \
-- for f in *.html; do \
-- if test -f ../../$(HTMLS)/"$$f"; then :; else \
-- echo "\`$$f' isn't anymore. Removing." && \
-- rm "$$f" && \
-- cvs remove "$$f"; \
-- fi; \
-- done ) && \
-- cp $(HTMLS)/*.html $(web)/ && \
-- cd $(web)/ && \
-- { cvs add *.html || :; }; \
-- fi
--ps-local:
-- if test -d $(web); then \
-- ( cd $(web)/ && \
-- for f in *.ps; do \
-- case \ $(PSS)\ in \
-- \ doc/"$$f"\ ) :;; \
-- *) echo "\`$$f' isn't anymore. Removing." && \
-- rm -f "$$f" "$$f".ps && \
-- cvs remove "$$f" "$$f".ps ;; \
-- esac; \
-- done ) && \
-- cp $(PSS) $(web)/ && \
-- cd $(web)/ && \
-- for f in *.ps; do \
-- gzip -9 < "$$f" > "$$f".gz; \
-- done && \
-- { cvs add *.ps *.ps.gz || :; }; \
-- fi
--pdf-local:
-- if test -d $(web); then \
-- ( cd $(web)/ && \
-- for f in *.pdf; do \
-- case \ $(PDFS)\ in \
-- \ doc/"$$f"\ ) :;; \
-- *) echo "\`$$f' isn't anymore. Removing." && \
-- rm "$$f" && \
-- cvs remove "$$f";; \
-- esac; \
-- done ) && \
-- cp $(PDFS) $(web)/ && \
-- cd $(web)/ && \
-- { cvs add *.pdf || :; }; \
-- fi
--# TODO. There doesn't seem to be a hook or `-local' target suitable for this.
--$(srcdir)/doc/version.texi: $(srcdir)/doc/stamp-vti
-- @if test -d $(web); then :; \
-- elif grep -q :ext: $(top_srcdir)/CVS/Root 2> /dev/null; then \
-- echo "*** As it seems that you'd be allowed to check in the" \
-- "possible resulting fixes, you may cosider running" \
-- " \`make $(web)' to get a checkout of the web pages of the" \
-- "GNU Mach manual and have possible changes installed into" \
-- "\`$(web)/', ready for checking them in in there." && \
-- sleep 2; \
-- fi
- gnumach-undef: gnumach.$(OBJEXT)
- $(NM) -u $< | sed 's/ *U *//;s/^_*//' | sort -u > $@
- gnumach-undef-bad: gnumach-undef Makefile
diff --git a/debian/patches/series b/debian/patches/series
index f47c408..7f434cb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,11 +7,5 @@
15_mem_obj_proxy.patch
16_ide_multsect.patch
20_mmx_support.patch
-21_aligned_zalloc.patch
24_pci_irq_fix.patch
-30_net_multicast.patch
40_iopl_mmap.patch
-50_ide_bm.patch
-60_bad_user_access_length_fix.patch
-70_cld.patch
-90_autoconf_autogen.patch