[ARM] Missed flushing our register caches in mtmsr. This would cause a buttload of problems, including the suspected ori being wrong issue. So flush caches and reenable ori.
This commit is contained in:
parent
bafed349e8
commit
db93b516b0
|
@ -123,12 +123,11 @@ void JitArm::mulli(UGeckoInstruction inst)
|
||||||
MUL(RD, RA, rA);
|
MUL(RD, RA, rA);
|
||||||
gpr.Unlock(rA);
|
gpr.Unlock(rA);
|
||||||
}
|
}
|
||||||
// Wrong 04-08-2013. Breaks Wind Waker booting
|
|
||||||
void JitArm::ori(UGeckoInstruction inst)
|
void JitArm::ori(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
INSTRUCTION_START
|
INSTRUCTION_START
|
||||||
JITDISABLE(Integer)
|
JITDISABLE(Integer)
|
||||||
Default(inst); return;
|
|
||||||
|
|
||||||
ARMReg RA = gpr.R(inst.RA);
|
ARMReg RA = gpr.R(inst.RA);
|
||||||
ARMReg RS = gpr.R(inst.RS);
|
ARMReg RS = gpr.R(inst.RS);
|
||||||
|
@ -283,7 +282,7 @@ void JitArm::cmpli(UGeckoInstruction inst)
|
||||||
gpr.Unlock(rA);
|
gpr.Unlock(rA);
|
||||||
|
|
||||||
}
|
}
|
||||||
// Wrong - 27/10/2012
|
|
||||||
void JitArm::negx(UGeckoInstruction inst)
|
void JitArm::negx(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
INSTRUCTION_START
|
INSTRUCTION_START
|
||||||
|
|
|
@ -105,6 +105,10 @@ void JitArm::mtmsr(UGeckoInstruction inst)
|
||||||
//JITDISABLE(SystemRegisters)
|
//JITDISABLE(SystemRegisters)
|
||||||
|
|
||||||
STR(gpr.R(inst.RS), R9, PPCSTATE_OFF(msr));
|
STR(gpr.R(inst.RS), R9, PPCSTATE_OFF(msr));
|
||||||
|
|
||||||
|
gpr.Flush();
|
||||||
|
fpr.Flush();
|
||||||
|
|
||||||
WriteExit(js.compilerPC + 4, 0);
|
WriteExit(js.compilerPC + 4, 0);
|
||||||
}
|
}
|
||||||
void JitArm::mfmsr(UGeckoInstruction inst)
|
void JitArm::mfmsr(UGeckoInstruction inst)
|
||||||
|
|
Loading…
Reference in New Issue