about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-07-16 21:35:34 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-07-16 21:35:34 +0200
commitfda8b9606310d5bb0e68b3d32859346de243d86d (patch)
treed900daa5543a9c7726850c0927905e2e54272292
parentbb8e11e08dae70f7f963a0096de537dae52e9f24 (diff)
downloadbox64-fda8b9606310d5bb0e68b3d32859346de243d86d.tar.gz
box64-fda8b9606310d5bb0e68b3d32859346de243d86d.zip
[DYNAREC] Fixed 0F 09 Opcode
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_0f.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c
index 2146f673..eb1ac7f0 100755
--- a/src/dynarec/arm64/dynarec_arm64_0f.c
+++ b/src/dynarec/arm64/dynarec_arm64_0f.c
@@ -122,6 +122,14 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
 

         case 0x09:

             INST_NAME("WBINVD");

+            SETFLAGS(X_ALL, SF_SET);    // Hack to set flags in "don't care" state

+            GETIP(ip);

+            STORE_XEMU_CALL(xRIP);

+            CALL(arm_ud, -1);

+            LOAD_XEMU_CALL(xRIP);

+            jump_to_epilog(dyn, 0, xRIP, ninst);

+            *need_epilog = 0;

+            *ok = 0;

             break;

 

         case 0x0B: