From 97eacc027edd5be3417843af08ce8d931e068d77 Mon Sep 17 00:00:00 2001 From: apio Date: Wed, 12 Oct 2022 13:05:57 +0200 Subject: [PATCH] Kernel: Use PAGE_SIZE in more places --- kernel/include/memory/Paging.h | 2 +- kernel/src/gdt/GDT.cpp | 16 ++++++++-------- kernel/src/memory/VMM.cpp | 6 +++--- kernel/src/sys/elf/ELFLoader.cpp | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/kernel/include/memory/Paging.h b/kernel/include/memory/Paging.h index 38449d74..80bbbab5 100644 --- a/kernel/include/memory/Paging.h +++ b/kernel/include/memory/Paging.h @@ -27,5 +27,5 @@ namespace Paging struct PageTable { PageDirectoryEntry entries[512]; - } __attribute__((aligned(0x1000))); + } __attribute__((aligned(PAGE_SIZE))); } \ No newline at end of file diff --git a/kernel/src/gdt/GDT.cpp b/kernel/src/gdt/GDT.cpp index be664768..85781084 100644 --- a/kernel/src/gdt/GDT.cpp +++ b/kernel/src/gdt/GDT.cpp @@ -49,15 +49,15 @@ struct InternalGDT GDTEntry user_data; GDTEntry tss; HighGDTEntry tss2; -} __attribute__((packed)) __attribute((aligned(0x1000))); +} __attribute__((packed)) __attribute((aligned(PAGE_SIZE))); -__attribute__((aligned(0x1000))) static InternalGDT internal_gdt = {{0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00}, - {0xffff, 0x0000, 0x00, 0x9a, 0xaf, 0x00}, - {0xffff, 0x0000, 0x00, 0x92, 0xcf, 0x00}, - {0xffff, 0x0000, 0x00, 0xfa, 0xaf, 0x00}, - {0xffff, 0x0000, 0x00, 0xf2, 0xcf, 0x00}, - {0x0000, 0x0000, 0x00, 0xe9, 0x0f, 0x00}, - {0x00000000, 0x00000000}}; +__attribute__((aligned(PAGE_SIZE))) static InternalGDT internal_gdt = {{0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00}, + {0xffff, 0x0000, 0x00, 0x9a, 0xaf, 0x00}, + {0xffff, 0x0000, 0x00, 0x92, 0xcf, 0x00}, + {0xffff, 0x0000, 0x00, 0xfa, 0xaf, 0x00}, + {0xffff, 0x0000, 0x00, 0xf2, 0xcf, 0x00}, + {0x0000, 0x0000, 0x00, 0xe9, 0x0f, 0x00}, + {0x00000000, 0x00000000}}; static TSS main_tss; diff --git a/kernel/src/memory/VMM.cpp b/kernel/src/memory/VMM.cpp index d36f0d63..8552c0d4 100644 --- a/kernel/src/memory/VMM.cpp +++ b/kernel/src/memory/VMM.cpp @@ -164,7 +164,7 @@ namespace Paging { PDP = (PageTable*)PMM::request_page(); ASSERT(!(PMM_DID_FAIL(PDP))); - memset(PDP, 0, 0x1000); + memset(PDP, 0, PAGE_SIZE); PDE.set_address((uint64_t)PDP); PDE.Present = true; PDE.ReadWrite = true; @@ -184,7 +184,7 @@ namespace Paging { PD = (PageTable*)PMM::request_page(); ASSERT(!(PMM_DID_FAIL(PD))); - memset(PD, 0, 0x1000); + memset(PD, 0, PAGE_SIZE); PDE.set_address((uint64_t)PD); PDE.Present = true; PDE.ReadWrite = true; @@ -204,7 +204,7 @@ namespace Paging { PT = (PageTable*)PMM::request_page(); ASSERT(!(PMM_DID_FAIL(PT))); - memset(PT, 0, 0x1000); + memset(PT, 0, PAGE_SIZE); PDE.set_address((uint64_t)PT); PDE.Present = true; PDE.ReadWrite = true; diff --git a/kernel/src/sys/elf/ELFLoader.cpp b/kernel/src/sys/elf/ELFLoader.cpp index 70f8225d..68d31f15 100644 --- a/kernel/src/sys/elf/ELFLoader.cpp +++ b/kernel/src/sys/elf/ELFLoader.cpp @@ -103,7 +103,7 @@ ELFImage* ELFLoader::load_elf_from_address(uintptr_t addr) kerrorln("Address is NULL, this is invalid :("); return 0; } - uint64_t pages = Utilities::get_blocks_from_size(0x1000, phdr->p_memsz); + uint64_t pages = Utilities::get_blocks_from_size(PAGE_SIZE, phdr->p_memsz); void* buffer = MemoryManager::get_pages_at(phdr->p_vaddr, pages, phdr->p_flags & 2 ? MAP_READ_WRITE | MAP_USER : MAP_USER); memcpy(buffer, (void*)(addr + phdr->p_offset), phdr->p_filesz);