blu_os
Loading...
Searching...
No Matches
tss.h
1#ifndef BLU_OS_TSS_H
2#define BLU_OS_TSS_H
3
4#include <stdint.h>
5
6typedef struct {
7 uint32_t prevTss;
8 uint32_t esp0;
9 uint32_t ss0;
10 uint32_t esp1;
11 uint32_t ss1;
12 uint32_t esp2;
13 uint32_t ss2;
14 uint32_t cr3;
15 uint32_t eip;
16 uint32_t eflags;
17 uint32_t eax;
18 uint32_t ecx;
19 uint32_t edx;
20 uint32_t ebx;
21 uint32_t esp;
22 uint32_t ebp;
23 uint32_t esi;
24 uint32_t edi;
25 uint32_t es;
26 uint32_t cs;
27 uint32_t ss;
28 uint32_t ds;
29 uint32_t fs;
30 uint32_t gs;
31 uint32_t ldt;
32 uint16_t trap;
33 uint16_t iomapBase;
34} __attribute__((packed)) Tss;
35
36extern Tss tss;
37
38void tssInit(void);
39
40void loadTss(uint16_t selector);
41
42#endif
Fixed-width integer types.
Definition idt.h:11