wip: frame_allocator with multiboot zones
This commit is contained in:
@ -21,6 +21,14 @@
|
||||
#define GET_PAGE_ADDR(pd_index, pt_index) \
|
||||
((((uint32_t)pd_index * 1024) + (uint32_t)pt_index) * 4096)
|
||||
|
||||
struct frame_zone {
|
||||
void *addr;
|
||||
uint32_t *frame_table;
|
||||
uint32_t size;
|
||||
uint32_t remaining_frames;
|
||||
struct frame_zone *next;
|
||||
};
|
||||
|
||||
extern uint32_t _kernel_end;
|
||||
extern uint32_t boot_page_directory;
|
||||
extern uint32_t *page_directory;
|
||||
@ -28,6 +36,7 @@ extern uint32_t page_table_default[1024];
|
||||
extern uint32_t mem_size;
|
||||
extern multiboot_memory_map_t *mmap_addr;
|
||||
extern multiboot_uint32_t mmap_length;
|
||||
extern struct frame_zone *head;
|
||||
|
||||
uint32_t *virt_to_phys(uint32_t *virt_addr);
|
||||
void init_memory(multiboot_info_t *mbd, uint32_t magic);
|
||||
|
Reference in New Issue
Block a user