2024-08-22 13:41:51 +02:00
|
|
|
#include <stddef.h>
|
|
|
|
|
|
|
|
struct interrupt_frame {
|
|
|
|
size_t eip;
|
|
|
|
size_t cs;
|
|
|
|
size_t eflags;
|
|
|
|
size_t ss;
|
|
|
|
size_t esp;
|
|
|
|
};
|
2024-08-05 00:59:07 +02:00
|
|
|
|
|
|
|
__attribute__((interrupt)) void divide_by_zero(struct interrupt_frame* frame);
|
|
|
|
__attribute__((interrupt)) void general_protection_fault(struct interrupt_frame* frame);
|
|
|
|
__attribute__((interrupt)) void double_fault(struct interrupt_frame* frame);
|
|
|
|
|
|
|
|
__attribute__((interrupt)) void exception(struct interrupt_frame* frame);
|
|
|
|
|
2024-08-22 13:41:51 +02:00
|
|
|
__attribute__((interrupt)) void syscall(struct interrupt_frame* frame);
|
2024-08-05 00:59:07 +02:00
|
|
|
|
2024-08-09 23:16:20 +02:00
|
|
|
__attribute__((interrupt)) void keyboard_interrupt(struct interrupt_frame* frame);
|
2024-08-22 13:41:51 +02:00
|
|
|
__attribute__((interrupt)) void irq_1(struct interrupt_frame* frame);
|
|
|
|
__attribute__((interrupt)) void irq_2(struct interrupt_frame* frame);
|
|
|
|
|
|
|
|
__attribute__((interrupt)) void irq0(struct interrupt_frame* frame);
|