Untitled_Kernel/include/kdtables.h
lordtet d97ec36f8c Half-baked commit, but i added a struct type for the tss and allocated
some memory for it in bss. Also put some space in for the gdt in rodata.
Need to leave now, so this broken build goes to the repo!
2025-06-10 09:17:21 -04:00

50 lines
787 B
C

/* kdtables.h
* Kernel Discriptor Tables
*
* Contains GDT, IDT, and any relevant functions and structs pertaining to them
*
*/
#ifndef KDTABLES_H
#define KDTABLES_H
#include <stdint.h>
// TSS
typedef struct tss_s {
uint32_t LINK;
uint32_t ESP0;
uint32_t SS0;
uint32_t ESP1;
uint32_t SS1;
uint32_t ESP2;
uint32_t SS2;
uint32_t CR3;
uint32_t EIP;
uint32_t EFLAGS;
uint32_t EAX;
uint32_t ECX;
uint32_t EDX;
uint32_t EBX;
uint32_t ESP;
uint32_t ESI;
uint32_t EDI;
uint32_t ES;
uint32_t CS;
uint32_t SS;
uint32_t DS;
uint32_t FS;
uint32_t GS;
uint32_t LDTR;
uint32_t IOPB;
uint32_t SSP;
} __attribute__((packed)) tss_t;
extern tss_t tss;
void clear_tss();
// GDT
#endif