UbixOS V2
2.0
tss.h
Go to the documentation of this file.
1
/*-
2
* Copyright (c) 2002-2018 The UbixOS Project.
3
* All rights reserved.
4
*
5
* This was developed by Christopher W. Olsen for the UbixOS Project.
6
*
7
* Redistribution and use in source and binary forms, with or without modification, are permitted
8
* provided that the following conditions are met:
9
*
10
* 1) Redistributions of source code must retain the above copyright notice, this list of
11
* conditions, the following disclaimer and the list of authors.
12
* 2) Redistributions in binary form must reproduce the above copyright notice, this list of
13
* conditions, the following disclaimer and the list of authors in the documentation and/or
14
* other materials provided with the distribution.
15
* 3) Neither the name of the UbixOS Project nor the names of its contributors may be used to
16
* endorse or promote products derived from this software without specific prior written
17
* permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
20
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
22
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
24
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
26
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*/
28
29
#ifndef _SYS_TSS_H
30
#define _SYS_TSS_H
31
32
#include <
sys/types.h
>
33
34
struct
tssStruct
{
35
short
back_link
;
36
short
back_link_reserved
;
37
long
esp0
;
38
short
ss0
;
39
short
ss0_reserved
;
40
long
esp1
;
41
short
ss1
;
42
short
ss1_reserved
;
43
long
esp2
;
44
short
ss2
;
45
short
ss2_reserved
;
46
long
cr3
;
47
long
eip
;
48
long
eflags
;
49
long
eax
,
ecx
,
edx
,
ebx
;
50
long
esp
;
51
long
ebp
;
52
long
esi
;
53
long
edi
;
54
short
es
;
55
short
es_reserved
;
56
short
cs
;
57
short
cs_reserved
;
58
short
ss
;
59
short
ss_reserved
;
60
short
ds
;
61
short
ds_reserved
;
62
short
fs
;
63
short
fs_reserved
;
64
short
gs
;
65
short
gs_reserved
;
66
short
ldt
;
67
short
ldt_reserved
;
68
short
trace_bitmap
;
69
short
io_map
;
70
char
io_space
[8192];
71
};
72
73
struct
i387Struct
{
74
long
cwd
;
75
long
swd
;
76
long
twd
;
77
long
fip
;
78
long
fcs
;
79
long
foo
;
80
long
fos
;
81
long
st_space
[20];
/* 8*10 bytes for each FP-reg = 80 bytes */
82
};
83
84
struct
i386_frame
{
85
uint32_t
gs
;
86
uint32_t
fs
;
87
uint32_t
es
;
88
uint32_t
ds
;
89
uint32_t
ss
;
90
uint32_t
edi
;
91
uint32_t
esi
;
92
uint32_t
ebp
;
93
uint32_t
esp
;
94
uint32_t
ebx
;
95
uint32_t
edx
;
96
uint32_t
ecx
;
97
uint32_t
eax
;
98
/*
99
uint32_t vector;
100
uint32_t error_code;
101
*/
102
uint32_t
eip
;
103
uint32_t
cs
;
104
uint32_t
flags
;
105
uint32_t
user_esp
;
106
uint32_t
user_ss
;
107
};
108
109
#endif
/* END _SYS_TSS_H */
i386_frame::user_esp
uint32_t user_esp
Definition:
tss.h:105
tssStruct::ds_reserved
short ds_reserved
Definition:
tss.h:61
tssStruct::eip
long eip
Definition:
tss.h:47
tssStruct::ss0_reserved
short ss0_reserved
Definition:
tss.h:39
i386_frame::cs
uint32_t cs
Definition:
tss.h:103
tssStruct::ebx
long ebx
Definition:
tss.h:49
i386_frame::esi
uint32_t esi
Definition:
tss.h:91
tssStruct::edx
long edx
Definition:
tss.h:49
tssStruct::ss1
short ss1
Definition:
tss.h:41
i387Struct::fip
long fip
Definition:
tss.h:77
tssStruct::ldt
short ldt
Definition:
tss.h:66
i386_frame::esp
uint32_t esp
Definition:
tss.h:93
tssStruct::ds
short ds
Definition:
tss.h:60
tssStruct::eflags
long eflags
Definition:
tss.h:48
tssStruct::esp0
long esp0
Definition:
tss.h:37
i387Struct::twd
long twd
Definition:
tss.h:76
tssStruct::back_link
short back_link
Definition:
tss.h:35
i387Struct::foo
long foo
Definition:
tss.h:79
i386_frame::ebx
uint32_t ebx
Definition:
tss.h:94
i386_frame::eip
uint32_t eip
Definition:
tss.h:102
tssStruct::ss0
short ss0
Definition:
tss.h:38
tssStruct::gs_reserved
short gs_reserved
Definition:
tss.h:65
i387Struct::cwd
long cwd
Definition:
tss.h:74
types.h
tssStruct::back_link_reserved
short back_link_reserved
Definition:
tss.h:36
tssStruct::ss2
short ss2
Definition:
tss.h:44
i386_frame::es
uint32_t es
Definition:
tss.h:87
i386_frame
Definition:
tss.h:84
tssStruct::esp
long esp
Definition:
tss.h:50
i386_frame::user_ss
uint32_t user_ss
Definition:
tss.h:106
i387Struct
Definition:
tss.h:73
tssStruct::ss_reserved
short ss_reserved
Definition:
tss.h:59
tssStruct::ldt_reserved
short ldt_reserved
Definition:
tss.h:67
i387Struct::swd
long swd
Definition:
tss.h:75
i386_frame::fs
uint32_t fs
Definition:
tss.h:86
i386_frame::ds
uint32_t ds
Definition:
tss.h:88
tssStruct::fs_reserved
short fs_reserved
Definition:
tss.h:63
tssStruct::ss
short ss
Definition:
tss.h:58
i386_frame::eax
uint32_t eax
Definition:
tss.h:97
i386_frame::ss
uint32_t ss
Definition:
tss.h:89
tssStruct::esp1
long esp1
Definition:
tss.h:40
uint32_t
__uint32_t uint32_t
Definition:
types.h:46
i386_frame::ebp
uint32_t ebp
Definition:
tss.h:92
tssStruct
Definition:
tss.h:34
tssStruct::es
short es
Definition:
tss.h:54
i386_frame::flags
uint32_t flags
Definition:
tss.h:104
i387Struct::fcs
long fcs
Definition:
tss.h:78
tssStruct::cs_reserved
short cs_reserved
Definition:
tss.h:57
tssStruct::cs
short cs
Definition:
tss.h:56
tssStruct::es_reserved
short es_reserved
Definition:
tss.h:55
tssStruct::fs
short fs
Definition:
tss.h:62
tssStruct::edi
long edi
Definition:
tss.h:53
tssStruct::ecx
long ecx
Definition:
tss.h:49
tssStruct::io_map
short io_map
Definition:
tss.h:69
tssStruct::ebp
long ebp
Definition:
tss.h:51
i386_frame::edx
uint32_t edx
Definition:
tss.h:95
tssStruct::ss1_reserved
short ss1_reserved
Definition:
tss.h:42
tssStruct::esi
long esi
Definition:
tss.h:52
tssStruct::io_space
char io_space[8192]
Definition:
tss.h:70
i387Struct::fos
long fos
Definition:
tss.h:80
tssStruct::trace_bitmap
short trace_bitmap
Definition:
tss.h:68
i386_frame::gs
uint32_t gs
Definition:
tss.h:85
tssStruct::ss2_reserved
short ss2_reserved
Definition:
tss.h:45
tssStruct::cr3
long cr3
Definition:
tss.h:46
tssStruct::esp2
long esp2
Definition:
tss.h:43
i386_frame::ecx
uint32_t ecx
Definition:
tss.h:96
tssStruct::gs
short gs
Definition:
tss.h:64
tssStruct::eax
long eax
Definition:
tss.h:49
i387Struct::st_space
long st_space[20]
Definition:
tss.h:81
i386_frame::edi
uint32_t edi
Definition:
tss.h:90
C:
Dev
git
UbixOS
sys
include
sys
tss.h
Generated by
1.8.16