23 lines
492 B
C
23 lines
492 B
C
#ifndef GDT_H
|
|
#define GDT_H
|
|
|
|
struct gdt {
|
|
unsigned short size;
|
|
unsigned int address;
|
|
} __attribute__((packed));
|
|
|
|
struct gdt_entry
|
|
{
|
|
unsigned short limit_low;
|
|
unsigned short base_low;
|
|
unsigned char base_middle;
|
|
unsigned char access;
|
|
unsigned char granularity;
|
|
unsigned char base_high;
|
|
} __attribute__((packed));
|
|
|
|
void gdt_install();
|
|
void load_gdt(struct gdt *);
|
|
void gdt_set_gate(unsigned long, unsigned long, unsigned char, unsigned char, struct gdt_entry*);
|
|
#endif
|