diff --git a/kernel-src/include/x86-64/arch/mmu.h b/kernel-src/include/x86-64/arch/mmu.h index 59de533e..fa5971c8 100644 --- a/kernel-src/include/x86-64/arch/mmu.h +++ b/kernel-src/include/x86-64/arch/mmu.h @@ -8,7 +8,7 @@ #define KERNELSPACE_START (void *)0xffff800000000000 #define KERNELSPACE_END (void *)0xffffffffffffffff #define USERSPACE_START (void *)0x0000000000001000 -#define USERSPACE_END (void *)0x00007fffffffffff +#define USERSPACE_END (void *)0x0000800000000000 #define PAGE_SIZE 4096 #define ARCH_MMU_FLAGS_READ (uint64_t)1 diff --git a/kernel-src/mm/vmm.c b/kernel-src/mm/vmm.c index e91bcb73..66fd9930 100644 --- a/kernel-src/mm/vmm.c +++ b/kernel-src/mm/vmm.c @@ -83,9 +83,9 @@ static vmmspace_t kernelspace = { // returns a pointer to the space of vaddr static vmmspace_t *getspace(void *vaddr) { - if (USERSPACE_START <= vaddr && vaddr <= USERSPACE_END) + if (USERSPACE_START <= vaddr && vaddr < USERSPACE_END) return &_cpu()->vmmctx->space; - else if (KERNELSPACE_START <= vaddr && vaddr <= KERNELSPACE_END) + else if (KERNELSPACE_START <= vaddr && vaddr < KERNELSPACE_END) return &kernelspace; else return NULL;