Date: Fri, 1 Nov 2013 01:32:01 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r257487 - in head/sys/ia64: ia64 include Message-ID: <201311010132.rA11W17l054176@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311010132.rA11W17l054176>