mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-03 11:32:43 +01:00
Merge pull request #6604 from lioncash/dcbz_l
Interpreter_LoadStore: Generate a program exception if dcbz_l is executed when HID2[LCE] is zero
This commit is contained in:
commit
0bfeb37a1f
@ -30,6 +30,11 @@ void GenerateDSIException(u32 address)
|
|||||||
PowerPC::ppcState.Exceptions |= EXCEPTION_DSI;
|
PowerPC::ppcState.Exceptions |= EXCEPTION_DSI;
|
||||||
PowerPC::ppcState.spr[SPR_DAR] = address;
|
PowerPC::ppcState.spr[SPR_DAR] = address;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GenerateProgramException()
|
||||||
|
{
|
||||||
|
PowerPC::ppcState.Exceptions |= EXCEPTION_PROGRAM;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 Interpreter::Helper_Get_EA(const UGeckoInstruction inst)
|
u32 Interpreter::Helper_Get_EA(const UGeckoInstruction inst)
|
||||||
@ -526,6 +531,12 @@ void Interpreter::dcbz(UGeckoInstruction inst)
|
|||||||
|
|
||||||
void Interpreter::dcbz_l(UGeckoInstruction inst)
|
void Interpreter::dcbz_l(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
|
if (!HID2.LCE)
|
||||||
|
{
|
||||||
|
GenerateProgramException();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const u32 address = Helper_Get_EA_X(inst);
|
const u32 address = Helper_Get_EA_X(inst);
|
||||||
|
|
||||||
if (!HID0.DCE)
|
if (!HID0.DCE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user