dolphin/Source/Core/Core
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
..
Boot Call JitInterface::UpdateMembase from PowerPC::MSRUpdated 2025-11-02 21:18:07 +01:00
Config Merge pull request #13953 from TryTwo/add_osd_tab 2025-10-15 16:35:26 -04:00
ConfigLoaders Core: Add VBI Frequency Override 2025-05-12 18:54:36 +02:00
Debugger MMU: Use templates for Read/Write functions 2025-10-08 11:27:06 +02:00
DSP Jit64: Dynamic length of regular jump instruction (for known addresses) 2025-10-08 00:15:57 +02:00
FifoPlayer Call JitInterface::UpdateMembase from PowerPC::MSRUpdated 2025-11-02 21:18:07 +01:00
HLE HLE_VarArgs: Replace enable_if with concepts. 2025-10-13 23:42:31 -05:00
HW Merge pull request #14035 from Dentomologist/pauseandlock_refactoring 2025-11-01 10:06:08 +01:00
IOS Call JitInterface::UpdateMembase from PowerPC::MSRUpdated 2025-11-02 21:18:07 +01:00
PowerPC Call JitInterface::UpdateMembase from PowerPC::MSRUpdated 2025-11-02 21:18:07 +01:00
AchievementManager.cpp Merge pull request #13712 from SuperSamus/cheat-search-improvements 2025-10-09 13:58:00 -04:00
AchievementManager.h AchievementManager: Fix unused private field warnings 2025-10-29 16:50:00 -07:00
ActionReplay.cpp MMU: Use templates for Read/Write functions 2025-10-08 11:27:06 +02:00
ActionReplay.h PatchEngine: OSD message showing number of enabled patches and cheats 2025-08-30 16:51:51 +02:00
ARDecrypt.cpp Fix various warnings 2025-07-12 12:47:30 +02:00
ARDecrypt.h
BootManager.cpp
BootManager.h
CheatCodes.h
CheatGeneration.cpp
CheatGeneration.h
CheatSearch.cpp CheatSearchWidget: New feature, writing a value to all selected addresses 2025-10-08 11:33:44 +02:00
CheatSearch.h CheatSearchWidget: New feature, writing a value to all selected addresses 2025-10-08 11:33:44 +02:00
CMakeLists.txt Core/HW: Add Broadband Adapter (IPC). 2025-10-28 18:50:59 +00:00
CommonTitles.h
ConfigManager.cpp AdvancedPane: Add a button to restore default settings 2025-10-27 15:59:33 +01:00
ConfigManager.h AdvancedPane: Add a button to restore default settings 2025-10-27 15:59:33 +01:00
Core.cpp Merge pull request #14035 from Dentomologist/pauseandlock_refactoring 2025-11-01 10:06:08 +01:00
Core.h Android: Don't let RetroAchievements override onPause 2025-07-26 19:59:08 +02:00
CoreTiming.cpp CoreTiming: Fix unsafe usage of m_globals.global_timer in ScheduleEvent from non-CPU thread. 2025-06-29 20:55:43 -05:00
CoreTiming.h CoreTiming: set default overclock factors to 1.0 2025-08-30 03:05:35 +01:00
CPUThreadConfigCallback.cpp
CPUThreadConfigCallback.h
DolphinAnalytics.cpp VideoBackend: Rename GetName to GetConfigName 2025-10-13 17:38:20 -07:00
DolphinAnalytics.h DolphinAnalytics: Use Pascal case for GameQuirk enum 2025-08-14 13:54:23 -07:00
DSPEmulator.cpp
DSPEmulator.h DSPEmulator: Remove redundant parameter and code 2025-10-26 18:03:31 -07:00
FreeLookConfig.cpp
FreeLookConfig.h
FreeLookManager.cpp
FreeLookManager.h
GeckoCode.cpp MMU: Use templates for Read/Write functions 2025-10-08 11:27:06 +02:00
GeckoCode.h PatchEngine: OSD message showing number of enabled patches and cheats 2025-08-30 16:51:51 +02:00
GeckoCodeConfig.cpp
GeckoCodeConfig.h
Host.h Host: Remove unnecessary functions 2025-08-03 13:19:30 -07:00
HotkeyManager.cpp HotkeyManager: Add HK_TOGGLE_WII_SPEAK_MUTE 2025-05-07 21:27:50 +04:00
HotkeyManager.h Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&UnitTests 2025-06-07 17:55:14 -05:00
LibusbUtils.cpp LibusbUtils: Change libusb_init failure from an ASSERT_MSG to an ERROR_LOG_FMT. 2025-07-23 21:16:04 -05:00
LibusbUtils.h LibusbUtils: Add GetStringDescriptor function to return unicode strings and replace our libusb_get_string_descriptor_ascii calls. 2025-07-06 19:41:14 -05:00
MachineContext.h
MemoryWatcher.cpp MMU: Use templates for Read/Write functions 2025-10-08 11:27:06 +02:00
MemoryWatcher.h
MemTools.cpp
MemTools.h
Movie.cpp
Movie.h
NetPlayClient.cpp Avoid map/set double lookups 2025-07-08 06:53:42 +02:00
NetPlayClient.h
NetPlayCommon.cpp
NetPlayCommon.h
NetPlayProto.h Core: Add VBI Frequency Override 2025-05-12 18:54:36 +02:00
NetPlayServer.cpp Avoid map/set double lookups 2025-07-08 06:53:42 +02:00
NetPlayServer.h
NetworkCaptureLogger.cpp fmt: Replace deprecated fmt::localtime usage with Common::LocalTime 2025-06-04 13:32:12 +02:00
NetworkCaptureLogger.h
PatchEngine.cpp MMU: Use templates for Read/Write functions 2025-10-08 11:27:06 +02:00
PatchEngine.h
State.cpp Host: Remove unnecessary function 2025-08-03 13:12:01 -07:00
State.h Fix various warnings 2025-07-12 12:47:30 +02:00
SyncIdentifier.h
SysConf.cpp
SysConf.h
System.cpp Core: add CustomResourceManager to System 2025-06-06 23:03:02 -05:00
System.h Core: add CustomResourceManager to System 2025-06-06 23:03:02 -05:00
TimePlayed.cpp
TimePlayed.h
TitleDatabase.cpp
TitleDatabase.h
USBUtils.cpp USBUtils: Refactor USB device handling 2025-07-23 03:26:25 +02:00
USBUtils.h USBUtils: Refactor USB device handling 2025-07-23 03:26:25 +02:00
WC24PatchEngine.cpp
WC24PatchEngine.h
WiiRoot.cpp
WiiRoot.h
WiiUtils.cpp Source: Remove redundant lambda parameter lists 2025-06-14 10:19:31 +02:00
WiiUtils.h