fix: corner case for x87 context restore on execve
[lunaix-os.git] / lunaix-os / includes / arch / x86 / tss.h
index d8256f7b721cbee5a2885001e80cf5a9e8780794..931ff26a02738854b79dc90c15723dad18cb46e0 100644 (file)
@@ -1,14 +1,20 @@
 #ifndef __LUNAIX_TSS_H
 #define __LUNAIX_TSS_H
-#include <stdint.h>
 
-struct x86_tss {
-    uint32_t link;
-    uint32_t esp0;
-    uint16_t ss0;
-    uint8_t __padding[94];
+#define tss_esp0_off 4
+
+#ifndef __ASM__
+#include <lunaix/types.h>
+struct x86_tss
+{
+    u32_t link;
+    u32_t esp0;
+    u16_t ss0;
+    u8_t __padding[94];
 } __attribute__((packed));
 
-void tss_update_esp(uint32_t esp0);
+void
+tss_update_esp(u32_t esp0);
+#endif
+
 #endif /* __LUNAIX_TSS_H */