From fe60a37cfe072ec41663a69aefb02816af4067db Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Mon, 15 Sep 2025 23:41:52 -0400 Subject: sys: mman: Add PROT_USER flag Signed-off-by: Ian Moffett --- src/sys/arch/amd64/cpu/mmu.c | 2 ++ src/sys/include/sys/mman.h | 3 +++ src/sys/include/vm/mmu.h | 1 + 3 files changed, 6 insertions(+) (limited to 'src/sys') 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 -- cgit v1.2.3