From d4a70e316e0991d788fb922e3e4eafae97fe950e Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Fri, 20 Feb 2015 21:59:07 -0500 Subject: keyboard driver WIP --- kernel/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index 4c768b7..04ef369 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -10,6 +10,7 @@ #include "irq.h" #include "log.h" #include "multiboot.h" +#include "paging.h" #include "panic.h" #include "pcspkr.h" #include "ps2kbd.h" @@ -46,6 +47,11 @@ void div0(struct regs_t *regs) panic("Divide by zero!\n"); } +void nothin(struct regs_t* regs) +{ + (void) regs; +} + void main(struct multiboot_info_t *hdr, uint32_t magic) { fpu_enable(); @@ -55,6 +61,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) printf("GFX init\n"); bool gfx_status = gfx_init((struct vbe_info_t*)hdr->vbe_mode_info); + printf("GFX init done.\n"); /* if graphical initialization fails, fall back to text mode */ if(!gfx_status) @@ -83,6 +90,11 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) set_interrupt_handler(0, div0); set_interrupt_handler(0xd, gpf); set_interrupt_handler(0x80, int80); + set_interrupt_handler(6, nothin); + + paging_init(); + + printf("Paging enabled.\n"); asm("sti"); @@ -90,6 +102,9 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) printf("Kernel version %s: \"%s\"\n", KAPPA_KERNEL_VERSION, KAPPA_KERNEL_CODENAME); + while(1) + asm("hlt"); + printf("Starting linked-in application XRacer...\n"); //printf("Running graphics benchmark...\n"); srand(42); -- cgit v1.1