19 lines
503 B
C
19 lines
503 B
C
#ifndef KIDT_H
|
|
#define KIDT_H
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct __attribute__((packed)){
|
|
uint16_t isr_low; // The lower 16 bits of the ISR's address
|
|
uint16_t kernel_cs; // The GDT segment selector the CPU will load into CS
|
|
uint8_t reserved; // Set to 0
|
|
uint8_t attributes;// Type and attributes flags
|
|
uint16_t isr_high; // The higher 16 bits of the ISR's address
|
|
} idt_entry;
|
|
|
|
typedef struct __attribute__((packed)){
|
|
uint16_t limit;
|
|
uint32_t base;
|
|
} idt_ptr;
|
|
|
|
#endif |