diff options
| author | 2014-04-12 01:35:45 -0400 | |
|---|---|---|
| committer | 2014-04-12 01:35:45 -0400 | |
| commit | cd7de52fea8359da3c37f661b0da0c145b9b3f7e (patch) | |
| tree | ad44f55a01779b531140f94a533b6362471b45c4 | |
| parent | added a memory mapped option for HLE (diff) | |
| download | yuzu-cd7de52fea8359da3c37f661b0da0c145b9b3f7e.tar.gz yuzu-cd7de52fea8359da3c37f661b0da0c145b9b3f7e.tar.xz yuzu-cd7de52fea8359da3c37f661b0da0c145b9b3f7e.zip | |
added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector)
| -rw-r--r-- | src/core/arm/interpreter/armemu.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/arm/interpreter/armemu.h b/src/core/arm/interpreter/armemu.h index 7391dea7f..7c118948a 100644 --- a/src/core/arm/interpreter/armemu.h +++ b/src/core/arm/interpreter/armemu.h | |||
| @@ -229,6 +229,17 @@ extern ARMword isize; | |||
| 229 | } \ | 229 | } \ |
| 230 | while (0) | 230 | while (0) |
| 231 | 231 | ||
| 232 | #define SETABORT_SKIPBRANCH(i, m, d) \ | ||
| 233 | do \ | ||
| 234 | { \ | ||
| 235 | int SETABORT_mode = (m); \ | ||
| 236 | \ | ||
| 237 | ARMul_SetSPSR (state, SETABORT_mode, ARMul_GetCPSR (state)); \ | ||
| 238 | ARMul_SetCPSR (state, ((ARMul_GetCPSR (state) & ~(EMODE | TBIT)) \ | ||
| 239 | | (i) | SETABORT_mode)); \ | ||
| 240 | } \ | ||
| 241 | while (0) | ||
| 242 | |||
| 232 | //#ifndef MODE32 | 243 | //#ifndef MODE32 |
| 233 | #define VECTORS 0x20 | 244 | #define VECTORS 0x20 |
| 234 | #define LEGALADDR 0x03ffffff | 245 | #define LEGALADDR 0x03ffffff |