Permalink
Browse files

Interpreter_SystemRegisters: Change PanicAlert to INFO_LOG in mtspr()

As peculiar as this may be, decrementer exceptions by means of setting
the decrementer's zeroth bit from 0 to 1 is valid behavior by software
(and is defined in Programming Environments for 32-bit Microprocessors
in section 2.3.14.1 -- Decrementer operation). Given it's valid behavior,
it doesn't necessarily make sense to use a panic alert and halt, as this
isn't a condition where everything should be considered in a critical
state.

Instead, change it to an info log, so we still make note of it, but
without potentially tearing down state or halting emulation.
  • Loading branch information...
lioncash committed Jun 7, 2018
1 parent b51fbaa commit 5db21375389130dc58623f5e9b7edb07b2691280
Showing with 1 addition and 1 deletion.
  1. +1 −1 Source/Core/Core/PowerPC/Interpreter/Interpreter_SystemRegisters.cpp
@@ -405,7 +405,7 @@ void Interpreter::mtspr(UGeckoInstruction inst)
case SPR_DEC:
if (!(old_value >> 31) && (rGPR[inst.RD] >> 31)) // top bit from 0 to 1
{
PanicAlert("Interesting - Software triggered Decrementer exception");
INFO_LOG(POWERPC, "Software triggered Decrementer exception");
PowerPC::ppcState.Exceptions |= EXCEPTION_DECREMENTER;
}
SystemTimers::DecrementerSet();

0 comments on commit 5db2137

Please sign in to comment.