summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2022-11-06 22:45:36 +0100
committerLiam <byteslice@airmail.cc>2022-11-09 22:58:49 +0100
commitcbaf642ffe4b05f8796798ebdc5c6892605928cc (patch)
tree8ac4094f709da71b334c152e111247c89c958cee /src/common
parentMerge pull request #9215 from liamwhite/swordfight (diff)
downloadyuzu-cbaf642ffe4b05f8796798ebdc5c6892605928cc.tar
yuzu-cbaf642ffe4b05f8796798ebdc5c6892605928cc.tar.gz
yuzu-cbaf642ffe4b05f8796798ebdc5c6892605928cc.tar.bz2
yuzu-cbaf642ffe4b05f8796798ebdc5c6892605928cc.tar.lz
yuzu-cbaf642ffe4b05f8796798ebdc5c6892605928cc.tar.xz
yuzu-cbaf642ffe4b05f8796798ebdc5c6892605928cc.tar.zst
yuzu-cbaf642ffe4b05f8796798ebdc5c6892605928cc.zip
Diffstat (limited to 'src/common')
-rw-r--r--src/common/common_funcs.h4
-rw-r--r--src/common/host_memory.cpp6
2 files changed, 9 insertions, 1 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h
index e1e2a90fc..0dad9338a 100644
--- a/src/common/common_funcs.h
+++ b/src/common/common_funcs.h
@@ -31,8 +31,10 @@
#ifndef _MSC_VER
-#ifdef ARCHITECTURE_x86_64
+#if defined(ARCHITECTURE_x86_64)
#define Crash() __asm__ __volatile__("int $3")
+#elif defined(ARCHITECTURE_arm64)
+#define Crash() __asm__ __volatile__("brk #0")
#else
#define Crash() exit(1)
#endif
diff --git a/src/common/host_memory.cpp b/src/common/host_memory.cpp
index 7f9659612..909f6cf3f 100644
--- a/src/common/host_memory.cpp
+++ b/src/common/host_memory.cpp
@@ -359,6 +359,12 @@ public:
}
});
+ long page_size = sysconf(_SC_PAGESIZE);
+ if (page_size != 0x1000) {
+ LOG_CRITICAL(HW_Memory, "page size {:#x} is incompatible with 4K paging", page_size);
+ throw std::bad_alloc{};
+ }
+
// Backing memory initialization
#if defined(__FreeBSD__) && __FreeBSD__ < 13
// XXX Drop after FreeBSD 12.* reaches EOL on 2024-06-30