#include <glib.h>
#ifdef __mono_ppc64__
-#define MONO_ARCH_CPU_SPEC ppc64_cpu_desc
+#define MONO_ARCH_CPU_SPEC mono_ppc64_cpu_desc
#else
-#define MONO_ARCH_CPU_SPEC ppcg4
+#define MONO_ARCH_CPU_SPEC mono_ppcg4
#endif
#define MONO_MAX_IREGS 32
/* Linux */
#ifdef __mono_ppc64__
#define PPC_RET_ADDR_OFFSET 16
-#define PPC_STACK_PARAM_OFFSET 48
-#define PPC_MINIMAL_STACK_SIZE 48
+ // Power LE abvi2
+ #if (_CALL_ELF == 2)
+ #define PPC_STACK_PARAM_OFFSET 32
+ #define PPC_MINIMAL_STACK_SIZE 32
+ #else
+ #define PPC_STACK_PARAM_OFFSET 48
+ #define PPC_MINIMAL_STACK_SIZE 48
+ #endif
+#define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK 1
#define PPC_MINIMAL_PARAM_AREA_SIZE 64
#define PPC_LAST_FPARG_REG ppc_f13
#define PPC_PASS_STRUCTS_BY_VALUE 1
#define PPC_THREAD_PTR_REG ppc_r13
+#define MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX 1
#else
#define PPC_RET_ADDR_OFFSET 4
#define PPC_STACK_PARAM_OFFSET 8
#define MONO_ARCH_SIGNAL_STACK_SIZE (12 * 1024)
#endif /* HAVE_WORKING_SIGALTSTACK */
-#define MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE
#define MONO_ARCH_IMT_REG ppc_r11
#define MONO_ARCH_VTABLE_REG ppc_r11