summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2014-02-16 19:12:50 +0000
committermarcel <marcel@FreeBSD.org>2014-02-16 19:12:50 +0000
commitf00acf1f3c816423216c467f4dd10247235d03d3 (patch)
treeedb3af263e43d46bf62b547db8acb77ed8325285 /sys/ia64
parent2aa710b77cfde9c2cb3158247b24dba94228ccce (diff)
downloadFreeBSD-src-f00acf1f3c816423216c467f4dd10247235d03d3.zip
FreeBSD-src-f00acf1f3c816423216c467f4dd10247235d03d3.tar.gz
MFC r257487:
Use LOG2_ID_PAGE_SIZE again for the identity mapping in regions 6 & 7.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/machdep.c4
-rw-r--r--sys/ia64/ia64/mp_machdep.c4
-rw-r--r--sys/ia64/include/param.h5
3 files changed, 9 insertions, 4 deletions
diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c
index 5373151..92bbc64c 100644
--- a/sys/ia64/ia64/machdep.c
+++ b/sys/ia64/ia64/machdep.c
@@ -716,8 +716,8 @@ ia64_init(void)
* handlers. Here we just make sure that they have the largest
* possible page size to minimise TLB usage.
*/
- ia64_set_rr(IA64_RR_BASE(6), (6 << 8) | (PAGE_SHIFT << 2));
- ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (PAGE_SHIFT << 2));
+ ia64_set_rr(IA64_RR_BASE(6), (6 << 8) | (LOG2_ID_PAGE_SIZE << 2));
+ ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (LOG2_ID_PAGE_SIZE << 2));
ia64_srlz_d();
/* Initialize/setup physical memory datastructures */
diff --git a/sys/ia64/ia64/mp_machdep.c b/sys/ia64/ia64/mp_machdep.c
index 8e71b35..9c36512 100644
--- a/sys/ia64/ia64/mp_machdep.c
+++ b/sys/ia64/ia64/mp_machdep.c
@@ -206,8 +206,8 @@ ia64_ap_startup(void)
ia64_ap_state.as_trace = 0x100;
ia64_set_rr(IA64_RR_BASE(5), (5 << 8) | (PAGE_SHIFT << 2) | 1);
- ia64_set_rr(IA64_RR_BASE(6), (6 << 8) | (PAGE_SHIFT << 2));
- ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (PAGE_SHIFT << 2));
+ ia64_set_rr(IA64_RR_BASE(6), (6 << 8) | (LOG2_ID_PAGE_SIZE << 2));
+ ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (LOG2_ID_PAGE_SIZE << 2));
ia64_srlz_d();
pcpup = ia64_ap_state.as_pcpu;
diff --git a/sys/ia64/include/param.h b/sys/ia64/include/param.h
index c00eb28..a260a75 100644
--- a/sys/ia64/include/param.h
+++ b/sys/ia64/include/param.h
@@ -105,6 +105,11 @@
#endif
#define KSTACK_GUARD_PAGES 0 /* pages of kstack guard; 0 disables */
+/* The default size of identity mappings in region 6 & 7. */
+#ifndef LOG2_ID_PAGE_SIZE
+#define LOG2_ID_PAGE_SIZE 16
+#endif
+
/*
* Mach derived conversion macros
*/
OpenPOWER on IntegriCloud