Upload files to "drivers"
This commit is contained in:
29
drivers/isr.c
Normal file
29
drivers/isr.c
Normal file
@ -0,0 +1,29 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <isr.h>
|
||||
|
||||
|
||||
void isr_handler(regs_t *r)
|
||||
{
|
||||
// Handle faults
|
||||
if (r->int_no < 32)
|
||||
{
|
||||
printf("Received interrupt: %d\n", r->int_no);
|
||||
// halt or kill task...
|
||||
}
|
||||
if (r->int_no == 128)
|
||||
{
|
||||
syscall_handler(r);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void syscall_handler(regs_t *r)
|
||||
{
|
||||
switch (r->eax) {
|
||||
case 0: printf("Syscall: Hello world\n"); break;
|
||||
case 1: printf("Syscall: value = %d\n", r->ebx); break;
|
||||
default: printf("Unknown syscall %d\n", r->eax);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user