Merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
user
2026-02-25 15:23:47 +01:00
8 changed files with 23 additions and 13 deletions

View File

@@ -160,7 +160,7 @@ void* getFreeVirtSpace(four_lvl_paging_t* search_table, uint8_t num_pages){
}
void setMapping(uintptr_t vaddr, void* frame, four_lvl_paging_t* flpt, uint8_t writeable){
void setMapping(uintptr_t vaddr, void* frame, four_lvl_paging_t* flpt, bool write){
uint16_t l4Index = (vaddr>>39) & 0x1FF;
uint16_t l3Index = (vaddr>>30) & 0x1FF;
uint16_t l2Index = (vaddr>>21) & 0x1FF;
@@ -195,7 +195,7 @@ void setMapping(uintptr_t vaddr, void* frame, four_lvl_paging_t* flpt, uint8_t w
memset(newl1, 0, 4096);
lvl2->entries[l2Index] = {
.present = 1,
.write = 1,
.write = write,
.user = 1,
.address = (uintptr_t)newl1 >> 12
};

View File

@@ -50,7 +50,7 @@ typedef struct {
void write_identity_map(pagetable_t* identity_table, uint64_t size);
void create_basic_page_table(four_lvl_paging_t* table, pagetable_t* kernel_identity);
void load_cr3(void* cr3_value);
void setMapping(uintptr_t vaddr, void* frame, four_lvl_paging_t* flpt, uint8_t writeable =1);
void setMapping(uintptr_t vaddr, void* frame, four_lvl_paging_t* flpt, bool write=true);
uintptr_t isMapped(uintptr_t vaddr, four_lvl_paging_t* flpt);
void* getFreeVirtSpace(four_lvl_paging_t* search_table, uint8_t num_pages);
void copy_pagetable(four_lvl_paging_t* parent_table, four_lvl_paging_t* child_table);