aboutsummaryrefslogtreecommitdiff
path: root/kernel/main.c
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-20 21:59:07 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-20 21:59:07 -0500
commitd4a70e316e0991d788fb922e3e4eafae97fe950e (patch)
tree850f39e49c5bbd389a0b401e3837528b216b4afd /kernel/main.c
parent0c128aab93656974bbf77132a487cff002c51d35 (diff)
downloadkappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.zip
kappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.tar.gz
kappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.tar.bz2
kappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.tar.xz
keyboard driver WIP
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c15
1 files changed, 15 insertions, 0 deletions
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);