Files
RockOS/kernel/idt.h

19 lines
503 B
C
Raw Normal View History

2026-06-11 23:23:39 -05:00
#ifndef KIDT_H
#define KIDT_H
#include <stdint.h>
2026-06-12 23:03:00 -04:00
typedef struct __attribute__((packed)){
2026-06-11 23:23:39 -05:00
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
2026-06-12 23:03:00 -04:00
} idt_entry;
2026-06-11 23:23:39 -05:00
2026-06-12 23:03:00 -04:00
typedef struct __attribute__((packed)){
2026-06-11 23:23:39 -05:00
uint16_t limit;
uint32_t base;
2026-06-12 23:03:00 -04:00
} idt_ptr;
2026-06-11 23:23:39 -05:00
#endif