Module Name: src
Committed By: palle
Date: Thu Oct 30 13:57:14 UTC 2014
Modified Files:
src/sys/arch/sparc64/sparc64: pmap.c
Log Message:
sun4v: ensure that the X (eXecute) bit is set in the TTE
To generate a diff of this commit:
cvs rdiff -u -r1.290 -r1.291 src/sys/arch/sparc64/sparc64/pmap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/sparc64/sparc64/pmap.c
diff -u src/sys/arch/sparc64/sparc64/pmap.c:1.290 src/sys/arch/sparc64/sparc64/pmap.c:1.291
--- src/sys/arch/sparc64/sparc64/pmap.c:1.290 Thu Sep 4 18:48:29 2014
+++ src/sys/arch/sparc64/sparc64/pmap.c Thu Oct 30 13:57:14 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.290 2014/09/04 18:48:29 palle Exp $ */
+/* $NetBSD: pmap.c,v 1.291 2014/10/30 13:57:14 palle Exp $ */
/*
*
* Copyright (C) 1996-1999 Eduardo Horvath.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.290 2014/09/04 18:48:29 palle Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.291 2014/10/30 13:57:14 palle Exp $");
#undef NO_VCACHE /* Don't forget the locked TLB in dostart */
#define HWREF
@@ -541,6 +541,9 @@ pmap_mp_init(void)
1, /* valid */
0 /* ie */);
tp[i].data |= TLB_L | TLB_CV;
+ if (CPU_ISSUN4V)
+ tp[i].data |= SUN4V_TLB_X;
+
DPRINTF(PDB_BOOT1, ("xtlb[%d]: Tag: %" PRIx64 " Data: %"
PRIx64 "\n", i, tp[i].tag, tp[i].data));
}