Add kfree_frame for page frame allocator

This commit is contained in:
g1n 2022-02-12 18:13:39 +02:00
parent 7e3279dba1
commit 1e6f9083b8
Signed by: g1n
GPG Key ID: 8D352193D65D4E2C
2 changed files with 6 additions and 0 deletions

View File

@ -10,6 +10,7 @@
typedef uint32_t page_addr_t;
page_addr_t kalloc_frame();
void kfree_frame(page_addr_t addr);
void paging_init();
void page_fault(registers_t regs);

View File

@ -61,6 +61,11 @@ page_addr_t kalloc_frame() {
return page_frame_number * PAGE_SIZE;
}
void kfree_frame(page_addr_t addr) {
page_addr_t index = addr / PAGE_SIZE;
bitmap[index / ENTRY_WIDTH] |= (1U << ((index / ENTRY_WIDTH) + (index % ENTRY_WIDTH)));
}
void paging_init() {
unsigned int i;
for(i = 0; i < 1024; i++) {