mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-24 06:57:05 +02:00
[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>
This commit is contained in:
parent
a1b50e9339
commit
07e3a2aa46
1 changed files with 9 additions and 1 deletions
|
|
@ -27,6 +27,10 @@
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
#include "common/time_zone.h"
|
#include "common/time_zone.h"
|
||||||
|
|
||||||
|
#if defined(__linux__ ) && defined(ARCHITECTURE_arm64)
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace Settings {
|
namespace Settings {
|
||||||
|
|
||||||
// Clang 14 and earlier have errors when explicitly instantiating these classes
|
// Clang 14 and earlier have errors when explicitly instantiating these classes
|
||||||
|
|
@ -178,7 +182,11 @@ bool IsFastmemEnabled() {
|
||||||
return bool(values.cpuopt_fastmem);
|
return bool(values.cpuopt_fastmem);
|
||||||
else if (values.cpu_accuracy.GetValue() == CpuAccuracy::Unsafe)
|
else if (values.cpu_accuracy.GetValue() == CpuAccuracy::Unsafe)
|
||||||
return bool(values.cpuopt_unsafe_host_mmu);
|
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;
|
return false;
|
||||||
#else
|
#else
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue