diff options
author | Guillem Jover <guillem@debian.org> | 2006-04-02 13:13:38 +0000 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2006-04-02 13:13:38 +0000 |
commit | 4f1d8bbdd8b402b3bc55e8a7633c53529b4d19d4 (patch) | |
tree | d154cf251b3b78967f182b56823c1dc3ea306867 /debian | |
parent | 01c90e6fc5a25274c2f0f5bd920b73d072bb59dd (diff) |
Sync with new upstream snapshot.
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | debian/patches/05_halt_on_panic_flag.patch | 8 | ||||
-rw-r--r-- | debian/patches/15_mem_obj_proxy.patch | 6 | ||||
-rw-r--r-- | debian/patches/16_net_apricot_stack_of.patch | 19 | ||||
-rw-r--r-- | debian/patches/21_pata_off_by_one_irq.patch | 45 | ||||
-rw-r--r-- | debian/patches/40_user-tss.patch | 43 | ||||
-rw-r--r-- | debian/patches/44_more_ports.patch | 4 | ||||
-rw-r--r-- | debian/patches/45_io_per_task.patch | 103 | ||||
-rw-r--r-- | debian/patches/46_io_device.patch | 10 | ||||
-rw-r--r-- | debian/patches/50_mem_limit.patch | 6 | ||||
-rw-r--r-- | debian/patches/61_vm_resident-zoned.patch | 273 | ||||
-rw-r--r-- | debian/patches/90_autoconf_autogen.patch | 12 |
12 files changed, 144 insertions, 391 deletions
diff --git a/debian/changelog b/debian/changelog index 571e803..99aecc8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,16 +2,22 @@ gnumach (1:20060402-1) UNRELEASED; urgency=low * New upstream CVS snapshot. - debian/patches/11_nic_update.patch: Removed, integrated upstream. + - debian/patches/16_net_apricot_stack_of.patch: Likewise. - debian/patches/17_net_gcc_4.0.patch: Likewise. - debian/patches/20_ide_disable_irqs.patch: Likewise. + - debian/patches/21_pata_off_by_one_irq.patch: Likewise. - debian/patches/31_tls_ldt.patch: Likewise. + - debian/patches/40_user-tss.patch: Likewise. - debian/patches/00_build_make_beta.patch: Removed, fixed upstream - debian/patches/12_sis900.patch: Sync. - debian/patches/13_ide_dma.patch: Likewise. - debian/patches/15_mem_obj_proxy.patch: Likewise. - debian/patches/41_io_unlock_ioremove.patch: Likewise. - debian/patches/42_disable_ioperm.patch: Likewise. + - debian/patches/44_more_ports.patch: Likewise. - debian/patches/45_io_per_task.patch: Likewise. + - debian/patches/46_io_device.patch: Likewise. + - debian/patches/50_mem_limit.patch: Likewise. - debian/patches/90_autoconf_autogen.patch: Likewise. * Fix -H kernel command line argument to halt on panic. (Closes: #184624) - debian/patches/05_halt_on_panic_flag.patch: New file. diff --git a/debian/patches/05_halt_on_panic_flag.patch b/debian/patches/05_halt_on_panic_flag.patch index 075af1a..6e38b37 100644 --- a/debian/patches/05_halt_on_panic_flag.patch +++ b/debian/patches/05_halt_on_panic_flag.patch @@ -11,7 +11,7 @@ --- i386/i386at/model_dep.c 2004-11-29 06:34:51.000000000 +0100 +++ i386/i386at/model_dep.c 2005-12-29 16:01:03.000000000 +0100 -@@ -108,6 +108,10 @@ +@@ -94,6 +94,10 @@ int rebootflag = 0; /* exported to kdintr */ @@ -22,7 +22,7 @@ /* XX interrupt stack pointer and highwater mark, for locore.S. */ vm_offset_t int_stack_top, int_stack_high; -@@ -366,6 +370,11 @@ +@@ -347,6 +351,11 @@ cninit(); /* need console for debugger */ Debugger(); } @@ -36,7 +36,7 @@ machine_slot[0].is_cpu = TRUE; --- kern/debug.c 2000-07-23 02:34:12.000000000 +0200 +++ kern/debug.c 2005-12-29 15:21:46.000000000 +0100 -@@ -121,6 +121,10 @@ +@@ -120,6 +120,10 @@ } } @@ -47,7 +47,7 @@ /*VARARGS1*/ void panic(const char *s, ...) -@@ -168,7 +172,7 @@ +@@ -161,7 +165,7 @@ #if MACH_KDB Debugger("panic"); #else diff --git a/debian/patches/15_mem_obj_proxy.patch b/debian/patches/15_mem_obj_proxy.patch index b9bd4d8..0700688 100644 --- a/debian/patches/15_mem_obj_proxy.patch +++ b/debian/patches/15_mem_obj_proxy.patch @@ -20,8 +20,8 @@ diff -rupN gnumach-1/Makefile.in gnumach/Makefile.in --- gnumach-1/Makefile.in 2005-06-06 21:37:42.000000000 +0200 +++ gnumach/Makefile.in 2005-06-07 04:08:55.000000000 +0200 -@@ -158,7 +158,7 @@ util-files = $(util-cfiles) config.h cpu - phys_mem.h ref_count.h +@@ -137,7 +137,7 @@ util-cfiles = putchar.c puts.c + util-files = $(util-cfiles) # Virtual memory implementation -vm-cfiles = $(addprefix vm_,$(vm-names)) memory_object.c @@ -94,7 +94,7 @@ diff -rupN gnumach-1/include/mach/memory_object.h gnumach/include/mach/memory_ob diff -rupN gnumach-1/kern/ipc_kobject.c gnumach/kern/ipc_kobject.c --- gnumach-1/kern/ipc_kobject.c 2005-06-06 21:38:07.000000000 +0200 +++ gnumach/kern/ipc_kobject.c 2005-06-07 04:08:56.000000000 +0200 -@@ -385,6 +385,9 @@ ipc_kobject_notify(request_header, reply +@@ -355,6 +355,9 @@ ipc_kobject_notify(request_header, reply case IKOT_DEVICE: return ds_notify(request_header); diff --git a/debian/patches/16_net_apricot_stack_of.patch b/debian/patches/16_net_apricot_stack_of.patch deleted file mode 100644 index 7764800..0000000 --- a/debian/patches/16_net_apricot_stack_of.patch +++ /dev/null @@ -1,19 +0,0 @@ -#DPATCHLEVEL=0 - -2005-11-28 Sergio Lopez <koro@sinrega.org> - - * linux/src/drivers/net/apricot.c (apricot_probe): Increase eth_addr - size to 8 so we do not trash the stack when reading from the io ports. - - ---- linux/src/drivers/net/apricot.c 2005-11-28 00:13:12.000000000 +0100 -+++ linux/src/drivers/net/apricot.c 2005-11-28 00:13:05.000000000 +0100 -@@ -681,7 +681,7 @@ - struct i596_private *lp; - int checksum = 0; - int ioaddr = 0x300; -- char eth_addr[6]; -+ char eth_addr[8]; - - /* this is easy the ethernet interface can only be at 0x300 */ - /* first check nothing is already registered here */ diff --git a/debian/patches/21_pata_off_by_one_irq.patch b/debian/patches/21_pata_off_by_one_irq.patch deleted file mode 100644 index ee01246..0000000 --- a/debian/patches/21_pata_off_by_one_irq.patch +++ /dev/null @@ -1,45 +0,0 @@ -#DPATCHLEVEL=0 - -2005-10-29 Alfred M. Szmidt <ams@gnu.org> - - * linux/src/drivers/scsi/eata_pio.c (eata_pio_detect): Fix a - off-by-one error when probing. - * linux/src/drivers/scsi/eata_dma.c (eata_detect): Likewise. - * linux/dev/drivers/scsi/eata_dma.c (eata_detect): Likewise. - Patch by Sergio Lopez <koro@sinrega.org>. - - ---- linux/src/drivers/scsi/eata_dma.c -+++ linux/src/drivers/scsi/eata_dma.c -@@ -1532,7 +1532,7 @@ - - find_ISA(&gc, tpnt); - -- for (i = 0; i <= MAXIRQ; i++) { /* Now that we know what we have, we */ -+ for (i = 0; i < MAXIRQ; i++) { /* Now that we know what we have, we */ - if (reg_IRQ[i] >= 1){ /* exchange the interrupt handler which */ - free_irq(i, NULL); /* we used for probing with the real one */ - request_irq(i, (void *)(eata_int_handler), SA_INTERRUPT|SA_SHIRQ, ---- linux/src/drivers/scsi/eata_pio.c -+++ linux/src/drivers/scsi/eata_pio.c -@@ -981,7 +981,7 @@ - - find_pio_ISA(&gc, tpnt); - -- for (i = 0; i <= MAXIRQ; i++) -+ for (i = 0; i < MAXIRQ; i++) - if (reg_IRQ[i]) - request_irq(i, eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL); - ---- linux/dev/drivers/scsi/eata_dma.c -+++ linux/dev/drivers/scsi/eata_dma.c -@@ -1536,7 +1536,7 @@ - - find_ISA(&gc, tpnt); - -- for (i = 0; i <= MAXIRQ; i++) { /* Now that we know what we have, we */ -+ for (i = 0; i < MAXIRQ; i++) { /* Now that we know what we have, we */ - if (reg_IRQ[i] >= 1){ /* exchange the interrupt handler which */ - free_irq(i, NULL); /* we used for probing with the real one */ - request_irq(i, (void *)(eata_int_handler), SA_INTERRUPT|SA_SHIRQ, - diff --git a/debian/patches/40_user-tss.patch b/debian/patches/40_user-tss.patch deleted file mode 100644 index b55f361..0000000 --- a/debian/patches/40_user-tss.patch +++ /dev/null @@ -1,43 +0,0 @@ -#DPATCHLEVEL=0 - -2005-12-26 Samuel Thibault <samuel.thibault@ens-lyon.org> - - * i386/i386/iopb.c: Include "vm_param.h" for kvtolin(). - (io_tss_init): Fix address and limit of user TSS. - - ---- i386/i386/iopb.c 2005-05-01 18:04:47.000000000 +0200 -+++ i386/i386/iopb.c 2005-12-26 19:50:22.000000000 +0100 -@@ -43,6 +43,7 @@ - #include "iopb.h" - #include "seg.h" - #include "gdt.h" -+#include "vm_param.h" - - /* - * A set of ports for an IO device. -@@ -242,8 +243,8 @@ io_tss_init( - iopb_tss_t io_tss, - boolean_t access_all) /* allow access or not */ - { -- vm_offset_t addr = (vm_offset_t) io_tss; -- vm_size_t size = (char *)&io_tss->barrier - (char *)io_tss; -+ vm_offset_t addr = kvtolin (io_tss); -+ vm_size_t limit = (char *)&io_tss->barrier - (char *)io_tss; - - bzero(&io_tss->tss, sizeof(struct i386_tss)); - io_tss->tss.io_bit_map_offset -@@ -252,11 +253,11 @@ io_tss_init( - io_bitmap_init(io_tss->bitmap, access_all); - io_tss->barrier = ~0; - queue_init(&io_tss->io_port_list); -- io_tss->iopb_desc[0] = ((size-1) & 0xffff) -+ io_tss->iopb_desc[0] = (limit & 0xffff) - | ((addr & 0xffff) << 16); - io_tss->iopb_desc[1] = ((addr & 0x00ff0000) >> 16) - | ((ACC_TSS|ACC_PL_K|ACC_P) << 8) -- | ((size-1) & 0x000f0000) -+ | (limit & 0x000f0000) - | (addr & 0xff000000); - } - diff --git a/debian/patches/44_more_ports.patch b/debian/patches/44_more_ports.patch index 39fa0ea..c1b6b7f 100644 --- a/debian/patches/44_more_ports.patch +++ b/debian/patches/44_more_ports.patch @@ -28,7 +28,7 @@ diff -urp gnumach-mine-3-device_port_fix/i386/i386at/iopl.c gnumach-mine-4-more_ diff -urp gnumach-mine-3-device_port_fix/i386/i386at/kd.c gnumach-mine-4-more_ports/i386/i386at/kd.c --- gnumach-mine-3-device_port_fix/i386/i386at/kd.c 2006-01-02 18:43:12.000000000 +0100 +++ gnumach-mine-4-more_ports/i386/i386at/kd.c 2006-01-02 19:14:48.000000000 +0100 -@@ -348,7 +348,9 @@ +@@ -333,7 +333,9 @@ /* * IO port sets for different controllers. */ @@ -39,7 +39,7 @@ diff -urp gnumach-mine-3-device_port_fix/i386/i386at/kd.c gnumach-mine-4-more_po 0x3b4, 0x3b5, 0x3b8, 0x3b9, 0x3ba, /* MDA/EGA */ 0x3d4, 0x3d5, 0x3d8, 0x3d9, 0x3da, /* CGA/EGA */ 0x3c0, 0x3c1, 0x3c2, 0x3c3, 0x3c4, 0x3c5, 0x3c6, 0x3c7, -@@ -362,7 +364,7 @@ kd_io_map_open(device) +@@ -347,7 +349,7 @@ kd_io_map_open(device) mach_device_t device; { kd_io_device = device; diff --git a/debian/patches/45_io_per_task.patch b/debian/patches/45_io_per_task.patch index 0614848..7137b6b 100644 --- a/debian/patches/45_io_per_task.patch +++ b/debian/patches/45_io_per_task.patch @@ -1,4 +1,4 @@ -#DPATCHLEVEL=1 +#DPATCHLEVEL=0 2006-01-02 Samuel Thibault <samuel.thibault@ens-lyon.org> @@ -33,10 +33,20 @@ (task): Add new machine member. -diff -urp gnumach-mine-4-more_ports/i386/i386/iopb.c gnumach-mine-5-io_per_task/i386/i386/iopb.c ---- gnumach-mine-4-more_ports/i386/i386/iopb.c 2006-01-02 18:42:45.000000000 +0100 -+++ gnumach-mine-5-io_per_task/i386/i386/iopb.c 2005-12-29 23:42:34.000000000 +0100 -@@ -65,8 +65,8 @@ +--- i386/i386/io_emulate.c 1997-02-25 23:27:09.000000000 +0200 ++++ i386/i386/io_emulate.c 2006-04-02 15:40:13.000000000 +0300 +@@ -102,7 +102,7 @@ emulate_io(regs, opcode, io_port) + * Make the thread use its IO_TSS to get the IO permissions; + * it may not have had one before this. + */ +- switch_ktss(thread->pcb); ++ switch_ktss(thread); + + return EM_IO_RETRY; + } +--- i386/i386/iopb.c 2006-04-02 15:40:09.000000000 +0300 ++++ i386/i386/iopb.c 2006-04-02 15:40:13.000000000 +0300 +@@ -65,8 +65,8 @@ queue_head_t device_to_io_port_list; /* * Cross-reference: @@ -47,7 +57,7 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/iopb.c gnumach-mine-5-io_per_task/ */ struct io_use { queue_chain_t psq; /* Links from port set */ -@@ -306,7 +306,7 @@ +@@ -306,7 +306,7 @@ iopb_destroy( } /* @@ -277,10 +287,9 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/iopb.c gnumach-mine-5-io_per_task/ simple_unlock(&iopb_lock); return FALSE; } -diff -urp gnumach-mine-4-more_ports/i386/i386/pcb.c gnumach-mine-5-io_per_task/i386/i386/pcb.c ---- gnumach-mine-4-more_ports/i386/i386/pcb.c 2006-01-02 18:42:57.000000000 +0100 -+++ gnumach-mine-5-io_per_task/i386/i386/pcb.c 2005-12-31 00:04:21.000000000 +0100 -@@ -131,12 +131,13 @@ +--- i386/i386/pcb.c 1998-04-24 22:49:34.000000000 +0300 ++++ i386/i386/pcb.c 2006-04-02 15:40:13.000000000 +0300 +@@ -131,12 +131,13 @@ vm_offset_t stack_detach(thread) #define gdt_desc_p(mycpu,sel) \ ((struct real_descriptor *)&curr_gdt(mycpu)[sel_idx(sel)]) @@ -449,22 +458,9 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/pcb.c gnumach-mine-5-io_per_task/i } *count = i386_ISA_PORT_MAP_STATE_COUNT; -diff -urp gnumach-mine-4-more_ports/i386/i386/io_emulate.c gnumach-mine-5-io_per_task/i386/i386/io_emulate.c ---- gnumach-mine-4-more_ports/i386/i386/io_emulate.c 2006-01-02 18:41:46.000000000 +0100 -+++ gnumach-mine-5-io_per_task/i386/i386/io_emulate.c 2005-12-28 17:40:28.000000000 +0100 -@@ -102,7 +102,7 @@ emulate_io(regs, opcode, io_port) - * Make the thread use its IO_TSS to get the IO permissions; - * it may not have had one before this. - */ -- switch_ktss(thread->pcb); -+ switch_ktss(thread); - - return EM_IO_RETRY; - } -diff -urp gnumach-mine-4-more_ports/i386/i386/thread.h gnumach-mine-5-io_per_task/i386/i386/thread.h ---- gnumach-mine-4-more_ports/i386/i386/thread.h 2006-01-02 18:43:01.000000000 +0100 -+++ gnumach-mine-5-io_per_task/i386/i386/thread.h 2005-12-28 17:44:13.000000000 +0100 -@@ -157,12 +157,15 @@ +--- i386/i386/thread.h 2001-04-05 09:39:20.000000000 +0300 ++++ i386/i386/thread.h 2006-04-02 15:40:13.000000000 +0300 +@@ -157,12 +157,15 @@ struct i386_interrupt_state { */ struct i386_machine_state { @@ -481,9 +477,8 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/thread.h gnumach-mine-5-io_per_tas typedef struct pcb { struct i386_interrupt_state iis[2]; /* interrupt and NMI */ struct i386_saved_state iss; -diff -urp gnumach-mine-4-more_ports/i386/i386/user_ldt.c gnumach-mine-5-io_per_task/i386/i386/user_ldt.c ---- gnumach-mine-4-more_ports/i386/i386/user_ldt.c 2006-01-02 18:43:04.000000000 +0100 -+++ gnumach-mine-5-io_per_task/i386/i386/user_ldt.c 2005-12-28 17:40:37.000000000 +0100 +--- i386/i386/user_ldt.c 2006-02-01 22:58:07.000000000 +0200 ++++ i386/i386/user_ldt.c 2006-04-02 15:40:13.000000000 +0300 @@ -247,7 +247,7 @@ i386_set_ldt(thread, first_selector, des * make sure it is properly set. */ @@ -493,10 +488,8 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/user_ldt.c gnumach-mine-5-io_per_t } /* - -diff -urp gnumach-mine-4-more_ports/i386/i386at/iopl.c gnumach-mine-5-io_per_task/i386/i386at/iopl.c ---- gnumach-mine-4-more_ports/i386/i386at/iopl.c 2006-01-02 18:45:17.000000000 +0100 -+++ gnumach-mine-5-io_per_task/i386/i386at/iopl.c 2006-01-02 16:30:19.000000000 +0100 +--- i386/i386at/iopl.c 2006-04-02 15:40:11.000000000 +0300 ++++ i386/i386at/iopl.c 2006-04-02 15:40:13.000000000 +0300 @@ -217,10 +217,15 @@ iopl_emulate(regs, opcode, io_port) int io_port; { @@ -530,12 +523,9 @@ diff -urp gnumach-mine-4-more_ports/i386/i386at/iopl.c gnumach-mine-5-io_per_tas /* * If the thread has the IOPL device mapped, and - - -diff -urp gnumach-mine-4-more_ports/kern/task.c gnumach-mine-5-io_per_task/kern/task.c ---- gnumach-mine-4-more_ports/kern/task.c 2006-01-02 18:43:17.000000000 +0100 -+++ gnumach-mine-5-io_per_task/kern/task.c 2005-12-28 17:10:07.000000000 +0100 -@@ -78,6 +78,7 @@ void task_init(void) +--- kern/task.c 2006-03-25 19:36:11.000000000 +0200 ++++ kern/task.c 2006-04-02 15:41:54.000000000 +0300 +@@ -68,6 +68,7 @@ void task_init(void) 0, "tasks"); eml_init(); @@ -543,24 +533,24 @@ diff -urp gnumach-mine-4-more_ports/kern/task.c gnumach-mine-5-io_per_task/kern/ /* * Create the kernel task as the first task. -@@ -160,6 +161,7 @@ kern_return_t task_create( - #if NET_ATM - new_task->nw_ep_owned = 0; - #endif -+ machine_task_init (new_task); +@@ -146,6 +147,7 @@ kern_return_t task_create( + eml_task_reference(new_task, parent_task); + + ipc_task_init(new_task, parent_task); ++ machine_task_init(new_task); new_task->total_user_time.seconds = 0; new_task->total_user_time.microseconds = 0; -@@ -247,6 +249,8 @@ void task_deallocate( - } - #endif /* NORMA_TASK */ +@@ -221,6 +223,8 @@ void task_deallocate( + if (c != 0) + return; + machine_task_terminate (task); + eml_task_deallocate(task); pset = task->processor_set; -@@ -1126,6 +1130,7 @@ void task_collect_scan(void) +@@ -1093,6 +1097,7 @@ void task_collect_scan(void) pset_unlock(pset); simple_unlock(&all_psets_lock); @@ -568,21 +558,20 @@ diff -urp gnumach-mine-4-more_ports/kern/task.c gnumach-mine-5-io_per_task/kern/ pmap_collect(task->map->pmap); if (prev_task != TASK_NULL) -diff -urp gnumach-mine-4-more_ports/kern/task.h gnumach-mine-5-io_per_task/kern/task.h ---- gnumach-mine-4-more_ports/kern/task.h 2006-01-02 18:43:22.000000000 +0100 -+++ gnumach-mine-5-io_per_task/kern/task.h 2005-12-28 17:44:11.000000000 +0100 -@@ -49,6 +49,7 @@ +--- kern/task.h 2006-03-25 19:36:11.000000000 +0200 ++++ kern/task.h 2006-04-02 15:42:37.000000000 +0300 +@@ -47,6 +47,7 @@ #include <kern/pc_sample.h> #include <kern/processor.h> #include <kern/syscall_emulation.h> +#include <machine/thread.h> #include <vm/vm_map.h> - #if NET_ATM -@@ -117,6 +118,9 @@ struct task { - #if NET_ATM - nw_ep_owned_t nw_ep_owned; - #endif /* NET_ATM */ + struct task { +@@ -100,6 +101,9 @@ struct task { + vm_offset_t fast_tas_base[TASK_FAST_TAS_NRAS]; + vm_offset_t fast_tas_end[TASK_FAST_TAS_NRAS]; + #endif /* FAST_TAS */ + + /* Hardware specific data. */ + machine_task_t machine; diff --git a/debian/patches/46_io_device.patch b/debian/patches/46_io_device.patch index a5af268..606115a 100644 --- a/debian/patches/46_io_device.patch +++ b/debian/patches/46_io_device.patch @@ -95,7 +95,7 @@ diff -urp gnumach-mine-5-io_per_task/i386/i386/iopb.c gnumach-mine-6-io_device/i diff -urp gnumach-mine-5-io_per_task/i386/i386at/conf.c gnumach-mine-6-io_device/i386/i386at/conf.c --- gnumach-mine-5-io_per_task/i386/i386at/conf.c 2006-01-06 23:43:24.000000000 +0100 +++ gnumach-mine-6-io_device/i386/i386at/conf.c 2006-01-06 23:43:44.000000000 +0100 -@@ -182,6 +182,9 @@ +@@ -66,6 +66,9 @@ extern int ioplopen(), ioplclose(); extern vm_offset_t ioplmmap(); #define ioplname "iopl" @@ -105,7 +105,7 @@ diff -urp gnumach-mine-5-io_per_task/i386/i386at/conf.c gnumach-mine-6-io_device extern int kmsgopen(), kmsgclose(), kmsgread(), kmsggetstat(); #define kmsgname "kmsg" -@@ -367,6 +370,11 @@ struct dev_ops dev_name_list[] = +@@ -97,6 +100,11 @@ struct dev_ops dev_name_list[] = nodev, nulldev, nulldev, 0, nodev }, @@ -114,6 +114,6 @@ diff -urp gnumach-mine-5-io_per_task/i386/i386at/conf.c gnumach-mine-6-io_device + nodev, nulldev, nulldev, 0, + nodev }, + - #if 0 - #if NHD > 0 - { pchdname, pchdopen, hdclose, pchdread, + #if NCOM > 0 + { comname, comopen, comclose, comread, + comwrite, comgetstat, comsetstat, nomap, diff --git a/debian/patches/50_mem_limit.patch b/debian/patches/50_mem_limit.patch index ba744a8..08b7121 100644 --- a/debian/patches/50_mem_limit.patch +++ b/debian/patches/50_mem_limit.patch @@ -14,9 +14,9 @@ diff -upr gnumach-20050801/i386/i386at/model_dep.c gnumach-mine/i386/i386at/model_dep.c --- gnumach-20050801/i386/i386at/model_dep.c 2004-11-29 06:34:51.000000000 +0100 +++ gnumach-mine/i386/i386at/model_dep.c 2006-01-09 00:07:46.000000000 +0100 -@@ -230,6 +230,11 @@ mem_size_init() - /* This is actually enforced below, in init_alloc_aligned. */ - } +@@ -211,6 +211,11 @@ mem_size_init() + printf("AT386 boot: physical memory from 0x%x to 0x%x\n", + phys_first_addr, phys_last_addr); + /* Reserve 1/16 of memory address space for virtual mappings. + * Yes, this looses memory. Blame i386. */ diff --git a/debian/patches/61_vm_resident-zoned.patch b/debian/patches/61_vm_resident-zoned.patch index 0290d14..caf85ba 100644 --- a/debian/patches/61_vm_resident-zoned.patch +++ b/debian/patches/61_vm_resident-zoned.patch @@ -1,4 +1,4 @@ -#DPATCHLEVEL=1 +#DPATCHLEVEL=0 2006-01-20 Gianluca Guida <glguida@gmail.com> @@ -35,7 +35,6 @@ * i386/i386at/model_dep.c (use_all_mem): Always set to 1. (init_alloc_aligned): Do not use any particular oder during bootstrap allocation. - (alloc_dma_mem): Function removed. * kern/startup.c: Include <vm/pmap.h>. (setup_main): Calculate memory size using phys_last_addr and @@ -78,27 +77,9 @@ linux_kmem_collect. -diff -ru gnumach-vanilla/i386/i386at/model_dep.c gnumach-vm_resident/i386/i386at/model_dep.c ---- gnumach-vanilla/i386/i386at/model_dep.c 2004-11-28 18:29:35.000000000 +0100 -+++ gnumach-vm_resident/i386/i386at/model_dep.c 2006-01-26 00:37:31.000000000 +0100 -@@ -86,16 +86,7 @@ - /* Configuration parameter: - if zero, only use physical memory in the low 16MB of addresses. - Only SCSI still has DMA problems. */ --#ifdef LINUX_DEV --#define use_all_mem 1 --#else --#include "nscsi.h" --#if NSCSI > 0 --#define use_all_mem 0 --#else - #define use_all_mem 1 --#endif --#endif - - extern char version[]; - -@@ -468,7 +459,6 @@ +--- i386/i386at/model_dep.c 2006-04-02 16:00:14.000000000 +0300 ++++ i386/i386at/model_dep.c 2006-04-02 16:03:32.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; @@ -106,12 +87,12 @@ diff -ru gnumach-vanilla/i386/i386at/model_dep.c gnumach-vm_resident/i386/i386at /* Memory regions to skip. */ vm_offset_t cmdline_start_pa = boot_info.flags & MULTIBOOT_CMDLINE -@@ -488,25 +478,8 @@ +@@ -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 (use_all_mem && !wrapped && phys_last_addr > 16 * 1024*1024) +- if (!wrapped && phys_last_addr > 16 * 1024*1024) - { - if (avail_next < 16 * 1024*1024) - avail_next = 16 * 1024*1024; @@ -129,122 +110,13 @@ diff -ru gnumach-vanilla/i386/i386at/model_dep.c gnumach-vm_resident/i386/i386at - /* 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) ++ if (avail_next == phys_last_addr) return FALSE; /* Tentatively assign the current location to the caller. */ -@@ -599,107 +572,3 @@ - !(((boot_info.mem_lower * 1024) <= x) && (x < 1024*1024))); - } - --#ifndef NBBY --#define NBBY 8 --#endif --#ifndef NBPW --#define NBPW (NBBY * sizeof(int)) --#endif --#define DMA_MAX (16*1024*1024) -- --/* -- * Allocate contiguous pages below 16 MB -- * starting at specified boundary for DMA. -- */ --vm_offset_t --alloc_dma_mem(size, align) -- vm_size_t size; -- vm_offset_t align; --{ -- int *bits, i, j, k, n; -- int npages, count, bit, mask; -- int first_page, last_page; -- vm_offset_t addr; -- vm_page_t p, prevp; -- -- npages = round_page(size) / PAGE_SIZE; -- mask = align ? (align - 1) / PAGE_SIZE : 0; -- -- /* -- * Allocate bit array. -- */ -- n = ((DMA_MAX / PAGE_SIZE) + NBPW - 1) / NBPW; -- i = n * NBPW; -- bits = (unsigned *)kalloc(i); -- if (bits == 0) { -- printf("alloc_dma_mem: unable alloc bit array\n"); -- return (0); -- } -- bzero((char *)bits, i); -- -- /* -- * Walk the page free list and set a bit for -- * every usable page in bit array. -- */ -- simple_lock(&vm_page_queue_free_lock); -- for (p = vm_page_queue_free; p; p = (vm_page_t)p->pageq.next) { -- if (p->phys_addr < DMA_MAX) { -- i = p->phys_addr / PAGE_SIZE; -- bits[i / NBPW] |= 1 << (i % NBPW); -- } -- } -- -- /* -- * Search for contiguous pages by scanning bit array. -- */ -- for (i = 0, first_page = -1; i < n; i++) { -- for (bit = 1, j = 0; j < NBPW; j++, bit <<= 1) { -- if (bits[i] & bit) { -- if (first_page < 0) { -- k = i * NBPW + j; -- if (!mask -- || (((k & mask) + npages) -- <= mask + 1)) { -- first_page = k; -- if (npages == 1) -- goto found; -- count = 1; -- } -- } else if (++count == npages) -- goto found; -- } else -- first_page = -1; -- } -- } -- addr = 0; -- goto out; -- -- found: -- /* -- * Remove pages from the free list. -- */ -- addr = first_page * PAGE_SIZE; -- last_page = first_page + npages; -- vm_page_free_count -= npages; -- p = vm_page_queue_free; -- prevp = 0; -- while (1) { -- i = p->phys_addr / PAGE_SIZE; -- if (i >= first_page && i < last_page) { -- if (prevp) -- prevp->pageq.next = p->pageq.next; -- else -- vm_page_queue_free = (vm_page_t)p->pageq.next; -- p->free = FALSE; -- if (--npages == 0) -- break; -- } else -- prevp = p; -- p = (vm_page_t)p->pageq.next; -- } -- -- out: -- simple_unlock(&vm_page_queue_free_lock); -- kfree((vm_offset_t)bits, n * NBPW); -- return (addr); --} -diff -ru gnumach-vanilla/i386/intel/pmap.c gnumach-vm_resident/i386/intel/pmap.c ---- gnumach-vanilla/i386/intel/pmap.c 2001-04-05 08:39:21.000000000 +0200 -+++ gnumach-vm_resident/i386/intel/pmap.c 2006-01-26 00:37:31.000000000 +0100 -@@ -584,6 +584,11 @@ +--- i386/intel/pmap.c 2006-04-02 16:00:14.000000000 +0300 ++++ i386/intel/pmap.c 2006-04-02 16:00:16.000000000 +0300 +@@ -584,6 +584,11 @@ vm_offset_t pmap_map_bd(virt, start, end return(virt); } @@ -256,7 +128,7 @@ diff -ru gnumach-vanilla/i386/intel/pmap.c gnumach-vm_resident/i386/intel/pmap.c /* * Bootstrap the system enough to run with virtual memory. * Allocate the kernel page directory and page tables, -@@ -703,6 +708,25 @@ +@@ -703,6 +708,25 @@ void pmap_bootstrap() va += INTEL_PGBYTES; } } @@ -282,7 +154,7 @@ diff -ru gnumach-vanilla/i386/intel/pmap.c gnumach-vm_resident/i386/intel/pmap.c } #if i860 -@@ -2346,6 +2370,27 @@ +@@ -2346,6 +2370,27 @@ boolean_t pmap_is_referenced(phys) return (phys_attribute_test(phys, PHYS_REFERENCED)); } @@ -310,10 +182,9 @@ diff -ru gnumach-vanilla/i386/intel/pmap.c gnumach-vm_resident/i386/intel/pmap.c #if NCPUS > 1 /* * TLB Coherence Code (TLB "shootdown" code) -diff -ru gnumach-vanilla/kern/startup.c gnumach-vm_resident/kern/startup.c ---- gnumach-vanilla/kern/startup.c 2001-04-05 08:39:20.000000000 +0200 -+++ gnumach-vm_resident/kern/startup.c 2006-01-26 00:37:31.000000000 +0100 -@@ -80,9 +80,6 @@ +--- kern/startup.c 2006-03-25 19:36:11.000000000 +0200 ++++ kern/startup.c 2006-04-02 16:00:16.000000000 +0300 +@@ -78,9 +78,6 @@ extern void start_other_cpus(); extern void action_thread(); #endif /* NCPUS > 1 */ @@ -323,7 +194,7 @@ diff -ru gnumach-vanilla/kern/startup.c gnumach-vm_resident/kern/startup.c /* * Running in virtual memory, on the interrupt stack. * Does not return. Dispatches initial thread. -@@ -122,7 +119,7 @@ +@@ -120,7 +117,7 @@ void setup_main() machine_init(); machine_info.max_cpus = NCPUS; @@ -332,9 +203,8 @@ diff -ru gnumach-vanilla/kern/startup.c gnumach-vm_resident/kern/startup.c machine_info.avail_cpus = 0; machine_info.major_version = KERNEL_MAJOR_VERSION; machine_info.minor_version = KERNEL_MINOR_VERSION; -diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glue/kmem.c ---- gnumach-vanilla/linux/dev/glue/kmem.c 1999-04-26 07:45:35.000000000 +0200 -+++ gnumach-vm_resident/linux/dev/glue/kmem.c 2006-01-26 04:10:52.000000000 +0100 +--- linux/dev/glue/kmem.c 1999-04-26 08:45:35.000000000 +0300 ++++ linux/dev/glue/kmem.c 2006-04-02 16:00:16.000000000 +0300 @@ -25,6 +25,7 @@ #include <sys/types.h> @@ -366,7 +236,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu /* Memory block header. */ struct blkhdr { -@@ -70,62 +60,17 @@ +@@ -70,62 +60,17 @@ struct pagehdr struct pagehdr *next; /* next header in list */ }; @@ -431,7 +301,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu } /* Return the number by which the page size should be -@@ -178,7 +123,40 @@ +@@ -178,7 +123,40 @@ coalesce_blocks () num_block_coalesce++; @@ -473,7 +343,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu { bh = (struct blkhdr *) (ph + 1); ebh = (struct blkhdr *) ((void *) ph + ph->size); -@@ -216,20 +194,26 @@ +@@ -216,20 +194,26 @@ coalesce_blocks () void * linux_kmalloc (unsigned int size, int priority) { @@ -506,7 +376,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu save_flags (flags); cli (); -@@ -238,7 +222,7 @@ +@@ -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. */ @@ -515,7 +385,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu { bh = (struct blkhdr *) (ph + 1); while (bh < (struct blkhdr *) ((void *) ph + ph->size)) -@@ -278,16 +262,26 @@ +@@ -278,16 +262,26 @@ again: order = get_page_order (size + sizeof (struct pagehdr) + sizeof (struct blkhdr)); @@ -545,7 +415,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu bh = (struct blkhdr *) (ph + 1); bh->free = 0; bh->size = ph->size - sizeof (struct pagehdr) - sizeof (struct blkhdr); -@@ -310,17 +304,28 @@ +@@ -310,17 +304,28 @@ void linux_kfree (void *p) { unsigned flags; @@ -576,7 +446,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu if (p >= (void *) ph && p < (void *) ph + ph->size) break; -@@ -339,10 +344,10 @@ +@@ -339,10 +344,10 @@ linux_kfree (void *p) restore_flags (flags); } @@ -589,7 +459,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu { struct blkhdr *bh; struct pagehdr *ph, **prev_ph; -@@ -353,8 +358,8 @@ +@@ -353,8 +358,8 @@ collect_kmalloc_pages () check_page_list (__LINE__); @@ -600,7 +470,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu while (ph) { bh = (struct blkhdr *) (ph + 1); -@@ -373,68 +378,91 @@ +@@ -373,68 +378,91 @@ collect_kmalloc_pages () check_page_list (__LINE__); } @@ -742,7 +612,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu } /* Free ORDER + 1 number of physically -@@ -442,36 +470,20 @@ +@@ -442,36 +470,20 @@ again: void free_pages (unsigned long addr, unsigned long order) { @@ -788,7 +658,7 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu } -@@ -579,3 +591,9 @@ +@@ -579,3 +591,9 @@ vremap (unsigned long offset, unsigned l vmalloc_list_insert (addr, round_page (size)); return (void *) addr; } @@ -798,10 +668,9 @@ diff -ru gnumach-vanilla/linux/dev/glue/kmem.c gnumach-vm_resident/linux/dev/glu + collect_kmalloc_pages_nml (); + collect_kmalloc_pages_dma (); +} -diff -ru gnumach-vanilla/linux/dev/init/main.c gnumach-vm_resident/linux/dev/init/main.c ---- gnumach-vanilla/linux/dev/init/main.c 1999-04-26 07:49:06.000000000 +0200 -+++ gnumach-vm_resident/linux/dev/init/main.c 2006-01-26 00:37:31.000000000 +0100 -@@ -82,9 +82,7 @@ +--- linux/dev/init/main.c 1999-04-26 08:49:06.000000000 +0300 ++++ linux/dev/init/main.c 2006-04-02 16:00:16.000000000 +0300 +@@ -82,9 +82,7 @@ struct drive_info_struct static void calibrate_delay (void); extern int hz; @@ -811,7 +680,7 @@ diff -ru gnumach-vanilla/linux/dev/init/main.c gnumach-vm_resident/linux/dev/ini extern void free_contig_mem (vm_page_t); extern void init_IRQ (void); extern void restore_IRQ (void); -@@ -105,10 +103,8 @@ +@@ -105,10 +103,8 @@ extern int intnull (); extern void linux_sched_init (void); @@ -824,7 +693,7 @@ diff -ru gnumach-vanilla/linux/dev/init/main.c gnumach-vm_resident/linux/dev/ini /* * Initialize Linux drivers. -@@ -117,7 +113,7 @@ +@@ -117,7 +113,7 @@ void linux_init (void) { int addr; @@ -833,7 +702,7 @@ diff -ru gnumach-vanilla/linux/dev/init/main.c gnumach-vm_resident/linux/dev/ini vm_page_t pages; /* -@@ -142,40 +138,34 @@ +@@ -142,40 +138,34 @@ linux_init (void) memcpy ((char *) &drive_info + 16, (void *) ((addr & 0xffff) + ((addr >> 12) & 0xffff0)), 16); @@ -893,7 +762,7 @@ diff -ru gnumach-vanilla/linux/dev/init/main.c gnumach-vm_resident/linux/dev/ini #ifdef CONFIG_INET linux_net_emulation_init (); #endif -@@ -186,148 +176,6 @@ +@@ -186,148 +176,6 @@ linux_init (void) linux_auto_config = 0; } @@ -1042,10 +911,9 @@ diff -ru gnumach-vanilla/linux/dev/init/main.c gnumach-vm_resident/linux/dev/ini /* 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% -diff -ru gnumach-vanilla/vm/pmap.h gnumach-vm_resident/vm/pmap.h ---- gnumach-vanilla/vm/pmap.h 2001-04-05 08:39:21.000000000 +0200 -+++ gnumach-vm_resident/vm/pmap.h 2006-01-26 00:37:31.000000000 +0100 -@@ -174,6 +174,15 @@ +--- vm/pmap.h 2001-04-05 09:39:21.000000000 +0300 ++++ vm/pmap.h 2006-04-02 16:00:16.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); @@ -1061,10 +929,9 @@ diff -ru gnumach-vanilla/vm/pmap.h gnumach-vm_resident/vm/pmap.h /* * Statistics routines -diff -ru gnumach-vanilla/vm/vm_page.h gnumach-vm_resident/vm/vm_page.h ---- gnumach-vanilla/vm/vm_page.h 1999-06-28 02:41:02.000000000 +0200 -+++ gnumach-vm_resident/vm/vm_page.h 2006-01-26 00:37:31.000000000 +0100 -@@ -152,22 +152,26 @@ +--- vm/vm_page.h 1999-06-28 03:41:02.000000000 +0300 ++++ vm/vm_page.h 2006-04-02 16:00:16.000000000 +0300 +@@ -152,22 +152,26 @@ typedef struct vm_page *vm_page_t; * ordered, in LRU-like fashion. */ @@ -1097,7 +964,7 @@ diff -ru gnumach-vanilla/vm/vm_page.h gnumach-vm_resident/vm/vm_page.h extern int vm_page_fictitious_count;/* How many fictitious pages are free? */ extern -@@ -220,11 +224,20 @@ +@@ -220,11 +224,20 @@ extern void vm_page_create( extern vm_page_t vm_page_lookup( vm_object_t object, vm_offset_t offset); @@ -1118,10 +985,9 @@ diff -ru gnumach-vanilla/vm/vm_page.h gnumach-vm_resident/vm/vm_page.h extern void vm_page_release(vm_page_t, boolean_t); extern void vm_page_wait(void (*)(void)); extern vm_page_t vm_page_alloc( -diff -ru gnumach-vanilla/vm/vm_pageout.c gnumach-vm_resident/vm/vm_pageout.c ---- gnumach-vanilla/vm/vm_pageout.c 2001-04-05 08:39:21.000000000 +0200 -+++ gnumach-vm_resident/vm/vm_pageout.c 2006-01-26 00:48:08.000000000 +0100 -@@ -559,6 +559,9 @@ +--- vm/vm_pageout.c 2006-03-25 19:36:13.000000000 +0200 ++++ vm/vm_pageout.c 2006-04-02 16:00:16.000000000 +0300 +@@ -550,6 +550,9 @@ void vm_pageout_scan() */ Restart: @@ -1131,9 +997,8 @@ diff -ru gnumach-vanilla/vm/vm_pageout.c gnumach-vm_resident/vm/vm_pageout.c stack_collect(); net_kmsg_collect(); consider_task_collect(); -diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c ---- gnumach-vanilla/vm/vm_resident.c 1999-09-04 15:03:32.000000000 +0200 -+++ gnumach-vm_resident/vm/vm_resident.c 2006-01-26 00:37:31.000000000 +0100 +--- vm/vm_resident.c 2006-02-01 22:58:12.000000000 +0200 ++++ vm/vm_resident.c 2006-04-02 16:00:16.000000000 +0300 @@ -56,6 +56,9 @@ #include <vm/vm_user.h> #endif @@ -1144,7 +1009,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c /* in zalloc.c XXX */ extern vm_offset_t zdata; extern vm_size_t zdata_size; -@@ -105,14 +108,19 @@ +@@ -105,14 +108,19 @@ struct vm_page vm_page_template; * Resident pages that represent real memory * are allocated from a free list. */ @@ -1165,7 +1030,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c unsigned int vm_page_free_count_minimum; /* debugging */ /* -@@ -174,6 +182,102 @@ +@@ -174,6 +182,102 @@ boolean_t vm_page_deactivate_behind = TR boolean_t vm_page_deactivate_hint = TRUE; /* @@ -1268,7 +1133,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c * vm_page_bootstrap: * * Initializes the resident memory module. -@@ -229,7 +333,8 @@ +@@ -229,7 +333,8 @@ void vm_page_bootstrap( simple_lock_init(&vm_page_queue_free_lock); simple_lock_init(&vm_page_queue_lock); @@ -1278,7 +1143,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c vm_page_queue_fictitious = VM_PAGE_NULL; queue_init(&vm_page_queue_active); queue_init(&vm_page_queue_inactive); -@@ -279,6 +384,8 @@ +@@ -279,6 +384,8 @@ void vm_page_bootstrap( simple_lock_init(&bucket->lock); } @@ -1287,7 +1152,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c /* * Machine-dependent code allocates the resident page table. * It uses vm_page_init to initialize the page frames. -@@ -294,7 +401,6 @@ +@@ -294,7 +401,6 @@ void vm_page_bootstrap( *startp = virtual_space_start; *endp = virtual_space_end; @@ -1295,7 +1160,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c vm_page_free_count_minimum = vm_page_free_count; } -@@ -380,6 +486,8 @@ +@@ -380,6 +486,8 @@ void pmap_startup( pages = (vm_page_t) pmap_steal_memory(npages * sizeof *pages); @@ -1304,7 +1169,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c /* * Initialize the page frames. */ -@@ -389,21 +497,12 @@ +@@ -389,21 +497,12 @@ void pmap_startup( break; vm_page_init(&pages[i], paddr); @@ -1328,7 +1193,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c * We have to re-align virtual_space_start, * because pmap_steal_memory has been using it. */ -@@ -421,7 +520,7 @@ +@@ -421,7 +520,7 @@ void pmap_startup( * Second initialization pass, to be done after * the basic VM system is ready. */ @@ -1337,7 +1202,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c { vm_page_zone = zinit((vm_size_t) sizeof(struct vm_page), VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS, -@@ -453,6 +552,7 @@ +@@ -453,6 +552,7 @@ void vm_page_create( panic("vm_page_create"); vm_page_init(m, paddr); @@ -1345,7 +1210,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c vm_page_release(m, FALSE); } } -@@ -840,16 +940,16 @@ +@@ -840,16 +940,16 @@ boolean_t vm_page_convert( } /* @@ -1368,7 +1233,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c simple_lock(&vm_page_queue_free_lock); -@@ -867,17 +967,70 @@ +@@ -867,17 +967,70 @@ vm_page_t vm_page_grab( return VM_PAGE_NULL; } @@ -1448,7 +1313,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c simple_unlock(&vm_page_queue_free_lock); /* -@@ -897,6 +1050,26 @@ +@@ -897,6 +1050,26 @@ vm_page_t vm_page_grab( thread_wakeup((event_t) &vm_page_free_wanted); return mem; @@ -1475,7 +1340,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c } vm_offset_t vm_page_grab_phys_addr() -@@ -909,13 +1082,12 @@ +@@ -909,13 +1082,12 @@ vm_offset_t vm_page_grab_phys_addr() } /* @@ -1493,7 +1358,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c * Returns KERN_RESOURCE_SHORTAGE if it could not. */ -@@ -924,44 +1096,32 @@ +@@ -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 @@ -1556,7 +1421,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c /* * A very large granularity call, its rare so that is ok -@@ -972,32 +1132,16 @@ +@@ -972,32 +1132,16 @@ vm_page_grab_contiguous_pages( * Do not dip into the reserved pool. */ @@ -1594,7 +1459,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c * contiguous bits. That gives us, if any, * the range of pages we will be grabbing off * the free list. -@@ -1007,9 +1151,13 @@ +@@ -1007,9 +1151,13 @@ vm_page_grab_contiguous_pages( first_set = 0; @@ -1610,7 +1475,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c register int bitpos; /* -@@ -1042,14 +1190,20 @@ +@@ -1042,14 +1190,20 @@ count_ones: */ bits_so_far = 0; count_zeroes: @@ -1634,7 +1499,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c } /* * No luck -@@ -1063,7 +1217,6 @@ +@@ -1063,7 +1217,6 @@ count_zeroes: */ not_found_em: simple_unlock(&vm_page_queue_free_lock); @@ -1642,7 +1507,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c ret = KERN_RESOURCE_SHORTAGE; goto out; -@@ -1079,43 +1232,33 @@ +@@ -1079,43 +1232,33 @@ found_em: vm_page_free_count_minimum = vm_page_free_count; if (external) vm_page_external_count += npages; @@ -1709,7 +1574,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c /* * Decide if we should poke the pageout daemon. * We do this if the free count is less than the low -@@ -1134,8 +1277,74 @@ +@@ -1134,8 +1277,74 @@ found_em: ret = KERN_SUCCESS; out: @@ -1786,7 +1651,7 @@ diff -ru gnumach-vanilla/vm/vm_resident.c gnumach-vm_resident/vm/vm_resident.c return ret; } -@@ -1150,16 +1359,36 @@ +@@ -1150,16 +1359,36 @@ void vm_page_release( register vm_page_t mem, boolean_t external) { diff --git a/debian/patches/90_autoconf_autogen.patch b/debian/patches/90_autoconf_autogen.patch index 3fdb1c6..149572f 100644 --- a/debian/patches/90_autoconf_autogen.patch +++ b/debian/patches/90_autoconf_autogen.patch @@ -8,8 +8,8 @@ Regenerate with: --- i386/linux/configure 2006-02-01 22:58:08.000000000 +0200 -+++ i386/linux/configure 2006-02-02 04:55:10.000000000 +0200 -@@ -839,6 +839,7 @@ ++++ i386/linux/configure 2006-04-02 16:09:45.000000000 +0300 +@@ -839,6 +839,7 @@ Optional Features: --enable-epic100 enable driver alias epic100 for epic --enable-floppy enable driver floppy --enable-ide enable driver ide @@ -17,7 +17,7 @@ Regenerate with: --enable-advansys enable driver advansys --enable-BusLogic enable driver alias BusLogic for buslogic --enable-buslogic enable driver buslogic -@@ -920,6 +921,7 @@ +@@ -920,6 +921,7 @@ Optional Features: --enable-elplus enable driver elplus --enable-de600 enable driver de600 --enable-de620 enable driver de620 @@ -25,7 +25,7 @@ Regenerate with: --enable-sk_g16 enable driver alias sk_g16 for skg16 --enable-skg16 enable driver skg16 --enable-ni52 enable driver ni52 -@@ -2003,6 +2005,17 @@ +@@ -2003,6 +2005,17 @@ fi fi; @@ -43,7 +43,7 @@ Regenerate with: -@@ -3891,6 +3904,33 @@ +@@ -3891,6 +3904,33 @@ fi; @@ -78,7 +78,7 @@ Regenerate with: # Check whether --enable-sk_g16 or --disable-sk_g16 was given. if test "${enable_sk_g16+set}" = set; then --- i386/linux/device-drivers.h.in 2006-02-01 22:58:08.000000000 +0200 -+++ i386/linux/device-drivers.h.in 2006-02-02 04:55:11.000000000 +0200 ++++ i386/linux/device-drivers.h.in 2006-04-02 16:09:46.000000000 +0300 @@ -18,6 +18,9 @@ /* floppy */ #undef CONFIG_BLK_DEV_FD |