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
  */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to