Skip to content
Permalink
Browse files
Merge pull request #6604 from lioncash/dcbz_l
Interpreter_LoadStore: Generate a program exception if dcbz_l is executed when HID2[LCE] is zero
  • Loading branch information
degasus committed Apr 9, 2018
2 parents 0e1ca1e + 181539e commit 0bfeb37
Showing 1 changed file with 11 additions and 0 deletions.
@@ -30,6 +30,11 @@ void GenerateDSIException(u32 address)
PowerPC::ppcState.Exceptions |= EXCEPTION_DSI;
PowerPC::ppcState.spr[SPR_DAR] = address;
}

void GenerateProgramException()
{
PowerPC::ppcState.Exceptions |= EXCEPTION_PROGRAM;
}
}

u32 Interpreter::Helper_Get_EA(const UGeckoInstruction inst)
@@ -526,6 +531,12 @@ void Interpreter::dcbz(UGeckoInstruction inst)

void Interpreter::dcbz_l(UGeckoInstruction inst)
{
if (!HID2.LCE)
{
GenerateProgramException();
return;
}

const u32 address = Helper_Get_EA_X(inst);

if (!HID0.DCE)

0 comments on commit 0bfeb37

Please sign in to comment.