mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-17 08:11:51 +00:00
4a28319edf
* Implement both RawSPU and threaded SPU page fault recovery * Guard page_fault_notification_entries access with a mutex * Add missing lock in sys_ppu_thread_recover_page_fault/get_page_fault_context * Fix EINVAL check in sys_ppu_thread_recover_page_fault, previously when the event was not found begin() was erased and CELL_OK was returned. * Fixed page fault recovery waiting logic: - Do not rely on a single thread_ctrl notification (unsafe) - Avoided a race where ::awake(ppu) can be called before ::sleep(ppu) therefore nop-ing out the notification * Avoid inconsistencies with vm flags on page fault cause detection * Fix sys_mmapper_enable_page_fault_notification EBUSY check from RE it's allowed to register the same queue twice (on a different area) but not to enable page fault notifications twice |
||
---|---|---|
.. | ||
address_range.h | ||
asm.h | ||
Atomic.h | ||
AtomicPtr.h | ||
BEType.h | ||
bin_patch.cpp | ||
bin_patch.h | ||
bit_set.h | ||
BitField.h | ||
cfmt.h | ||
cond.cpp | ||
cond.h | ||
Config.cpp | ||
Config.h | ||
CPUStats.h | ||
CRC.h | ||
date_time.h | ||
dynamic_library.cpp | ||
dynamic_library.h | ||
event.h | ||
File.cpp | ||
File.h | ||
GDBDebugServer.cpp | ||
GDBDebugServer.h | ||
geometry.h | ||
git-version-gen.cmd | ||
GSL.h | ||
hash.h | ||
Interval.h | ||
JIT.cpp | ||
JIT.h | ||
lockless.h | ||
Log.cpp | ||
Log.h | ||
LUrlParser.cpp | ||
LUrlParser.h | ||
mutex.cpp | ||
mutex.h | ||
rXml.cpp | ||
rXml.h | ||
sema.cpp | ||
sema.h | ||
StrFmt.cpp | ||
StrFmt.h | ||
StrUtil.h | ||
sync.h | ||
sysinfo.cpp | ||
sysinfo.h | ||
Thread.cpp | ||
Thread.h | ||
Timer.h | ||
typemap.h | ||
types.h | ||
version.cpp | ||
version.h | ||
VirtualMemory.cpp | ||
VirtualMemory.h |