mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
Jit64: Use 5 byte jump in mtmsr for the CP interrupt check.
WriteExternalExceptionExit() can write more than the maximum offset of the small jump.
This commit is contained in:
@ -460,7 +460,7 @@ void Jit64::mtmsr(UGeckoInstruction inst)
|
|||||||
auto& system = Core::System::GetInstance();
|
auto& system = Core::System::GetInstance();
|
||||||
MOV(64, R(RSCRATCH), ImmPtr(&system.GetProcessorInterface().m_interrupt_cause));
|
MOV(64, R(RSCRATCH), ImmPtr(&system.GetProcessorInterface().m_interrupt_cause));
|
||||||
TEST(32, MatR(RSCRATCH), Imm32(ProcessorInterface::INT_CAUSE_CP));
|
TEST(32, MatR(RSCRATCH), Imm32(ProcessorInterface::INT_CAUSE_CP));
|
||||||
FixupBranch cpInt = J_CC(CC_NZ);
|
FixupBranch cpInt = J_CC(CC_NZ, true);
|
||||||
|
|
||||||
MOV(32, PPCSTATE(pc), Imm32(js.compilerPC + 4));
|
MOV(32, PPCSTATE(pc), Imm32(js.compilerPC + 4));
|
||||||
WriteExternalExceptionExit();
|
WriteExternalExceptionExit();
|
||||||
|
Reference in New Issue
Block a user