diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-08-27 03:55:12 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-08-27 03:55:12 +0200 |
commit | 1e773c97e79d74983edd9b46694956f76b0c7fd5 (patch) | |
tree | 11ca8f835528c02337e7d376916ef3dabf1050e2 /sys/src/9/pc64/mem.h | |
parent | 49411b2ca15b94b6631fd54d2576c5aeff63eb67 (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.h | 3 |
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. |