Use a fake exception to exit early in case of memory breakpoints.

Change TMemCheck::Action to return whether to break rather than calling
PPCDebugInterface::BreakNow, as this simplified the implementation; then
remove said method, as that was its only caller.  One "interface" method
down, many to go...
This commit is contained in:
comex
2015-04-23 01:22:35 -04:00
parent dd7ab4812b
commit 2264e7b087
9 changed files with 42 additions and 14 deletions

View File

@ -375,6 +375,12 @@ void CheckExceptions()
INFO_LOG(POWERPC, "EXCEPTION_FPU_UNAVAILABLE");
ppcState.Exceptions &= ~EXCEPTION_FPU_UNAVAILABLE;
}
#ifdef ENABLE_MEM_CHECK
else if (exceptions & EXCEPTION_FAKE_MEMCHECK_HIT)
{
ppcState.Exceptions &= ~EXCEPTION_DSI & ~EXCEPTION_FAKE_MEMCHECK_HIT;
}
#endif
else if (exceptions & EXCEPTION_DSI)
{
SRR0 = PC;