3
0
Fork 0
forked from suyu/suyu

Merge pull request #8594 from liamwhite/skip-wp

core/arm: skip watchpoint checks when reading instructions
This commit is contained in:
bunnei 2022-07-16 13:28:20 -07:00 committed by GitHub
commit b8813edc51
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 6 deletions

View file

@ -52,7 +52,7 @@ public:
if (!memory.IsValidVirtualAddressRange(vaddr, sizeof(u32))) { if (!memory.IsValidVirtualAddressRange(vaddr, sizeof(u32))) {
return std::nullopt; return std::nullopt;
} }
return MemoryRead32(vaddr); return memory.Read32(vaddr);
} }
void MemoryWrite8(u32 vaddr, u8 value) override { void MemoryWrite8(u32 vaddr, u8 value) override {
@ -97,7 +97,7 @@ public:
parent.LogBacktrace(); parent.LogBacktrace();
LOG_ERROR(Core_ARM, LOG_ERROR(Core_ARM,
"Unimplemented instruction @ 0x{:X} for {} instructions (instr = {:08X})", pc, "Unimplemented instruction @ 0x{:X} for {} instructions (instr = {:08X})", pc,
num_instructions, MemoryRead32(pc)); num_instructions, memory.Read32(pc));
} }
void ExceptionRaised(u32 pc, Dynarmic::A32::Exception exception) override { void ExceptionRaised(u32 pc, Dynarmic::A32::Exception exception) override {
@ -115,7 +115,7 @@ public:
parent.LogBacktrace(); parent.LogBacktrace();
LOG_CRITICAL(Core_ARM, LOG_CRITICAL(Core_ARM,
"ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X}, thumb = {})", "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X}, thumb = {})",
exception, pc, MemoryRead32(pc), parent.IsInThumbMode()); exception, pc, memory.Read32(pc), parent.IsInThumbMode());
} }
} }

View file

@ -56,7 +56,7 @@ public:
if (!memory.IsValidVirtualAddressRange(vaddr, sizeof(u32))) { if (!memory.IsValidVirtualAddressRange(vaddr, sizeof(u32))) {
return std::nullopt; return std::nullopt;
} }
return MemoryRead32(vaddr); return memory.Read32(vaddr);
} }
void MemoryWrite8(u64 vaddr, u8 value) override { void MemoryWrite8(u64 vaddr, u8 value) override {
@ -111,7 +111,7 @@ public:
parent.LogBacktrace(); parent.LogBacktrace();
LOG_ERROR(Core_ARM, LOG_ERROR(Core_ARM,
"Unimplemented instruction @ 0x{:X} for {} instructions (instr = {:08X})", pc, "Unimplemented instruction @ 0x{:X} for {} instructions (instr = {:08X})", pc,
num_instructions, MemoryRead32(pc)); num_instructions, memory.Read32(pc));
} }
void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op, void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op,
@ -156,7 +156,7 @@ public:
parent.LogBacktrace(); parent.LogBacktrace();
LOG_CRITICAL(Core_ARM, "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X})", LOG_CRITICAL(Core_ARM, "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X})",
static_cast<std::size_t>(exception), pc, MemoryRead32(pc)); static_cast<std::size_t>(exception), pc, memory.Read32(pc));
} }
} }