summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2003-09-09 05:59:09 +0000
committermarcel <marcel@FreeBSD.org>2003-09-09 05:59:09 +0000
commitbdbd90ef2b540a88abed9f54f7c409d2573f0066 (patch)
treeecf9512c5b26488d4f80d4d1784faa6261154a75 /sys/ia64/include
parent53db1769f397482da865abe9484dd6a84689d7cf (diff)
downloadFreeBSD-src-bdbd90ef2b540a88abed9f54f7c409d2573f0066.zip
FreeBSD-src-bdbd90ef2b540a88abed9f54f7c409d2573f0066.tar.gz
Introduce IA64_ID_PAGE_{MASK|SHIFT|SIZE} and LOG2_ID_PAGE_SIZE. The
latter is a kernel option for IA64_ID_PAGE_SHIFT, which in turn determines IA64_ID_PAGE_MASK and IA64_ID_PAGE_SIZE. The constants are used instead of the literal hardcoding (in its various forms) of the size of the direct mappings created in region 6 and 7. The default and probably only workable size is still 256M, but for kicks we use 128M for LINT.
Diffstat (limited to 'sys/ia64/include')
-rw-r--r--sys/ia64/include/vmparam.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/ia64/include/vmparam.h b/sys/ia64/include/vmparam.h
index 69480a3..07fd4fb 100644
--- a/sys/ia64/include/vmparam.h
+++ b/sys/ia64/include/vmparam.h
@@ -134,6 +134,17 @@
#define IA64_PHYS_TO_RR7(x) ((x) | IA64_RR_BASE(7))
/*
+ * Page size of the identity mappings in region 7.
+ */
+#ifndef LOG2_ID_PAGE_SIZE
+#define LOG2_ID_PAGE_SIZE 28 /* 256M */
+#endif
+
+#define IA64_ID_PAGE_SHIFT (LOG2_ID_PAGE_SIZE)
+#define IA64_ID_PAGE_SIZE (1<<(LOG2_ID_PAGE_SIZE))
+#define IA64_ID_PAGE_MASK (IA64_ID_PAGE_SIZE-1)
+
+/*
* Mach derived constants
*/
OpenPOWER on IntegriCloud