Sorting source tree a bit
[tpg/acess2.git] / KernelLand / Kernel / arch / x86_64 / include / desctab.h
1 /**
2  */
3 #ifndef _DESCTAB_H_
4 #define _DESCTAB_H_
5
6 typedef struct {
7         union
8         {
9                 struct
10                 {
11                         Uint16  LimitLow;
12                         Uint16  BaseLow;
13                         Uint8   BaseMid;
14                         Uint8   Access;
15                         struct {
16                                 unsigned LimitHi:       4;
17                                 unsigned Flags:         4;
18                         } __attribute__ ((packed));
19                         Uint8   BaseHi;
20                 };
21                 Uint32  DWord[2];
22         };
23 } __attribute__ ((packed)) tGDT;
24
25 typedef struct {
26         Uint16  OffsetLo;
27         Uint16  CS;
28         Uint16  Flags;  // 0-2: IST, 3-7: 0, 8-11: Type, 12: 0, 13-14: DPL, 15: Present
29         Uint16  OffsetMid;
30         Uint32  OffsetHi;
31         Uint32  Reserved;
32 } __attribute__ ((packed)) tIDT;
33
34 typedef struct {
35         Uint32  Rsvd1;
36         
37         Uint64  RSP0;
38         Uint64  RSP1;
39         Uint64  RSP2;
40         
41         Uint32  Rsvd2[2];
42         
43         // Interrupt Stack Table Pointers
44         Uint64  IST1;
45         Uint64  IST2;
46         Uint64  IST3;
47         Uint64  IST4;
48         Uint64  IST5;
49         Uint64  IST6;
50         Uint64  IST7;
51         
52         Uint32  Rsvd3[2];
53         Uint16  Rsvd4;
54         Uint16  IOMapBase;
55 } __attribute__ ((packed)) tTSS;
56
57 #endif

UCC git Repository :: git.ucc.asn.au