add r/w option to map
This commit is contained in:
@@ -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){
|
||||
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){
|
||||
memset(newl1, 0, 4096);
|
||||
lvl2->entries[l2Index] = {
|
||||
.present = 1,
|
||||
.write = 1,
|
||||
.write = write,
|
||||
.user = 1,
|
||||
.address = (uintptr_t)newl1 >> 12
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user