From ab398b66081a5595776ac9121aaae07a3c2fe455 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Tue, 8 Jul 2014 19:14:11 +0200 Subject: start implement software interrupt test handler --- kernel/interrupts.c | 2 +- kernel/kernel.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/kernel/interrupts.c b/kernel/interrupts.c index 198822e..7b44482 100644 --- a/kernel/interrupts.c +++ b/kernel/interrupts.c @@ -80,7 +80,7 @@ void int_init(uint16_t sel) void int_install() { - idtd.size=8*34; //TODO + idtd.size=sizeof(struct int_desc)*INT_MAX; //TODO idtd.baseHi=0x0000; idtd.baseLo=&idt[0]; diff --git a/kernel/kernel.c b/kernel/kernel.c index db9c60e..9bc3d64 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -8,6 +8,21 @@ void int_kb_handler(); ////////// KERNEL MAIN///// ///// // + +// test handler +void int_test_handler() +{ + __asm__("pusha"); + + scr_put_string_nl("inside software interrupt handler 8"); + + + __asm__("popa"); + __asm__("leave"); + __asm__("iret"); + +} + void kernel_main() { @@ -26,6 +41,9 @@ void kernel_main() // install keyboard handler int_install_ir(33, 0b10001110, 0x08,&int_kb_handler); + // install test handler +// int_install_ir(33, 0b10001110, 0x08,&int_kb_handler); + scr_put_string_nl("Interrupts are up and running"); // kernel main loop -- cgit v1.2.3