fix x86 build
[pcsx_rearmed.git] / frontend / libretro.c
index acc64a1..940ff05 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include <strings.h>
+#ifdef __MACH__
+#include <unistd.h>
+#include <sys/syscall.h>
+#endif
 
 #include "../libpcsxcore/misc.h"
 #include "../libpcsxcore/psxcounters.h"
@@ -25,6 +29,7 @@
 #include "main.h"
 #include "plugin.h"
 #include "plugin_lib.h"
+#include "arm_features.h"
 #include "revision.h"
 #include "libretro.h"
 
@@ -1201,6 +1206,11 @@ void retro_init(void)
        int i, ret;
        bool found_bios = false;
 
+#ifdef __MACH__
+       // magic sauce to make the dynarec work on iOS
+       syscall(SYS_ptrace, 0 /*PTRACE_TRACEME*/, 0, 0, 0);
+#endif
+
        ret = emu_core_preinit();
        ret |= emu_core_init();
        if (ret != 0) {
@@ -1249,9 +1259,8 @@ void retro_init(void)
        /* Set how much slower PSX CPU runs * 100 (so that 200 is 2 times)
         * we have to do this because cache misses and some IO penalties
         * are not emulated. Warning: changing this may break compatibility. */
-#if !defined(__arm__) || defined(__ARM_ARCH_7A__)
        cycle_multiplier = 175;
-#else
+#ifdef HAVE_PRE_ARMV7
        cycle_multiplier = 200;
 #endif
        pl_rearmed_cbs.gpu_peops.iUseDither = 1;