dolphin/Source/Core/Core
JosJuice 7cecb28bdf DolphinQt: Properly lock CPU before accessing emulated memory
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.

To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
2023-02-12 11:27:50 +01:00
..
Boot DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
Config Merge pull request #11205 from TellowKrinkle/AutoPresent 2023-01-30 09:01:18 +01:00
ConfigLoaders Use Core timing instead of thread 2023-01-22 14:50:30 +13:00
Debugger DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
DSP DSPTool: Fix missing error when redefining labels 2023-02-04 17:31:06 -08:00
FifoPlayer Suppress memcpy writing to an object with no trivial copy-assignment warnings 2023-02-09 16:23:49 -08:00
HLE DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
HW DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
IOS DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
PowerPC DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
ActionReplay.cpp DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
ActionReplay.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
ARDecrypt.cpp Replace BitUtils with C++20: RotateLeft/RotateRight 2022-12-11 08:59:18 +01:00
ARDecrypt.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BootManager.cpp Netplay: Simplify save data options. 2022-09-20 01:37:32 +02:00
BootManager.h Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
CheatCodes.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CheatGeneration.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
CheatGeneration.h Core/CheatSearch: Implement cheat searching functionality. 2021-09-15 19:05:48 +02:00
CheatSearch.cpp DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
CheatSearch.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
CMakeLists.txt Use Core timing instead of thread 2023-01-22 14:50:30 +13:00
CommonTitles.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ConfigManager.cpp DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
ConfigManager.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
Core.cpp DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
Core.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
CoreTiming.cpp Let VI Skip work if variance > fallback 2023-02-02 20:59:17 -05:00
CoreTiming.h CoreTiming: Avoid ppcState global. 2023-01-27 15:22:45 +01:00
DolphinAnalytics.cpp windows: prefer os version from registry 2023-01-17 01:38:00 -08:00
DolphinAnalytics.h DolphinAnalytics: Remove ICACHE_MATTERS 2023-01-08 00:17:46 -05:00
DSPEmulator.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DSPEmulator.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookConfig.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookManager.cpp Free Look: Add background input setting (disabled by default) 2022-07-13 15:23:00 -07:00
FreeLookManager.h Core / VideoCommon: refactor FreeLookCamera to have the underlying controller handle all the logic (field-of-view, movement, etc) 2021-10-08 18:16:32 -05:00
GeckoCode.cpp DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
GeckoCode.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
GeckoCodeConfig.cpp StripSpaces: only strip spaces 2022-07-25 18:40:12 -07:00
GeckoCodeConfig.h Android: Add Gecko code downloading 2021-09-16 18:48:39 +02:00
Host.h Add Discord presence ioctlv to /dev/dolphin 2022-08-06 07:32:29 +01:00
HotkeyManager.cpp Add hotkeys for incrementing/decrementing selected state slot (like RetroArch) 2022-08-07 12:20:09 -05:00
HotkeyManager.h Add hotkeys for incrementing/decrementing selected state slot (like RetroArch) 2022-08-07 12:20:09 -05:00
LibusbUtils.cpp Log warnings when LibusbUtils::MakeConfigDescriptor fails 2022-06-08 15:29:11 -07:00
LibusbUtils.h Log warnings when LibusbUtils::MakeConfigDescriptor fails 2022-06-08 15:29:11 -07:00
MachineContext.h MachineContext: Fix USE_SIGACTION_ON_APPLE on arm64 2022-12-11 13:36:44 +00:00
MemoryWatcher.cpp DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
MemoryWatcher.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
MemTools.cpp MemTools: Always provide a valid pointer in send_msg for mach_msg_overwrite 2022-06-12 00:19:09 -04:00
MemTools.h UnitTests: Skip PageFaultTest if exception handlers are not supported 2022-05-19 12:26:41 -07:00
Movie.cpp Merge pull request #10839 from CasualPokePlayer/fix_sysconf_settings 2023-01-30 09:50:21 +01:00
Movie.h DolphinQt: Use input override system for TAS input windows 2022-10-03 22:04:09 +02:00
NetPlayClient.cpp Netplay: When connecting, ignore packets from traversal server 2022-12-26 23:35:42 +01:00
NetPlayClient.h Qt/WiimoteControllersWidget: Disable remote Wiimote configuration during netplay. 2022-10-02 23:25:15 +02:00
NetPlayCommon.cpp Core: Add missing header to NetPlayCommon.cpp 2021-12-15 18:57:10 +01:00
NetPlayCommon.h Updated PEER_TIMOUT in NetPlayCommon.h to use chrono literals; Updated NetPlayServer.cpp OnConnect() by putting commonly used code into named functions 2022-08-09 16:26:52 -06:00
NetPlayProto.h Core: Add option to force linear texture filtering. 2022-12-09 02:02:16 +01:00
NetPlayServer.cpp Core: Add option to force linear texture filtering. 2022-12-09 02:02:16 +01:00
NetPlayServer.h NetPlay: Split SyncSaveData() into two parts. 2022-11-06 01:51:01 +01:00
NetworkCaptureLogger.cpp NetworkCaptureLogger: Allow PCAP shared read access on Windows 2022-09-29 23:08:25 +04:00
NetworkCaptureLogger.h NetworkCaptureLogger: Add GameCube BBA support 2022-07-12 13:35:49 +04:00
PatchEngine.cpp DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
PatchEngine.h Core: add ability to apply memory patches during a frame update in the PatchEngine 2022-12-23 03:13:03 -06:00
State.cpp State: Fix shadowing warnings 2023-02-09 16:23:02 -08:00
State.h Core/State: Rewrite threading behavior when multiple Save requests are happening. Should improve responsiveness when eg. mashing a save state button. 2022-10-02 00:00:29 +02:00
SyncIdentifier.h Added type to SyncIndentifierComparison enum in SyncIdentifier.h in an 2022-08-09 16:26:53 -06:00
SysConf.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SysConf.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
System.cpp CoreTiming: Avoid ppcState global. 2023-01-27 15:22:45 +01:00
System.h Core: Add PowerPCState reference to System. 2023-01-27 15:22:44 +01:00
TitleDatabase.cpp StripSpaces: only strip spaces 2022-07-25 18:40:12 -07:00
TitleDatabase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiRoot.cpp Netplay: Simplify save data options. 2022-09-20 01:37:32 +02:00
WiiRoot.h Core/Boot: Add Wii FS sync data (for temp NAND/netplay) to BootSessionData and handle it in the boot and shutdown logic. 2021-11-22 01:33:45 +01:00
WiiUtils.cpp Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
WiiUtils.h WiiUtils: Add function to convert UpdateResult to jint 2022-01-21 17:16:23 -05:00