mirror of https://github.com/E-Almqvist/eOS
parent
06d9d811d2
commit
7baf28a82d
@ -1,8 +1,14 @@ |
|||||||
#include "paging.h" |
#include "paging.h" |
||||||
|
|
||||||
|
// Page Entry struct
|
||||||
struct page_entry { |
struct page_entry { |
||||||
unsigned int index; |
unsigned int index; |
||||||
unsigned int start_addr; |
unsigned int start_addr; |
||||||
};
|
} page_table[PAGE_TABLE_SIZE]; |
||||||
|
|
||||||
page_entry page_table[PAGE_TABLE_SIZE]; |
int get_phys_addr(int virt_addr) { |
||||||
|
int index = virt_addr / PAGE_SIZE; // page index for the virtual address
|
||||||
|
int offset = virt_addr % PAGE_SIZE; // actual physical offset for the address
|
||||||
|
|
||||||
|
return page_table[index].start_addr + offset; |
||||||
|
} |
||||||
|
Loading…
Reference in new issue