From 086e12c6caeecfdd0194c0cddc4a9ee98a83a7f1 Mon Sep 17 00:00:00 2001
From: sguo35 <sguo35@gmail.com>
Date: Sat, 9 Jul 2022 23:28:56 -0700
Subject: [PATCH] mac: mmap calls should initialize with r/w page perms

Mac/Arm64 pages should be R/W by default due to 16k page
incompatibility. Without this there will be segfaults due to invalid
permissions.
---
 rpcs3/util/vm_native.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/rpcs3/util/vm_native.cpp b/rpcs3/util/vm_native.cpp
index 0fc1d878e9..1eff83ef77 100644
--- a/rpcs3/util/vm_native.cpp
+++ b/rpcs3/util/vm_native.cpp
@@ -259,7 +259,11 @@ namespace utils
 		}
 
 #ifdef __APPLE__
+#ifdef ARCH_ARM64
+        auto ptr = ::mmap(use_addr, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE | MAP_JIT | c_map_noreserve, -1, 0);
+#else
 		auto ptr = ::mmap(use_addr, size, PROT_NONE, MAP_ANON | MAP_PRIVATE | MAP_JIT | c_map_noreserve, -1, 0);
+#endif
 #else
 		auto ptr = ::mmap(use_addr, size, PROT_NONE, MAP_ANON | MAP_PRIVATE | c_map_noreserve, -1, 0);
 #endif