svn commit: r257487 - in head/sys/ia64: ia64 include

Marcel Moolenaar marcel at FreeBSD.org
Fri Nov 1 01:32:02 UTC 2013


Author: marcel
Date: Fri Nov  1 01:32:01 2013
New Revision: 257487
URL: http://svnweb.freebsd.org/changeset/base/257487

Log:
  Use LOG2_ID_PAGE_SIZE again for the identity mapping in regions 6 & 7.
  Make the default translation size the same as the PBVM page size to
  avoid inserting overlapping translations in the TC. That generally is
  very bad.

Modified:
  head/sys/ia64/ia64/machdep.c
  head/sys/ia64/ia64/mp_machdep.c
  head/sys/ia64/include/param.h

Modified: head/sys/ia64/ia64/machdep.c
==============================================================================
--- head/sys/ia64/ia64/machdep.c	Fri Nov  1 00:45:08 2013	(r257486)
+++ head/sys/ia64/ia64/machdep.c	Fri Nov  1 01:32:01 2013	(r257487)
@@ -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 */

Modified: head/sys/ia64/ia64/mp_machdep.c
==============================================================================
--- head/sys/ia64/ia64/mp_machdep.c	Fri Nov  1 00:45:08 2013	(r257486)
+++ head/sys/ia64/ia64/mp_machdep.c	Fri Nov  1 01:32:01 2013	(r257487)
@@ -208,8 +208,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;

Modified: head/sys/ia64/include/param.h
==============================================================================
--- head/sys/ia64/include/param.h	Fri Nov  1 00:45:08 2013	(r257486)
+++ head/sys/ia64/include/param.h	Fri Nov  1 01:32:01 2013	(r257487)
@@ -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
  */


More information about the svn-src-head mailing list