about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-05 20:48:51 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-05 20:48:51 +0200
commitf21afb32771dbe9966966aab59e5f572bb333838 (patch)
tree3a6f531d46b56069f3cd6d869c895bb93117b949 /src
parent7948a2594555e6393d59be4c89f3804c93ac8723 (diff)
downloadbox64-f21afb32771dbe9966966aab59e5f572bb333838.tar.gz
box64-f21afb32771dbe9966966aab59e5f572bb333838.zip
[DYNAREC] Added a faked 0F 01 opcode to avoid break of dynarec block
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_0f.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_0f.c b/src/dynarec/dynarec_arm64_0f.c
index 6b7b964a..3d77c257 100755
--- a/src/dynarec/dynarec_arm64_0f.c
+++ b/src/dynarec/dynarec_arm64_0f.c
@@ -94,6 +94,16 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
 

     switch(opcode) {

 

+        case 0x01:

+            INST_NAME("FAKE xgetbv");

+            nextop = F8;

+            addr = fakeed(dyn, addr, ninst, nextop);

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

+            GETIP(ip);

+            STORE_XEMU_CALL(xRIP);

+            CALL(arm_ud, -1);

+            break;

+

         case 0x05:

             INST_NAME("SYSCALL");

             GETIP(addr);