summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2006-04-02 13:13:38 +0000
committerGuillem Jover <guillem@debian.org>2006-04-02 13:13:38 +0000
commit4f1d8bbdd8b402b3bc55e8a7633c53529b4d19d4 (patch)
treed154cf251b3b78967f182b56823c1dc3ea306867 /debian
parent01c90e6fc5a25274c2f0f5bd920b73d072bb59dd (diff)
Sync with new upstream snapshot.
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/05_halt_on_panic_flag.patch8
-rw-r--r--debian/patches/15_mem_obj_proxy.patch6
-rw-r--r--debian/patches/16_net_apricot_stack_of.patch19
-rw-r--r--debian/patches/21_pata_off_by_one_irq.patch45
-rw-r--r--debian/patches/40_user-tss.patch43
-rw-r--r--debian/patches/44_more_ports.patch4
-rw-r--r--debian/patches/45_io_per_task.patch103
-rw-r--r--debian/patches/46_io_device.patch10
-rw-r--r--debian/patches/50_mem_limit.patch6
-rw-r--r--debian/patches/61_vm_resident-zoned.patch273
-rw-r--r--debian/patches/90_autoconf_autogen.patch12
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