diff options
author | 2017-12-04 22:06:21 +0000 | |
---|---|---|
committer | 2017-12-04 22:06:21 +0000 | |
commit | 7431db0afb8460fd6dbe821ecbf64d7217deac18 (patch) | |
tree | 102a0ac9cc35bcd75b09cf363de29f772e2bb003 | |
parent | Use _kernel_lock_held() instead of __mp_lock_held(&kernel_lock). (diff) | |
download | wireguard-openbsd-7431db0afb8460fd6dbe821ecbf64d7217deac18.tar.xz wireguard-openbsd-7431db0afb8460fd6dbe821ecbf64d7217deac18.zip |
Sadly the firmware on SPARC T7 machines omits the executable bit on mappings
that contain code, just like some sun4u machines. So add it for sun4v as
well when entering the mappings into the kernel pmap.
-rw-r--r-- | sys/arch/sparc64/sparc64/pmap.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/arch/sparc64/sparc64/pmap.c b/sys/arch/sparc64/sparc64/pmap.c index 2275a42545d..345992aeb71 100644 --- a/sys/arch/sparc64/sparc64/pmap.c +++ b/sys/arch/sparc64/sparc64/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.102 2017/12/03 10:55:50 mpi Exp $ */ +/* $OpenBSD: pmap.c,v 1.103 2017/12/04 22:06:21 kettenis Exp $ */ /* $NetBSD: pmap.c,v 1.107 2001/08/31 16:47:41 eeh Exp $ */ #undef NO_VCACHE /* Don't forget the locked TLB in dostart */ /* @@ -1090,9 +1090,7 @@ remap_data: BDPRINTF(PDB_BOOT1, ("Done inserting mesgbuf into pmap_kernel()\r\n")); BDPRINTF(PDB_BOOT1, ("Inserting PROM mappings into pmap_kernel()\r\n")); - data = 0; - if (CPU_ISSUN4U || CPU_ISSUN4US) - data = SUN4U_TLB_EXEC; + data = (CPU_ISSUN4V ? SUN4V_TLB_EXEC : SUN4U_TLB_EXEC); for (i = 0; i < prom_map_size; i++) { if (prom_map[i].vstart && ((prom_map[i].vstart>>32) == 0)) { for (j = 0; j < prom_map[i].vsize; j += NBPG) { |