summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2001-09-07 11:03:39 +0000
committerdfr <dfr@FreeBSD.org>2001-09-07 11:03:39 +0000
commitc981ef049f59783ce1306a4d23e83bfc741ddfe9 (patch)
treeab1d5d25b6da60f6ab84eb135821b6a3accfc9b1
parent5cd3ebd8ebc3db665f96ba005e2890158e5ccc82 (diff)
downloadFreeBSD-src-c981ef049f59783ce1306a4d23e83bfc741ddfe9.zip
FreeBSD-src-c981ef049f59783ce1306a4d23e83bfc741ddfe9.tar.gz
Add options to select between 4k, 8k and 16k page sizes on ia64. The
default is now 8k.
-rw-r--r--sys/conf/options.ia644
-rw-r--r--sys/ia64/include/param.h15
2 files changed, 19 insertions, 0 deletions
diff --git a/sys/conf/options.ia64 b/sys/conf/options.ia64
index 1ac6714..4fcb993 100644
--- a/sys/conf/options.ia64
+++ b/sys/conf/options.ia64
@@ -3,6 +3,10 @@
ITANIUM opt_global.h
+PAGE_SIZE_4K opt_global.h
+PAGE_SIZE_8K opt_global.h
+PAGE_SIZE_16K opt_global.h
+
PPC_PROBE_CHIPSET opt_ppc.h
PPC_DEBUG opt_ppc.h
diff --git a/sys/ia64/include/param.h b/sys/ia64/include/param.h
index 62e3235..8c8f91d 100644
--- a/sys/ia64/include/param.h
+++ b/sys/ia64/include/param.h
@@ -112,8 +112,23 @@
#define ALIGN(p) _ALIGN(p)
#define ALIGNED_POINTER(p,t) _ALIGNED_POINTER(p,t)
+#if !defined(PAGE_SIZE_4K) && !defined(PAGE_SIZE_8K) && !defined(PAGE_SIZE_16K)
+#define PAGE_SIZE_8K
+#endif
+
+#ifdef PAGE_SIZE_4K
#define PAGE_SIZE 4096 /* bytes/page */
#define PAGE_SHIFT 12
+#endif
+#ifdef PAGE_SIZE_8K
+#define PAGE_SIZE 8192 /* bytes/page */
+#define PAGE_SHIFT 13
+#endif
+#ifdef PAGE_SIZE_16K
+#define PAGE_SIZE 16384 /* bytes/page */
+#define PAGE_SHIFT 14
+#endif
+
#define PAGE_MASK (PAGE_SIZE-1)
#define NPTEPG (PAGE_SIZE/(sizeof (pt_entry_t)))
OpenPOWER on IntegriCloud