summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sys/arch/amd64/cpu/mmu.c2
-rw-r--r--src/sys/include/sys/mman.h3
-rw-r--r--src/sys/include/vm/mmu.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/src/sys/arch/amd64/cpu/mmu.c b/src/sys/arch/amd64/cpu/mmu.c
index 974e7d3..60fb4f1 100644
--- a/src/sys/arch/amd64/cpu/mmu.c
+++ b/src/sys/arch/amd64/cpu/mmu.c
@@ -97,6 +97,8 @@ prot_to_pte(int prot)
pte_flags |= PTE_P;
if (ISSET(prot, MMU_PROT_WRITE))
pte_flags |= PTE_RW;
+ if (ISSET(prot, MMU_PROT_USER))
+ pte_flags |= PTE_US;
if (ISSET(prot, MMU_PROT_EXEC))
pte_flags &= ~PTE_NX;
diff --git a/src/sys/include/sys/mman.h b/src/sys/include/sys/mman.h
index 774f152..7ae1ed2 100644
--- a/src/sys/include/sys/mman.h
+++ b/src/sys/include/sys/mman.h
@@ -35,5 +35,8 @@
#define PROT_READ BIT(0)
#define PROT_WRITE BIT(1)
#define PROT_EXEC BIT(2)
+#if defined(_KERNEL)
+#define PROT_USER BIT(3)
+#endif /* _KERNEL */
#endif /* !_SYS_MMAN_H_ */
diff --git a/src/sys/include/vm/mmu.h b/src/sys/include/vm/mmu.h
index 6749254..5c1c2bb 100644
--- a/src/sys/include/vm/mmu.h
+++ b/src/sys/include/vm/mmu.h
@@ -48,6 +48,7 @@
#define MMU_PROT_READ PROT_READ /* Readable */
#define MMU_PROT_WRITE PROT_WRITE /* Writable */
#define MMU_PROT_EXEC PROT_EXEC /* Executable */
+#define MMU_PROT_USER PROT_USER /* User visible */
/*
* This will represent a virtual to