2025-06-28 06:11:09 +00:00
|
|
|
/* tss.h
|
|
|
|
|
* Task State Segment
|
2025-06-10 13:17:21 +00:00
|
|
|
*
|
2025-06-28 06:11:09 +00:00
|
|
|
* Structure definitions for the TSS
|
2025-06-10 13:17:21 +00:00
|
|
|
*/
|
2025-06-16 04:52:05 +00:00
|
|
|
#ifndef TSS_H
|
|
|
|
|
#define TSS_H
|
2025-06-10 13:17:21 +00:00
|
|
|
#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;
|
|
|
|
|
|
|
|
|
|
|
2025-06-09 22:27:55 +00:00
|
|
|
|
|
|
|
|
#endif
|