...
This commit is contained in:
@@ -2,17 +2,13 @@ extern interrput_handler
|
||||
|
||||
%macro isr_err_stub 1
|
||||
isr_stub_%+%1:
|
||||
push %1
|
||||
call interrput_handler
|
||||
add rsp, 8
|
||||
iretq
|
||||
%endmacro
|
||||
|
||||
%macro isr_no_err_stub 1
|
||||
isr_stub_%+%1:
|
||||
push %1
|
||||
call interrput_handler
|
||||
add rsp, 8
|
||||
iretq
|
||||
%endmacro
|
||||
|
||||
|
||||
12
src/idt.c
12
src/idt.c
@@ -53,16 +53,8 @@ void idt_init(void)
|
||||
__asm__ volatile("sti");
|
||||
}
|
||||
|
||||
typedef struct
|
||||
void interrput_handler()
|
||||
{
|
||||
uint64_t vector_number;
|
||||
uint64_t error_code;
|
||||
} cpu_status_t;
|
||||
|
||||
void interrput_handler(uint64_t vector_number)
|
||||
{
|
||||
vga_print("An exception occurred: ");
|
||||
vga_print_uint(vector_number);
|
||||
vga_print("\n");
|
||||
vga_print("An interrupt happened\n");
|
||||
idt_hang();
|
||||
}
|
||||
@@ -9,4 +9,6 @@ void kernel_main(void)
|
||||
vga_print_success("IDT intialzied\n");
|
||||
|
||||
vga_print("Welcome to nub OS\n");
|
||||
|
||||
__asm__ volatile("int $255");
|
||||
}
|
||||
Reference in New Issue
Block a user