diff options
| author | crueter <crueter@eden-emu.dev> | 2026-03-10 05:36:12 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-03-10 05:36:12 +0100 |
| commit | 07e3a2aa46d1b8e9e28fdc3b306d1628e5c92f3e (patch) | |
| tree | bb91d813d2a7cac668db45a96ee89b8a77ff283a /src/common | |
| parent | a1b50e9339fc4ad003ea55de6fdaabf92a12e163 (diff) | |
[settings] Disable fastmem on Linux systems with non-4kb page sizes (#3669)
Asahi, etc
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3669
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/settings.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/common/settings.cpp b/src/common/settings.cpp index c952567e63..4197c99663 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -27,6 +27,10 @@ #include "common/settings.h" #include "common/time_zone.h" +#if defined(__linux__ ) && defined(ARCHITECTURE_arm64) +#include <unistd.h> +#endif + namespace Settings { // Clang 14 and earlier have errors when explicitly instantiating these classes @@ -178,7 +182,11 @@ bool IsFastmemEnabled() { return bool(values.cpuopt_fastmem); else if (values.cpu_accuracy.GetValue() == CpuAccuracy::Unsafe) return bool(values.cpuopt_unsafe_host_mmu); -#if !defined(__APPLE__) && !defined(__linux__) && !defined(__ANDROID__) && !defined(_WIN32) +#if defined(__linux__) && defined(ARCHITECTURE_arm64) + // Only 4kb systems support host MMU right now + // TODO: Support this + return getpagesize() == 4096; +#elif !defined(__APPLE__) && !defined(__ANDROID__) && !defined(_WIN32) && !defined(__linux__) return false; #else return true; |
