diff dyncallback/dyncall_args_mips.h @ 102:b7a9b524f0c3

- mips o32 callbacks, first draft (calls into handler correctly, with correct params, but doesn't return)
author cslag
date Tue, 07 Jun 2016 09:05:34 +0200
parents 3e629dc19168
children dbca6763f2be
line wrap: on
line diff
--- a/dyncallback/dyncall_args_mips.h	Tue Jun 07 07:34:37 2016 +0200
+++ b/dyncallback/dyncall_args_mips.h	Tue Jun 07 09:05:34 2016 +0200
@@ -29,13 +29,20 @@
 
 #include "dyncall_args.h"
 
+#if !defined(DC__ABI_MIPS_O32)
+#  define DCARGS_MIPS_PARAM_REGS 4
+#else
+#  define DCARGS_MIPS_PARAM_REGS 8
+#endif
+
 struct DCArgs
 {
-  int            ireg_data[8];
-  float          freg_data[8];
-  int            ireg_count;
-  int            freg_count;
-  unsigned char* stackptr;
+	/* Don't change order! */
+#if !defined(DC__ABI_MIPS_O32)
+	struct { int i; float f; } reg_data[DCARGS_MIPS_PARAM_REGS];
+	struct { int i; int   f; } reg_count;
+#endif
+	unsigned char* stackptr;
 };
 
 #endif /* DYNCALLBACK_ARGS_MIPS_H */