dolphin/Source/Core/Core/Boot
JosJuice 8749855643 Call JitInterface::UpdateMembase from PowerPC::MSRUpdated
When the interpreter calls MSRUpdated, we should update the membase
variable. Not because the interpreter itself needs it, but because the
JIT needs it if it's falling back to the interpreter for an instruction
that sets the MSR.

Additionally, the JIT's FallBackToInterpreter needs to read back the new
membase value afterwards.

This fixes games crashing on JitArm64 if mtmsr is set to fall back to
interpreter. I was unable to reproduce the issue on Jit64, presumably
due to a fortunate series of coincidences (instructions that set MSR are
always followed by an exception exit, and
PowerPCManager::CheckExternalExceptions was always calling
JitInterface::UpdateMembase, and Jit64::WriteExceptionExit was always
calling Jit64::EmitUpdateMembase.)
2025-11-02 21:18:07 +01:00
..
AncastTypes.h Support for loading Ancast images 2022-10-22 13:35:49 +02:00
Boot_BS2Emu.cpp Call JitInterface::UpdateMembase from PowerPC::MSRUpdated 2025-11-02 21:18:07 +01:00
Boot_WiiWAD.cpp Core: Move Emulation IOS instance to System. 2024-02-07 22:07:30 +01:00
Boot.cpp Call JitInterface::UpdateMembase from PowerPC::MSRUpdated 2025-11-02 21:18:07 +01:00
Boot.h Call JitInterface::UpdateMembase from PowerPC::MSRUpdated 2025-11-02 21:18:07 +01:00
DolReader.cpp Core/Boot: Pass around System. 2023-03-08 22:41:43 +01:00
DolReader.h Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests 2025-05-01 15:00:37 +02:00
ElfReader.cpp Core: Store object name separately for symbols 2024-11-11 12:36:53 -05:00
ElfReader.h Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests 2025-05-01 15:00:37 +02:00
ElfTypes.h linter: Apply clang-format 19.1 formatting 2025-04-23 11:19:20 +02:00