FENIX_kernel/include/kernel/interrupt.h

30 lines
578 B
C

#ifndef _KERNEL_INTERRUPT
#define _KERNEL_INTERRUPT
#ifdef __GNUC__
struct IDT_entry {
unsigned short int offset_lowerbits;
unsigned short int selector;
unsigned char zero;
unsigned char type_attr;
unsigned short int offset_higherbits;
} __attribute__((packed));
#else
struct IDT_entry {
unsigned short int offset_lowerbits;
unsigned short int selector;
unsigned char zero;
unsigned char type_attr;
unsigned short int offset_higherbits;
};
#endif
#ifdef __GNUC__
__attribute((aligned(0x10)))
#endif
struct IDT_entry IDT[256];
void idt_init(void);
#endif