Sorting source tree a bit
[tpg/acess2.git] / KernelLand / Kernel / arch / x86_64 / include / desctab.h
diff --git a/KernelLand/Kernel/arch/x86_64/include/desctab.h b/KernelLand/Kernel/arch/x86_64/include/desctab.h
new file mode 100644 (file)
index 0000000..de3996c
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ */
+#ifndef _DESCTAB_H_
+#define _DESCTAB_H_
+
+typedef struct {
+       union
+       {
+               struct
+               {
+                       Uint16  LimitLow;
+                       Uint16  BaseLow;
+                       Uint8   BaseMid;
+                       Uint8   Access;
+                       struct {
+                               unsigned LimitHi:       4;
+                               unsigned Flags:         4;
+                       } __attribute__ ((packed));
+                       Uint8   BaseHi;
+               };
+               Uint32  DWord[2];
+       };
+} __attribute__ ((packed)) tGDT;
+
+typedef struct {
+       Uint16  OffsetLo;
+       Uint16  CS;
+       Uint16  Flags;  // 0-2: IST, 3-7: 0, 8-11: Type, 12: 0, 13-14: DPL, 15: Present
+       Uint16  OffsetMid;
+       Uint32  OffsetHi;
+       Uint32  Reserved;
+} __attribute__ ((packed)) tIDT;
+
+typedef struct {
+       Uint32  Rsvd1;
+       
+       Uint64  RSP0;
+       Uint64  RSP1;
+       Uint64  RSP2;
+       
+       Uint32  Rsvd2[2];
+       
+       // Interrupt Stack Table Pointers
+       Uint64  IST1;
+       Uint64  IST2;
+       Uint64  IST3;
+       Uint64  IST4;
+       Uint64  IST5;
+       Uint64  IST6;
+       Uint64  IST7;
+       
+       Uint32  Rsvd3[2];
+       Uint16  Rsvd4;
+       Uint16  IOMapBase;
+} __attribute__ ((packed)) tTSS;
+
+#endif

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