summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <sthibault@debian.org>2009-06-30 18:26:33 +0000
committerSamuel Thibault <sthibault@debian.org>2009-06-30 18:26:33 +0000
commit8c06929158dbbd6f980023133dbf552fa215f483 (patch)
treee0a212cb26948d8dba193301e689622a05920513
parent044e427e05848f030b626a3d5c1f156b9c4e3bd1 (diff)
* debian/patches/14_alloc_params.patch: reserve 128MiB for virtual memory
space. Fixes boot with more than ~900MiB.
-rw-r--r--debian/changelog5
-rw-r--r--debian/patches/14_alloc_params.patch23
2 files changed, 28 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 1f81924..f30c277 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,12 @@
gnumach (2:1.3.99.dfsg.cvs20090220-2) UNRELEASED; urgency=low
+ [ Guillem Jover ]
* Change gnumach-dbg section to debug.
+ [ Samuel Thibault ]
+ * debian/patches/14_alloc_params.patch: reserve 128MiB for virtual memory
+ space. Fixes boot with more than ~900MiB.
+
-- Guillem Jover <guillem@debian.org> Mon, 08 Jun 2009 22:23:13 +0200
gnumach (2:1.3.99.dfsg.cvs20090220-1) unstable; urgency=low
diff --git a/debian/patches/14_alloc_params.patch b/debian/patches/14_alloc_params.patch
index d71c245..08edede 100644
--- a/debian/patches/14_alloc_params.patch
+++ b/debian/patches/14_alloc_params.patch
@@ -1,3 +1,8 @@
+2009-06-11 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * i386/i386at/model_dep.c (mem_size_init): Reserve 128MiB for virtual
+ memory space, to make room for the zalloc area.
+
2008-12-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
* kern/zalloc.c (zone_map_size): Increase from 12 to 64 MiB.
@@ -49,3 +54,21 @@ Index: b/vm/vm_map.h
typedef struct vm_map_copy {
int type;
+Index: b/i386/i386at/model_dep.c
+===================================================================
+--- a/i386/i386at/model_dep.c 10 Nov 2008 15:18:47 -0000 1.9.2.19
++++ b/i386/i386at/model_dep.c 11 Jun 2009 00:32:30 -0000
+@@ -231,10 +232,10 @@ mem_size_init(void)
+ printf("AT386 boot: physical memory from 0x%x to 0x%x\n",
+ phys_first_addr, phys_last_addr);
+
+- /* Reserve 1/16 of the memory address space for virtual mappings.
++ /* Reserve 1/8 of the memory address space for virtual mappings.
+ * Yes, this loses memory. Blame i386. */
+- if (phys_last_addr > (VM_MAX_KERNEL_ADDRESS / 16) * 15)
+- phys_last_addr = (VM_MAX_KERNEL_ADDRESS / 16) * 15;
++ if (phys_last_addr > (VM_MAX_KERNEL_ADDRESS / 8) * 7)
++ phys_last_addr = (VM_MAX_KERNEL_ADDRESS / 8) * 7;
+
+ phys_first_addr = round_page(phys_first_addr);
+ phys_last_addr = trunc_page(phys_last_addr);