X-Git-Url: http://git.dujemihanovic.xyz/%7B%7B%20%24image.RelPermalink%20%7D%7D?a=blobdiff_plain;f=kernel%2Fkernel.c;h=060051c25782f3317f426f0ea44362e420a98b80;hb=e643590fbf5d867cc6f7fb597718a980aa8f72b4;hp=b274340cd2605ca7a905579cf06f0b32adbf8d99;hpb=e07e8457b21a82799a8c1931de13718371898675;p=nameless-os.git diff --git a/kernel/kernel.c b/kernel/kernel.c index b274340..060051c 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -11,36 +11,13 @@ extern void pf_handler(struct fault_frame *frame); static struct idt_descriptor idt[256] __attribute__((aligned(0x10))); static struct idtr idtr __attribute__((aligned(0x10))); -static struct page_directory_entry page_dir[1024] __attribute__((aligned(0x1000))); -static struct page_table_entry page_table[1024] __attribute__((aligned(0x1000))); void kmain(void) { screen_clear(); kprint("Welcome to Nameless OS!\nRunning revision: ", 0); kprint(GIT_COMMIT, 0); - kprint("\nEnabling paging...\n", 0); - for (int i=0xb8; i < 0xc0; i++) { - page_table[i].p = 1; - page_table[i].rw = 0; - page_table[i].us = 0; - page_table[i].page_frame_addr = i; - } - for (int i=0x100; i < 0x102; i++) { - page_table[i].p = 1; - page_table[i].rw = 0; - page_table[i].us = 0; - page_table[i].page_frame_addr = i; - } - for (int i=0x102; i < 0x110; i++) { - page_table[i].p = 1; - page_table[i].rw = 1; - page_table[i].us = 0; - page_table[i].page_frame_addr = i; - } - page_dir[0].p = 1; - page_dir[0].page_table_addr = (int) &page_table >> 12; - enable_paging(page_dir); + kprint("\n", 0); kprint("Preparing IDT...\n", 0); idt_set_descriptor(idt, 8, 0x8, (uint32_t) double_fault, IDT_INTERRUPT_GATE, 0x0); idt_set_descriptor(idt, 14, 0x8, (uint32_t) pf_handler, IDT_INTERRUPT_GATE, 0x0); @@ -54,12 +31,5 @@ void kmain(void) pic_unmask(1); asm volatile ("sti"); kprint("All done\n", 0); - struct idtr curr_idtr; - asm ("sidt %0": "=m" (curr_idtr)); - kprintw(curr_idtr.limit); - kprintd(curr_idtr.base); - //kprint("Gonna force a double fault\n", 0); - //int test = 1/0; - //int test2 = *(int *) (0xa0000000); while(1); }