Added stub syscall handler

This commit is contained in:
2020-07-18 18:55:26 -05:00
parent 15f6fc4bda
commit 2f98f59538
3 changed files with 17 additions and 3 deletions

View File

@@ -1,8 +1,12 @@
#include "../interrupts.hpp"
#include "idt.hpp"
#include "inthandlers.hpp"
kernel::Interrupts::Interrupts()
{
idt[0] = InterruptDescriptor((void*) &divisionByZero, InterruptDescriptor::INT32, 0);
idt[8] = InterruptDescriptor((void*) &doubleFaultHandler, InterruptDescriptor::INT32, 0);
idt[0x80] = InterruptDescriptor((void*) &syscallHandler, InterruptDescriptor::INT32, 0);
// Load interrupt handlers
// Configure PIC
_lidt();

View File

@@ -13,20 +13,27 @@ __attribute__ ((interrupt))
void gpFaultHandler(void* frame, unsigned int error)
{
*display = 'a';
asm("hlt");
display += 2;
}
__attribute__ ((interrupt))
void pageFaultHandler(void* frame, unsigned int error)
{
*display = '0';
//asm("hlt");
display += 2;
}
__attribute__ ((interrupt))
void doubleFaultHandler(void* frame, unsigned int error)
{
*display = '#';
//asm("hlt");
asm("hlt");
}
__attribute__ ((interrupt))
void syscallHandler(void* frame)
{
*display = 'z';
display += 2;
}

View File

@@ -13,4 +13,7 @@ void pageFaultHandler(void* frame, unsigned int error);
__attribute__ ((interrupt))
void doubleFaultHandler(void* frame, unsigned int error);
__attribute__ ((interrupt))
void syscallHandler(void* frame);
#endif