summaryrefslogtreecommitdiff
path: root/sys/src/9/pc64/mem.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-08-27 03:55:12 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2019-08-27 03:55:12 +0200
commit1e773c97e79d74983edd9b46694956f76b0c7fd5 (patch)
tree11ca8f835528c02337e7d376916ef3dabf1050e2 /sys/src/9/pc64/mem.h
parent49411b2ca15b94b6631fd54d2576c5aeff63eb67 (diff)
pc64: implement NX bit discovery, map kernel mappings no-execute
Diffstat (limited to 'sys/src/9/pc64/mem.h')
-rw-r--r--sys/src/9/pc64/mem.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/9/pc64/mem.h b/sys/src/9/pc64/mem.h
index f105b78cb..d9bc638f1 100644
--- a/sys/src/9/pc64/mem.h
+++ b/sys/src/9/pc64/mem.h
@@ -143,7 +143,7 @@
#define PTEPERTAB (PTEMAPMEM/BY2PG)
#define SEGMAPSIZE 65536
#define SSEGMAPSIZE 16
-#define PPN(x) ((x)&~(BY2PG-1))
+#define PPN(x) ((x)&~(1ull<<63 | BY2PG-1))
/*
* physical MMU
@@ -158,6 +158,7 @@
#define PTEUSER (1ull<<2)
#define PTESIZE (1ull<<7)
#define PTEGLOBAL (1ull<<8)
+#define PTENOEXEC ((uvlong)m->havenx<<63)
/*
* Hierarchical Page Tables.