about summary refs log tree commit diff stats
path: root/src/emu/x64emu_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/x64emu_private.h')
-rw-r--r--src/emu/x64emu_private.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/emu/x64emu_private.h b/src/emu/x64emu_private.h
index bef4a9a4..35bfd97e 100644
--- a/src/emu/x64emu_private.h
+++ b/src/emu/x64emu_private.h
@@ -5,6 +5,9 @@
 
 typedef struct box64context_s box64context_t;
 typedef struct x64_ucontext_s x64_ucontext_t;
+#ifdef BOX32
+typedef struct i386_ucontext_s i386_ucontext_t;
+#endif
 
 #define ERR_UNIMPL  1
 #define ERR_DIVBY0  2
@@ -116,6 +119,7 @@ typedef struct x64emu_s {
     uintptr_t   prev2_ip;
     #endif
     // scratch stack, used for alignment of double and 64bits ints on arm. 200 elements should be enough
+    __int128_t  dummy_align;    // here to have scratch 128bits aligned
     uint64_t    scratch[200];
     // local stack, do be deleted when emu is freed
     void*       stack2free; // this is the stack to free (can be NULL)
@@ -126,7 +130,7 @@ typedef struct x64emu_s {
     uintptr_t   old_savedsp;
     #endif
 
-    x64_ucontext_t *uc_link; // to handle setcontext
+    void*       uc_link; // to handle setcontext (can be x64_ucontext_t or a i386_ucontext_t)
 
     int         type;       // EMUTYPE_xxx define
 } x64emu_t;