28 lines
562 B
C
28 lines
562 B
C
// Interrupt descriptor table setup header
|
|
// Author: xamidev
|
|
// Licensed under the Unlicense. See the repo below.
|
|
// https://github.com/xamidev/blankos
|
|
|
|
#ifndef IDT_H
|
|
#define IDT_H
|
|
|
|
struct idt_entry
|
|
{
|
|
unsigned short base_lo;
|
|
unsigned short sel;
|
|
unsigned char always0;
|
|
unsigned char flags;
|
|
unsigned short base_hi;
|
|
} __attribute__((packed));
|
|
|
|
struct idt_ptr
|
|
{
|
|
unsigned short limit;
|
|
unsigned int base;
|
|
} __attribute__((packed));
|
|
|
|
void idt_set_gate(unsigned char num, unsigned long base, unsigned short sel, unsigned char flags);
|
|
void idt_install();
|
|
|
|
#endif
|