Browse Source

Fix logic

pull/324/head
MaranBr 7 months ago
committed by crueter
parent
commit
2d4bdf30df
  1. 3
      src/common/settings.cpp
  2. 6
      src/common/settings.h
  3. 2
      src/core/arm/dynarmic/arm_dynarmic_32.cpp
  4. 2
      src/core/arm/dynarmic/arm_dynarmic_64.cpp

3
src/common/settings.cpp

@ -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;
}

6
src/common/settings.h

@ -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};

2
src/core/arm/dynarmic/arm_dynarmic_32.cpp

@ -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

2
src/core/arm/dynarmic/arm_dynarmic_64.cpp

@ -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

Loading…
Cancel
Save