rpcs3/rpcs3/util
Daniel Risto f42b09d1fc Fix SPRX Loader segfault on Apple ARM64 by excluding MAP_JIT from memory mapping regions
On Apple ARM64, memory_reserve unconditionally applies MAP_JIT to all
reservations. However, regions marked as is_memory_mapping are later
replaced by file-backed MAP_FIXED mappings via shm::map/map_critical.
Overlaying a file-backed MAP_FIXED mapping onto a MAP_JIT region causes
the resulting pages to be inaccessible, leading to a segfault when the
SPRX Loader attempts to write module data into PS3 memory (g_sudo_addr).

Fix: Only apply MAP_JIT for non-mapping regions. Memory mapping regions
don't need JIT capability since they use shared memory for the PS3
address space, not executable JIT code.

Tested on Apple M3 Max, macOS 26.3.1. The SPRX Loader now successfully
loads all modules and emulation proceeds past the loading stage.
2026-04-05 14:47:24 +03:00
..
asm.hpp ARM: Use ISB instead of yield in place of x86 pause 2026-02-06 07:54:44 +02:00
atomic.cpp rpcs3: Add missing #include <climits>, fix gcc-16 compilation 2026-03-22 16:40:20 +01:00
atomic.hpp Ignore gcc strict aliasing warnings on __sync_lock_test_and_set 2026-02-14 16:56:38 +02:00
auto_typemap.hpp
bless.hpp
console.cpp
console.h
coro.hpp
cpu_stats.cpp
cpu_stats.hpp
dyn_lib.cpp
dyn_lib.hpp
emu_utils.cpp
endian.hpp
fence.hpp
fifo_mutex.hpp
fixed_typemap.hpp
fnv_hash.hpp
init_mutex.hpp
logs.cpp Qt: add log level settings 2026-03-06 15:06:25 +01:00
logs.hpp Qt: add log level settings 2026-03-06 15:06:25 +01:00
media_utils.cpp Switch from FFmpeg av_opt_set_* to swr_alloc_set_opts2 (#18138) 2026-02-03 08:00:48 +01:00
media_utils.h
pair.hpp
serialization_ext.cpp
serialization_ext.hpp
serialization.hpp
shared_ptr.hpp
simd.hpp
slow_mutex.hpp
sysinfo.cpp sysinfo: Implement RAM Usage stats for Linux (#18473) 2026-03-29 19:48:59 +03:00
sysinfo.hpp RPCS3: Notify RAM shortage, Log current and peak RAM usage 2026-03-27 20:20:29 +03:00
to_endian.hpp
tsc.hpp
tuple.hpp
typeindices.hpp
types.hpp types.hpp: #include <new> 2026-02-20 19:46:39 +02:00
v128.hpp
video_provider.cpp
video_provider.h
video_sink.h
video_source.h Qt: play SND0.AT3 in game lists when a movie would play 2026-03-10 12:42:56 +01:00
vm_native.cpp Fix SPRX Loader segfault on Apple ARM64 by excluding MAP_JIT from memory mapping regions 2026-04-05 14:47:24 +03:00
vm.hpp
yaml.cpp
yaml.hpp