mirror of
https://github.com/tailix/kernel.git
synced 2024-12-04 11:34:42 -05:00
66 lines
1.5 KiB
C
66 lines
1.5 KiB
C
#ifndef KERNELMQ_INCLUDED_INTERRUPT
|
|
#define KERNELMQ_INCLUDED_INTERRUPT 1
|
|
|
|
struct IsrRegisters {
|
|
unsigned int ds; // Data segment selector
|
|
unsigned int edi, esi, ebp, esp, ebx, edx, ecx, eax; // Pushed by pusha.
|
|
unsigned int int_no, err_code; // Interrupt number and error code (if applicable)
|
|
unsigned int ip, cs, flags, sp, ss; // Pushed by the processor automatically.
|
|
};
|
|
|
|
// Protected mode exteptions
|
|
void interrupt_0();
|
|
void interrupt_1();
|
|
void interrupt_2();
|
|
void interrupt_3();
|
|
void interrupt_4();
|
|
void interrupt_5();
|
|
void interrupt_6();
|
|
void interrupt_7();
|
|
void interrupt_8();
|
|
void interrupt_9();
|
|
void interrupt_10();
|
|
void interrupt_11();
|
|
void interrupt_12();
|
|
void interrupt_13();
|
|
void interrupt_14();
|
|
void interrupt_15();
|
|
void interrupt_16();
|
|
void interrupt_17();
|
|
void interrupt_18();
|
|
void interrupt_19();
|
|
void interrupt_20();
|
|
void interrupt_21();
|
|
void interrupt_22();
|
|
void interrupt_23();
|
|
void interrupt_24();
|
|
void interrupt_25();
|
|
void interrupt_26();
|
|
void interrupt_27();
|
|
void interrupt_28();
|
|
void interrupt_29();
|
|
void interrupt_30();
|
|
void interrupt_31();
|
|
|
|
// Hardware IRQs
|
|
void interrupt_32();
|
|
void interrupt_33();
|
|
void interrupt_34();
|
|
void interrupt_35();
|
|
void interrupt_36();
|
|
void interrupt_37();
|
|
void interrupt_38();
|
|
void interrupt_39();
|
|
void interrupt_40();
|
|
void interrupt_41();
|
|
void interrupt_42();
|
|
void interrupt_43();
|
|
void interrupt_44();
|
|
void interrupt_45();
|
|
void interrupt_46();
|
|
void interrupt_47();
|
|
|
|
// Syscalls
|
|
void interrupt_0x80();
|
|
|
|
#endif
|