From 46e5e6c561f2c69117cf179e4fd84ed5f273e56e Mon Sep 17 00:00:00 2001 From: Matheus Date: Fri, 21 Apr 2023 00:25:31 -0300 Subject: [PATCH] mmu: rename ARCH_MMU_FLAG_* to ARCH_MMU_FLAGS_* --- kernel-src/arch/x86-64/mmu.c | 10 +++++----- kernel-src/include/x86-64/arch/mmu.h | 8 ++++---- kernel-src/mm/slab.c | 4 ++-- kernel-src/mm/vmm.c | 14 +++++++------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/kernel-src/arch/x86-64/mmu.c b/kernel-src/arch/x86-64/mmu.c index 657284ec..cae7eb8d 100644 --- a/kernel-src/arch/x86-64/mmu.c +++ b/kernel-src/arch/x86-64/mmu.c @@ -12,7 +12,7 @@ #define PDPTMASK (uint64_t)0b111111111000000000000000000000000000000 #define PML4MASK (uint64_t)0b111111111000000000000000000000000000000000000000 -#define INTERMEDIATE_FLAGS ARCH_MMU_FLAG_WRITE | ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_USER +#define INTERMEDIATE_FLAGS ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_USER // returns hhdm address of next entry @@ -176,9 +176,9 @@ static void *kerneladdr[6] = { }; static mmuflags_t kernelflags[3] = { - ARCH_MMU_FLAG_READ, - ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_WRITE | ARCH_MMU_FLAG_NOEXEC, - ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_NOEXEC + ARCH_MMU_FLAGS_READ, + ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC, + ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_NOEXEC }; extern volatile struct limine_memmap_request pmm_liminemap; @@ -225,7 +225,7 @@ void arch_mmu_init() { for (size_t i = 0; i < pmm_liminemap.response->entry_count; ++i) { struct limine_memmap_entry *e = pmm_liminemap.response->entries[i]; for (uint64_t i = 0; i < e->length; i += PAGE_SIZE) { - uint64_t entry = ((e->base + i) & ADDRMASK) | ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_WRITE | ARCH_MMU_FLAG_NOEXEC; + uint64_t entry = ((e->base + i) & ADDRMASK) | ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC; __assert(add_page(FROM_HHDM(template), MAKE_HHDM((void *)(e->base + i)), entry, 0)); } } diff --git a/kernel-src/include/x86-64/arch/mmu.h b/kernel-src/include/x86-64/arch/mmu.h index 032e26dd..59de533e 100644 --- a/kernel-src/include/x86-64/arch/mmu.h +++ b/kernel-src/include/x86-64/arch/mmu.h @@ -11,10 +11,10 @@ #define USERSPACE_END (void *)0x00007fffffffffff #define PAGE_SIZE 4096 -#define ARCH_MMU_FLAG_READ (uint64_t)1 -#define ARCH_MMU_FLAG_WRITE (uint64_t)2 -#define ARCH_MMU_FLAG_USER (uint64_t)4 -#define ARCH_MMU_FLAG_NOEXEC ((uint64_t)1 << 63) +#define ARCH_MMU_FLAGS_READ (uint64_t)1 +#define ARCH_MMU_FLAGS_WRITE (uint64_t)2 +#define ARCH_MMU_FLAGS_USER (uint64_t)4 +#define ARCH_MMU_FLAGS_NOEXEC ((uint64_t)1 << 63) typedef uint64_t mmuflags_t; typedef uint64_t * pagetableptr_t; // physical address diff --git a/kernel-src/mm/slab.c b/kernel-src/mm/slab.c index e8a56662..6c1e498d 100644 --- a/kernel-src/mm/slab.c +++ b/kernel-src/mm/slab.c @@ -50,7 +50,7 @@ static void initindirect(scache_t *cache, slab_t *slab, void **base, void *objba } static bool growcache(scache_t *cache) { - void *_slab = vmm_map(NULL, PAGE_SIZE, VMM_FLAGS_ALLOCATE, ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_WRITE | ARCH_MMU_FLAG_NOEXEC, NULL); + void *_slab = vmm_map(NULL, PAGE_SIZE, VMM_FLAGS_ALLOCATE, ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC, NULL); if (_slab == NULL) return false; slab_t *slab = GET_SLAB(_slab); @@ -58,7 +58,7 @@ static bool growcache(scache_t *cache) { if (cache->size < SLAB_INDIRECT_CUTOFF) { initdirect(cache, slab, _slab); } else { - void *base = vmm_map(NULL, cache->slabobjcount * cache->truesize, VMM_FLAGS_ALLOCATE, ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_WRITE | ARCH_MMU_FLAG_NOEXEC, NULL); + void *base = vmm_map(NULL, cache->slabobjcount * cache->truesize, VMM_FLAGS_ALLOCATE, ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC, NULL); if (base == NULL) { vmm_unmap(_slab, PAGE_SIZE, 0); return false; diff --git a/kernel-src/mm/vmm.c b/kernel-src/mm/vmm.c index 7e780387..be2aca4f 100644 --- a/kernel-src/mm/vmm.c +++ b/kernel-src/mm/vmm.c @@ -245,13 +245,13 @@ bool vmm_pagefault(void *addr, bool user, int actions) { int invalidactions = 0; - if ((range->mmuflags & ARCH_MMU_FLAG_READ) == 0) + if ((range->mmuflags & ARCH_MMU_FLAGS_READ) == 0) invalidactions |= VMM_ACTION_READ; - if ((range->mmuflags & ARCH_MMU_FLAG_WRITE) == 0) + if ((range->mmuflags & ARCH_MMU_FLAGS_WRITE) == 0) invalidactions |= VMM_ACTION_WRITE; - if ((range->mmuflags & ARCH_MMU_FLAG_NOEXEC)) + if ((range->mmuflags & ARCH_MMU_FLAGS_NOEXEC)) invalidactions |= VMM_ACTION_EXEC; if (invalidactions & actions) @@ -411,12 +411,12 @@ void vmm_init() { for (uint64_t i = 0; i < pmm_liminemap.response->entry_count; ++i) { struct limine_memmap_entry *e = pmm_liminemap.response->entries[i]; - __assert(vmm_map(MAKE_HHDM(e->base), e->length, 0, ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_WRITE | ARCH_MMU_FLAG_NOEXEC, NULL)); + __assert(vmm_map(MAKE_HHDM(e->base), e->length, 0, ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC, NULL)); } - __assert(vmm_map(&_text_start, (uintptr_t)&_text_end - (uintptr_t)&_text_start, 0, ARCH_MMU_FLAG_READ, NULL)); - __assert(vmm_map(&_rodata_start, (uintptr_t)&_rodata_end - (uintptr_t)&_rodata_start, 0, ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_NOEXEC, NULL)); - __assert(vmm_map(&_data_start, (uintptr_t)&_data_end - (uintptr_t)&_data_start, 0, ARCH_MMU_FLAG_READ | ARCH_MMU_FLAG_WRITE | ARCH_MMU_FLAG_NOEXEC, NULL)); + __assert(vmm_map(&_text_start, (uintptr_t)&_text_end - (uintptr_t)&_text_start, 0, ARCH_MMU_FLAGS_READ, NULL)); + __assert(vmm_map(&_rodata_start, (uintptr_t)&_rodata_end - (uintptr_t)&_rodata_start, 0, ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_NOEXEC, NULL)); + __assert(vmm_map(&_data_start, (uintptr_t)&_data_end - (uintptr_t)&_data_start, 0, ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC, NULL)); printspace(&kernelspace); }