From 5fb1ee033e630d875e0bc2f46f008caba002150f Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 26 Mar 2025 18:14:23 +0100 Subject: [COSIM] Changed how F0 LOCK opcodes are skipped in COSIM --- src/emu/x64test.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/emu') diff --git a/src/emu/x64test.c b/src/emu/x64test.c index fc468ee0..84f2e503 100644 --- a/src/emu/x64test.c +++ b/src/emu/x64test.c @@ -46,6 +46,11 @@ void x64test_check(x64emu_t* ref, uintptr_t ip) int banner = 0; x64test_t* test = &ref->test; x64emu_t* emu = test->emu; + if(((uint8_t*)ref->old_ip)[0]==0xf0) { + // LOCK opcode creates a lot of false positive, so just ignore it + CopyEmu(emu, ref); + return; + } if(memcmp(ref->regs, emu->regs, sizeof(emu->regs))) { static const char* regname[] = {"RAX", "RCX", "RDX", "RBX", "RSP", "RBP", "RSI", "RDI", " R8", " R9", "R10", "R11", "R12", "R13", "R14", "R15"}; -- cgit 1.4.1