ApertureOS
gdt.h
Go to the documentation of this file.
1 #ifndef _GDT_H_
2 #define _GDT_H_
3 
4 #define GDT_ENTRY_COUNT 6
5 
6 void GDT_Initialize();
7 
8 typedef volatile struct strtss
9 {
10  unsigned short link;
11  unsigned short link_h;
12  unsigned long esp0;
13  unsigned short ss0;
14  unsigned short ss0_h;
15  unsigned long esp1;
16  unsigned short ss1;
17  unsigned short ss1_h;
18  unsigned long esp2;
19  unsigned short ss2;
20  unsigned short ss2_h;
21  unsigned long cr3;
22  unsigned long eip;
23  unsigned long eflags;
24  unsigned long eax;
25  unsigned long ecx;
26  unsigned long edx;
27  unsigned long ebx;
28  unsigned long esp;
29  unsigned long ebp;
30  unsigned long esi;
31  unsigned long edi;
32  unsigned short es;
33  unsigned short es_h;
34  unsigned short cs;
35  unsigned short cs_h;
36  unsigned short ss;
37  unsigned short ss_h;
38  unsigned short ds;
39  unsigned short ds_h;
40  unsigned short fs;
41  unsigned short fs_h;
42  unsigned short gs;
43  unsigned short gs_h;
44  unsigned short ldt;
45  unsigned short ldt_h;
46  unsigned short trap;
47  unsigned short iomap;
48 } __attribute__((packed)) tss_struct;
49 
50 tss_struct sys_tss; //Define the TSS as a global structure
51 
52 #endif /* end of include guard: _GDT_H_ */
unsigned long eip
Definition: gdt.h:22
unsigned long esp1
Definition: gdt.h:15
unsigned short ldt_h
Definition: gdt.h:45
unsigned long edx
Definition: gdt.h:26
unsigned short ds_h
Definition: gdt.h:39
unsigned short ss2
Definition: gdt.h:19
unsigned long ebp
Definition: gdt.h:29
unsigned short fs
Definition: gdt.h:40
unsigned short ss0_h
Definition: gdt.h:14
unsigned short ldt
Definition: gdt.h:44
unsigned long cr3
Definition: gdt.h:21
unsigned long ebx
Definition: gdt.h:27
unsigned long esi
Definition: gdt.h:30
unsigned long esp0
Definition: gdt.h:12
unsigned short ss
Definition: gdt.h:36
unsigned short ss1_h
Definition: gdt.h:17
unsigned short gs
Definition: gdt.h:42
unsigned short link_h
Definition: gdt.h:11
unsigned short es
Definition: gdt.h:32
unsigned short cs
Definition: gdt.h:34
unsigned short gs_h
Definition: gdt.h:43
unsigned short fs_h
Definition: gdt.h:41
unsigned long eax
Definition: gdt.h:24
unsigned short iomap
Definition: gdt.h:47
unsigned short es_h
Definition: gdt.h:33
unsigned short link
Definition: gdt.h:10
unsigned long ecx
Definition: gdt.h:25
unsigned short ss0
Definition: gdt.h:13
unsigned short ss_h
Definition: gdt.h:37
unsigned long esp
Definition: gdt.h:28
unsigned short ds
Definition: gdt.h:38
unsigned long eflags
Definition: gdt.h:23
unsigned short ss1
Definition: gdt.h:16
unsigned long esp2
Definition: gdt.h:18
unsigned short ss2_h
Definition: gdt.h:20
unsigned long edi
Definition: gdt.h:31
void GDT_Initialize()
Definition: gdt.c:34
tss_struct sys_tss
Definition: gdt.h:50
unsigned short trap
Definition: gdt.h:46
Definition: gdt.h:8
unsigned short cs_h
Definition: gdt.h:35