#include #include #include #include #include #include #include #include #include static struct page_directory *kernel_directory; void start_kernel() { init_display(2); vprintl("Hello World!!!\n"); vprintl("Testing it!!!\n"); kernel_heap_init(); interrupts_init(); kernel_directory = paging_new_directory(PAGING_IS_WRITABLE | PAGING_IS_PRESENT | PAGING_USER_ACCESS); paging_switch(kernel_directory); char *ptr = kzalloc(4096); char *ptr2; paging_map_vaddr(kernel_directory, (void *)0x1000, ptr, (PAGING_USER_ACCESS | PAGING_IS_PRESENT | PAGING_IS_WRITABLE)); enable_paging(); enable_interrupts(); ptr2 = (char *) 0x1000; ptr[0] = 'A'; vprintl(ptr); vprintl(ptr2); ptr2[1] = 'B'; vprintl("new ptr\n"); vprintl(ptr); vprintl(ptr2); kfree(ptr); }