[settings] Disable fastmem on Linux systems with non-4kb page sizes

Asahi, etc

Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2026-03-03 14:28:45 -05:00
parent 9d2341eaea
commit b208c9cf4f
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6

View file

@ -27,6 +27,10 @@
#include "common/settings.h"
#include "common/time_zone.h"
#ifdef __linux__
#include <unistd.h>
#endif
namespace Settings {
// Clang 14 and earlier have errors when explicitly instantiating these classes
@ -178,7 +182,10 @@ 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__)
// Only 4kb systems support host MMU right now
return getpagesize() == 4096;
#elif !defined(__APPLE__) && !defined(__ANDROID__) && !defined(_WIN32)
return false;
#else
return true;