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 Fix possible ambiguity of utils::bless (#17757) 2025-11-27 02:50:45 +02:00
console.cpp Win32: Fix deadlock on std::cerr usage 2024-05-04 14:15:51 +03:00
console.h Win32: Fix deadlock on std::cerr usage 2024-05-04 14:15:51 +03:00
coro.hpp
cpu_stats.cpp Fix some static analysis warnings, including c-style cast 2025-06-01 22:07:03 +02:00
cpu_stats.hpp
dyn_lib.cpp Use Microsoft::WRL::ComPtr (#16744) 2025-02-23 15:39:39 +02:00
dyn_lib.hpp Use Microsoft::WRL::ComPtr (#16744) 2025-02-23 15:39:39 +02:00
emu_utils.cpp Move debugger functions to emu_utils.cpp 2025-02-25 19:45:43 +01:00
endian.hpp use concepts instead of std::enable_if 2025-02-26 11:04:02 +02:00
fence.hpp
fifo_mutex.hpp
fixed_typemap.hpp static analysis: more const 2025-03-05 00:12:30 +01:00
fnv_hash.hpp use concepts instead of std::enable_if 2025-02-26 11:04:02 +02:00
init_mutex.hpp init_mutex.hpp: More fixes 2024-03-06 20:32:22 +02:00
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 Headers cleanup 2025-02-11 20:38:35 +01:00
pair.hpp rsx: add simple pair and tuple types 2025-11-15 17:40:49 +02:00
serialization_ext.cpp ZSTD: Fixup threads terminations 2025-11-10 21:16:31 +02:00
serialization_ext.hpp ZSTD: Fixup threads terminations 2025-11-10 21:16:31 +02:00
serialization.hpp PPU Analyzer: Firmware/import caller analysis and KLIC finding pass 2025-02-27 12:32:21 +02:00
shared_ptr.hpp clang-cl: fix a bunch of warnings 2025-07-02 22:19:31 +02:00
simd.hpp asm.hpp: replace custom functions with C++20 functions 2025-11-16 20:05:00 +02:00
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 use concepts instead of std::enable_if 2025-02-26 11:04:02 +02:00
tsc.hpp
tuple.hpp rsx: add simple pair and tuple types 2025-11-15 17:40:49 +02:00
typeindices.hpp Headers cleanup 2025-02-11 20:38:35 +01:00
types.hpp types.hpp: #include <new> 2026-02-20 19:46:39 +02:00
v128.hpp
video_provider.cpp Use move semantics for present_frame 2025-10-28 22:04:01 +01:00
video_provider.h Use move semantics for present_frame 2025-10-28 22:04:01 +01:00
video_sink.h Cleanup and set -Werror=delete-non-virtual-dtor 2024-03-11 02:30:18 +02:00
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 vm: removed c_page_size, it cannot be used by globals 2025-03-10 21:09:27 +01:00
yaml.cpp Qt/patches: uze const ref for YAML::Node params 2024-08-14 20:21:55 +02:00
yaml.hpp Qt/patches: uze const ref for YAML::Node params 2024-08-14 20:21:55 +02:00