27 lines
402 B
C
27 lines
402 B
C
#ifndef HAL_GDT_H_
|
|
#define HAL_GDT_H_
|
|
|
|
#define KCODE 0x08
|
|
#define KDATA 0x10
|
|
#define UCODE 0x18
|
|
#define UDATA 0x20
|
|
#define TSS 0x28
|
|
|
|
typedef struct {
|
|
uint32_t resv0;
|
|
uint64_t rsp0;
|
|
uint64_t rsp1;
|
|
uint64_t rsp2;
|
|
uint64_t resv1;
|
|
uint64_t ist[7];
|
|
uint64_t resv2;
|
|
uint16_t resv3;
|
|
uint16_t iopb_off;
|
|
} PACKED Tss;
|
|
|
|
ALIGNED(16) extern Tss tss;
|
|
|
|
void gdt_init(void);
|
|
|
|
#endif // HAL_GDT_H_
|