dolphin/Source/Core/Common
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
..
Config Integrate "Ignore for this session" better with config system 2022-09-24 13:03:45 +02:00
Crypto Replace BitUtils with C++20: RotateLeft/RotateRight 2022-12-11 08:59:18 +01:00
Debug DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
GL VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread. 2023-02-09 13:27:02 +01:00
Logging Use __VA_OPT__(, ) __VA_ARGS__ instead of ##__VA_ARGS__ 2022-08-23 12:09:57 -07:00
Align.h
Analytics.cpp
Analytics.h
AndroidAnalytics.cpp
AndroidAnalytics.h
Arm64Emitter.cpp Arm64Emitter: Fix SHRN/SHRN2 2022-12-10 11:20:23 +01:00
Arm64Emitter.h Replace BitUtils with C++20: Counting Zeroes 2022-12-21 04:17:00 -06:00
ArmCommon.h
ArmCPUDetect.cpp Common: Replace StringBeginsWith/StringEndsWith with std equivalents 2023-01-24 14:58:20 -05:00
ArmFPURoundMode.cpp
Assert.h Use __VA_OPT__(, ) __VA_ARGS__ instead of ##__VA_ARGS__ 2022-08-23 12:09:57 -07:00
BitField.h
BitField.natvis
BitSet.h Common/BitSet: Zero initialize data member 2023-01-25 04:16:30 -05:00
BitUtils.h Replace BitUtils with C++20: Counting Zeroes 2022-12-21 04:17:00 -06:00
BlockingLoop.h
build_info.txt.in MacUpdater: check os version 2022-10-30 12:04:57 -07:00
ChunkFile.h HostFileSystem: Set all NAND folders to be saved in save states when a movie is active 2022-11-10 14:02:29 -05:00
CMakeLists.txt Merge pull request #11544 from jmallach/spng 2023-02-09 14:47:58 +01:00
CodeBlock.h
ColorUtil.cpp
ColorUtil.h
Common.h
CommonFuncs.cpp
CommonFuncs.h
CommonPaths.h CommonPaths: Add Steam-specific user directory 2023-01-31 17:57:09 -05:00
CommonTypes.h New FrameTime/VBlank Analyzer + Graph 2022-12-23 19:52:53 -05:00
CompatPatches.cpp
CPUDetect.h CPUDetect: improve win/arm64 support 2022-07-25 21:21:11 -07:00
DebugInterface.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
DynamicLibrary.cpp
DynamicLibrary.h
ENetUtil.cpp ENetUtil: Add check for valid socket in SendPacket(). 2023-02-10 19:32:40 +01:00
ENetUtil.h ENetUtil: Check return values of ENet functions in SendPacket(). 2022-10-09 02:39:38 +02:00
EnumFormatter.h
EnumMap.h EnumMap: Fix typo 2022-08-28 22:38:35 -07:00
EnumMap.natvis
Event.h
FatFsUtil.cpp Resolve various "no previous declaration" warnings 2023-02-09 16:23:01 -08:00
FatFsUtil.h FatFsUtil: Add ability to provide callbacks for the FatFs code. 2022-09-29 05:16:21 +02:00
FileSearch.cpp get rid of HAS_STD_FILESYSTEM 2023-01-10 05:17:43 -08:00
FileSearch.h
FileUtil.cpp Common: Replace StringBeginsWith/StringEndsWith with std equivalents 2023-01-24 14:58:20 -05:00
FileUtil.h FileUtil: Return success bool from CopyDir 2022-10-31 23:33:02 -07:00
FixedSizeQueue.h
Flag.h
FloatUtils.cpp
FloatUtils.h
FormatUtil.h
FPURoundMode.h
GekkoDisassembler.cpp Gekko constistancy changes. Add context item to codeview to show or copy a load/store target memory address from instructions at or near PC when paused. 2022-03-17 12:53:38 -07:00
GekkoDisassembler.h Gekko constistancy changes. Add context item to codeview to show or copy a load/store target memory address from instructions at or near PC when paused. 2022-03-17 12:53:38 -07:00
GenericCPUDetect.cpp
GenericFPURoundMode.cpp
Hash.cpp Replace BitUtils with C++20: RotateLeft/RotateRight 2022-12-11 08:59:18 +01:00
Hash.h Common/Hash: use zlib-ng for adler32. small cleanups. 2022-08-01 10:07:27 -07:00
HookableEvent.h Better documentation for HookableEvent. 2023-02-09 18:36:20 +13:00
HRWrap.cpp windows: replace comdef dependency with winrt 2023-01-23 06:09:01 -08:00
HRWrap.h windows: buildfix if pch not used 2022-04-12 12:28:57 -07:00
HttpRequest.cpp
HttpRequest.h
Image.cpp Common/Image: Add unit to log message 2022-09-26 15:04:15 -07:00
Image.h replace libpng with libspng 2022-07-25 18:32:16 -07:00
IniFile.cpp StripSpaces: only strip spaces 2022-07-25 18:40:12 -07:00
IniFile.h
Inline.h Change _WIN32 check to a _MSC_VER check in Inline.h 2022-05-02 01:57:36 -05:00
Intrinsics.h
IOFile.cpp NetworkCaptureLogger: Allow PCAP shared read access on Windows 2022-09-29 23:08:25 +04:00
IOFile.h NetworkCaptureLogger: Allow PCAP shared read access on Windows 2022-09-29 23:08:25 +04:00
JitRegister.cpp
JitRegister.h
Lazy.h
LdrWatcher.cpp
LdrWatcher.h
LinearDiskCache.h
make_scmrev.h.js
MathUtil.cpp
MathUtil.h Replace BitUtils with C++20: Counting Zeroes 2022-12-21 04:17:00 -06:00
Matrix.cpp Common/Matrix: Fix Quaternion Norm function. 2022-10-10 21:16:35 -05:00
Matrix.h Common/Matrix: Add equality operators to TVec2/3/4. 2022-09-24 01:38:01 +02:00
MemArena.h
MemArenaAndroid.cpp
MemArenaUnix.cpp
MemArenaWin.cpp
MemoryUtil.cpp MemoryUtil: Remove __builtin_available for macOS 10.14 2022-06-01 22:57:56 -04:00
MemoryUtil.h
MinizipUtil.h ResourcePack: dont scan for individual files 2022-08-06 15:38:46 -07:00
MsgHandler.cpp
MsgHandler.h Common: Add [[nodiscard]] to GetStringT(). 2022-09-23 14:58:18 +02:00
NandPaths.cpp Common: Replace StringBeginsWith/StringEndsWith with std equivalents 2023-01-24 14:58:20 -05:00
NandPaths.h IOS/ES: Add support for V1Ticket 2022-11-17 17:54:06 -05:00
Network.cpp Common/Network: Resolve -Wexpansion-to-defined warning 2023-01-30 14:20:56 -05:00
Network.h BBA/BuiltIn: Add SSDP multicast support 2022-08-24 21:29:57 +04:00
PcapFile.cpp
PcapFile.h
PerformanceCounter.cpp
PerformanceCounter.h
Profiler.cpp Common::Timer: use chrono::steady_clock internally 2022-08-02 22:24:06 -07:00
Profiler.h
QoSSession.cpp
QoSSession.h
Random.cpp
Random.h
Result.h
scmrev.h.in
SCMRevGen.vcxproj msbuild: simplify lang/scm projects a bit 2022-04-27 15:06:04 -07:00
ScopeGuard.h
SDCardUtil.cpp
SDCardUtil.h
Semaphore.h
SettingsHandler.cpp
SettingsHandler.h
SFMLHelper.cpp
SFMLHelper.h
SocketContext.cpp
SocketContext.h
SPSCQueue.h
StringLiteral.h Apply suggestions from code review 2023-02-09 18:36:20 +13:00
StringUtil.cpp StringUtil: Make StringUTF8CodePointCount take string_view 2023-01-24 16:55:43 -05:00
StringUtil.h StringUtil: Make StringUTF8CodePointCount take string_view 2023-01-24 16:55:43 -05:00
Swap.h
SymbolDB.cpp
SymbolDB.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
Thread.cpp
Thread.h
Timer.cpp add TODO for chrono in GetLocalTimeSinceJan1970 2022-08-06 22:25:30 -07:00
Timer.h Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
TraversalClient.cpp
TraversalClient.h
TraversalProto.h
TraversalServer.cpp
TypeUtils.h
UPnP.cpp
UPnP.h
VariantUtil.h
Version.cpp
Version.h
WindowsRegistry.cpp windows: prefer os version from registry 2023-01-17 01:38:00 -08:00
WindowsRegistry.h CMake/MSVC: Fix PCH disabled build 2023-01-31 23:21:07 +13:00
WindowSystemInfo.h
WorkQueueThread.h Optimise cond_var predicate order 2023-02-05 17:20:00 +13:00
x64ABI.cpp
x64ABI.h
x64CPUDetect.cpp CMake/MSVC: Fix PCH disabled build 2023-01-31 23:21:07 +13:00
x64Emitter.cpp
x64Emitter.h HW: Pass System to MMIO handlers. 2022-11-23 05:52:21 +01:00
x64FPURoundMode.cpp
x64Reg.h