Add kfree_frame for page frame allocator
This commit is contained in:
parent
7e3279dba1
commit
1e6f9083b8
|
@ -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);
|
||||
|
||||
|
|
|
@ -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++) {
|
||||
|
|
Loading…
Reference in New Issue