diff options
| author | Leslie Zhai <zhaixiang@loongson.cn> | 2024-12-05 20:03:06 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-05 20:03:06 +0800 |
| commit | c2d7dc573a2293b3143bf5ec551683198d725c7f (patch) | |
| tree | 91409fa74f55f9eecd0a481a85a00de9f86d8b0f /src | |
| parent | a30433ea120ba502045782296db85bb27f643d6b (diff) | |
| download | box64-c2d7dc573a2293b3143bf5ec551683198d725c7f.tar.gz box64-c2d7dc573a2293b3143bf5ec551683198d725c7f.zip | |
[LA64_DYNAREC] Added HLT opcode (#2112)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/la64/dynarec_la64_00.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/dynarec/la64/dynarec_la64_00.c b/src/dynarec/la64/dynarec_la64_00.c index 67891c7b..22310ce1 100644 --- a/src/dynarec/la64/dynarec_la64_00.c +++ b/src/dynarec/la64/dynarec_la64_00.c @@ -2253,6 +2253,17 @@ uintptr_t dynarec64_00(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni case 0xF0: addr = dynarec64_F0(dyn, addr, ip, ninst, rex, rep, ok, need_epilog); break; + case 0xF4: + INST_NAME("HLT"); + SETFLAGS(X_ALL, SF_SET_NODF); // Hack to set flags in "don't care" state + GETIP(ip); + STORE_XEMU_CALL(); + CALL(native_priv, -1); + LOAD_XEMU_CALL(); + jump_to_epilog(dyn, 0, xRIP, ninst); + *need_epilog = 0; + *ok = 0; + break; case 0xF6: nextop = F8; switch ((nextop >> 3) & 7) { |