annotate src/tss.h @ 29:8ea6debe4265
starting on the task switching implementation
author |
John Tsiombikas <nuclear@siggraph.org> |
date |
Sat, 23 Apr 2011 00:51:18 +0300 |
parents |
|
children |
38f768da2f31 |
rev |
line source |
nuclear@29
|
1 #ifndef TSS_H_
|
nuclear@29
|
2 #define TSS_H_
|
nuclear@29
|
3
|
nuclear@29
|
4 #include <inttypes.h>
|
nuclear@29
|
5
|
nuclear@29
|
6 struct task_state {
|
nuclear@29
|
7 uint32_t prev_task;
|
nuclear@29
|
8 uint32_t esp0, ss0;
|
nuclear@29
|
9 uint32_t esp1, ss1;
|
nuclear@29
|
10 uint32_t esp2, ss2;
|
nuclear@29
|
11 uint32_t cr3;
|
nuclear@29
|
12 uint32_t eip;
|
nuclear@29
|
13 uint32_t eflags;
|
nuclear@29
|
14 uint32_t eax, ecx, edx, ebx;
|
nuclear@29
|
15 uint32_t esp, ebp, esi, edi;
|
nuclear@29
|
16 uint32_t es, cs, ss, ds, fs, gs;
|
nuclear@29
|
17 uint32_t ldt_sel;
|
nuclear@29
|
18 uint16_t trap, iomap_addr;
|
nuclear@29
|
19 } __attribute__((packed));
|
nuclear@29
|
20
|
nuclear@29
|
21 #endif /* TSS_H_ */
|