20 lines
434 B
C
20 lines
434 B
C
|
#include <kernel/utils.h>
|
||
|
|
||
|
struct idt_entry {
|
||
|
unsigned short base_low;
|
||
|
unsigned short selector;
|
||
|
unsigned char always0;
|
||
|
unsigned char flags;
|
||
|
unsigned short base_high;
|
||
|
} __attribute__((packed));
|
||
|
|
||
|
struct idt_ptr {
|
||
|
unsigned short limit;
|
||
|
unsigned int base;
|
||
|
}__attribute__((packed));
|
||
|
|
||
|
struct idt_entry idt[256]; //interrupt table of 256 entries
|
||
|
struct idt_ptr idtp; //pointer to idt table
|
||
|
|
||
|
extern void idt_load();
|