Fix logic

This commit is contained in:
MaranBr 2025-08-26 18:14:17 -04:00 committed by crueter
parent 383d03f60a
commit d1f2e78d56
4 changed files with 8 additions and 5 deletions

View file

@ -161,6 +161,9 @@ bool IsFastmemEnabled() {
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Unsafe) {
return static_cast<bool>(values.cpuopt_unsafe_mmu);
}
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__sun__)
return false;
#endif
return true;
}

View file

@ -301,10 +301,10 @@ struct Values {
Category::CpuDebug};
SwitchableSetting<bool> cpuopt_unsafe_mmu{linkage,
#if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
true,
#else
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__sun__)
false,
#else
true,
#endif
"cpuopt_unsafe_mmu",
Category::CpuUnsafe};

View file

@ -296,7 +296,7 @@ std::shared_ptr<Dynarmic::A32::Jit> ArmDynarmic32::MakeJit(Common::PageTable* pa
// Curated optimizations
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Auto) {
config.unsafe_optimizations = true;
#if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__sun__)
config.fastmem_pointer = std::nullopt;
config.fastmem_exclusive_access = false;
#endif

View file

@ -354,7 +354,7 @@ std::shared_ptr<Dynarmic::A64::Jit> ArmDynarmic64::MakeJit(Common::PageTable* pa
// Curated optimizations
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Auto) {
config.unsafe_optimizations = true;
#if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__sun__)
config.fastmem_pointer = std::nullopt;
config.fastmem_exclusive_access = false;
#endif