summaryrefslogtreecommitdiff
path: root/sys/arch/hppa
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2009-02-14 18:51:04 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2009-02-14 18:51:04 +0000
commit48e0419748d350d5519d688dd5480e19d99bc5c4 (patch)
tree4c3411dcffee58664b8100beb91d891b73d098cf /sys/arch/hppa
parentd5a719bcc1aaedc2679b0415baa67d90d7afe879 (diff)
Limit the amount of physical memory to 2GB. Using more causes memory
corruption on PA-RISC 2.0 systems (and there are very few PA-RISC 1.1 systems that support more than 2GB). ok miod@
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r--sys/arch/hppa/hppa/machdep.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/arch/hppa/hppa/machdep.c b/sys/arch/hppa/hppa/machdep.c
index 51c1d3c09ac..58188d3c89d 100644
--- a/sys/arch/hppa/hppa/machdep.c
+++ b/sys/arch/hppa/hppa/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.170 2009/02/04 17:22:23 miod Exp $ */
+/* $OpenBSD: machdep.c,v 1.171 2009/02/14 18:51:03 kettenis Exp $ */
/*
* Copyright (c) 1999-2003 Michael Shalayeff
@@ -364,8 +364,18 @@ hppa_init(start)
fdcacheall();
avail_end = trunc_page(PAGE0->imm_max_mem);
+ /*
+ * XXX For some reason, using any physical memory above the
+ * 2GB marker causes memory corruption on PA-RISC 2.0
+ * machines. Cap physical memory at 2GB for now.
+ */
+#if 0
if (avail_end > SYSCALLGATE)
avail_end = SYSCALLGATE;
+#else
+ if (avail_end > 0x80000000)
+ avail_end = 0x80000000;
+#endif
physmem = atop(avail_end);
resvmem = atop(((vaddr_t)&kernel_text));