summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2001-10-26 22:12:27 (GMT)
committerH. Peter Anvin <hpa@zytor.com>2001-10-26 22:12:27 (GMT)
commitab3ca50b51e8e61faac8b1283f4d394009d4370f (patch)
tree7e089d14b9c5dde0da65525e6dbdd946e046eb46
parentfdcebc9da9bd6a20c125a5422cee31a26b27b06c (diff)
downloadlpsm-ab3ca50b51e8e61faac8b1283f4d394009d4370f.zip
lpsm-ab3ca50b51e8e61faac8b1283f4d394009d4370f.tar.gz
lpsm-ab3ca50b51e8e61faac8b1283f4d394009d4370f.tar.bz2
lpsm-ab3ca50b51e8e61faac8b1283f4d394009d4370f.tar.xz
Make the SPARC addressing actually work (thanks to Dave S. Miller.)
-rw-r--r--CHANGES7
-rw-r--r--sysdep/sparc32.h10
-rw-r--r--sysdep/sparc64.h4
3 files changed, 17 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index c6f5448..89c3366 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+Changes in 0.1.10:
+------------------
+* Actually make the SPARC addresses work. On sparc32, if sun4c
+ compatibility is desired a compile-time change is required -- sun4c
+ compatibility reduces the usable database size from 1 GB to 128 MB,
+ so it didn't seem worthwhile to support by default.
+
Changes in 0.1.9:
-----------------
* Further documentation improvements.
diff --git a/sysdep/sparc32.h b/sysdep/sparc32.h
index 9caec63..2735172 100644
--- a/sysdep/sparc32.h
+++ b/sysdep/sparc32.h
@@ -22,5 +22,11 @@
#include "sysdep/32bit.h"
/* This is where we map the database file - must be constant */
-/* FIX: I have no idea if this is actually legal... */
-#define ARENA_ADDRESS ((void *)0x60000000UL)
+#if 1
+/* This is appropriate for sun4m or sun4u in 32-bit mode, and
+ allows a 1 GB database. */
+#define ARENA_ADDRESS ((void *)0x9000000UL)
+#else
+/* This works on sun4c/sun4m/sun4u, but only allows 128 MB of database */
+#define ARENA_ADDRESS ((void *)0xe4000000UL)
+#endif
diff --git a/sysdep/sparc64.h b/sysdep/sparc64.h
index f780f0e..6766916 100644
--- a/sysdep/sparc64.h
+++ b/sysdep/sparc64.h
@@ -22,5 +22,5 @@
#include "sysdep/64bit.h"
/* This is where we map the database file - must be constant */
-/* FIX: I have no idea if this is actually legal... */
-#define ARENA_ADDRESS ((void *)0x6000000000000000UL)
+/* David S. Miller says this address should work and allows 2 TB */
+#define ARENA_ADDRESS ((void *)0xFFFFFA0000000000UL)