فهرست منبع

added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector)

bunnei 12 سال پیش
والد
کامیت
cd7de52fea
1فایلهای تغییر یافته به همراه11 افزوده شده و 0 حذف شده
  1. 11 0
      src/core/arm/interpreter/armemu.h

+ 11 - 0
src/core/arm/interpreter/armemu.h

@@ -229,6 +229,17 @@ extern ARMword isize;
     }									\
   while (0)
 
+#define SETABORT_SKIPBRANCH(i, m, d)						\
+  do									\
+    { 									\
+      int SETABORT_mode = (m);						\
+									\
+      ARMul_SetSPSR (state, SETABORT_mode, ARMul_GetCPSR (state));	\
+      ARMul_SetCPSR (state, ((ARMul_GetCPSR (state) & ~(EMODE | TBIT))	\
+			     | (i) | SETABORT_mode));			\
+    }									\
+  while (0)
+
 //#ifndef MODE32
 #define VECTORS 0x20
 #define LEGALADDR 0x03ffffff