Files
termOS/kernel/include/gdt.h
T

42 lines
640 B
C

#pragma once
#ifndef GDT_H
#define GDT_H
#include "types.h"
typedef struct {
u16 limit_low;
u16 base_low;
u8 base_middle;
u8 access;
u8 granularity;
u8 base_high;
} __attribute__((packed)) GDTDescriptor;
typedef struct {
u16 limit;
u64 base;
} __attribute__((packed)) GDTPtr;
typedef struct {
u32 reserved0;
u64 rsp0;
u64 rsp1;
u64 rsp2;
u64 reserved1;
u64 ist1;
u64 ist2;
u64 ist3;
u64 ist4;
u64 ist5;
u64 ist6;
u64 ist7;
u64 reserved2;
u16 reserved3;
u16 iomap_base;
} __attribute__((packed)) TSS;
void gdt_init();
#endif