wip: multiple pds and switch to kernel pd when needed
This commit is contained in:
@ -38,7 +38,7 @@ static void init_vbe(multiboot_info_t *mbd_virt)
|
||||
((mbd_virt->framebuffer_addr + i * PAGE_SIZE) & PAGE_MASK) |
|
||||
INIT_FLAGS;
|
||||
}
|
||||
page_directory[800] = ((uint32_t)vbe_page_table - HEAP_END) | 0x03;
|
||||
kernel_pd[800] = ((uint32_t)vbe_page_table - HEAP_END) | 0x03;
|
||||
display.buff = (uint32_t *)GET_PAGE_ADDR(800, 0) +
|
||||
(mbd_virt->framebuffer_addr % PAGE_SIZE);
|
||||
display.height = mbd_virt->framebuffer_height;
|
||||
@ -53,8 +53,7 @@ void init_multiboot(multiboot_info_t *mbd, uint32_t magic)
|
||||
kpanic("invalid magic number! (git good skill issue)");
|
||||
|
||||
init_page_table(multiboot_page_table, 0);
|
||||
page_directory[1023] =
|
||||
((uint32_t)multiboot_page_table - HEAP_END) | 0x03;
|
||||
kernel_pd[1023] = ((uint32_t)multiboot_page_table - HEAP_END) | 0x03;
|
||||
size_t pt_index = CEIL(
|
||||
(uint32_t)mbd % PAGE_SIZE + sizeof(multiboot_info_t), PAGE_SIZE);
|
||||
|
||||
|
Reference in New Issue
Block a user