diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-04-06 19:11:47 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-04-06 19:11:47 +0200 |
| commit | 5e927199c5801e212fae58974c4c3a0f1ee59fa4 (patch) | |
| tree | 36bcfeb3eec0dc032db98562d125905f3d7a4e42 /src/core | |
| parent | ac99ea96da608e687c3593a1110d0324f87913f3 (diff) | |
[dynarmic, cmake] Assorted RISC-V build fixes (#3797)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3797
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/core/arm/dynarmic/dynarmic_cp15.cpp | 12 |
2 files changed, 3 insertions, 11 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 08a2d0e2db..04a46dd6dc 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1246,7 +1246,7 @@ if (HAS_NCE) target_link_libraries(core PRIVATE merry::oaknut) endif() -if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) +if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64 OR ARCHITECTURE_riscv64) target_sources(core PRIVATE arm/dynarmic/arm_dynarmic.h arm/dynarmic/arm_dynarmic_64.cpp diff --git a/src/core/arm/dynarmic/dynarmic_cp15.cpp b/src/core/arm/dynarmic/dynarmic_cp15.cpp index 7cb1d58398..28695a1058 100644 --- a/src/core/arm/dynarmic/dynarmic_cp15.cpp +++ b/src/core/arm/dynarmic/dynarmic_cp15.cpp @@ -59,14 +59,10 @@ CallbackOrAccessOneWord DynarmicCP15::CompileSendOneWord(bool two, unsigned opc1 #if defined(_MSC_VER) && defined(ARCHITECTURE_x86_64) _mm_mfence(); _mm_lfence(); -#elif defined(ARCHITECTURE_x86_64) - asm volatile("mfence\n\tlfence\n\t" : : : "memory"); #elif defined(_MSC_VER) && defined(ARCHITECTURE_arm64) _Memory_barrier(); -#elif defined(ARCHITECTURE_arm64) - asm volatile("dsb sy\n\t" : : : "memory"); #else -#error Unsupported architecture + __sync_synchronize(); #endif return 0; }, @@ -78,14 +74,10 @@ CallbackOrAccessOneWord DynarmicCP15::CompileSendOneWord(bool two, unsigned opc1 [](void*, std::uint32_t, std::uint32_t) -> std::uint64_t { #if defined(_MSC_VER) && defined(ARCHITECTURE_x86_64) _mm_mfence(); -#elif defined(ARCHITECTURE_x86_64) - asm volatile("mfence\n\t" : : : "memory"); #elif defined(_MSC_VER) && defined(ARCHITECTURE_arm64) _Memory_barrier(); -#elif defined(ARCHITECTURE_arm64) - asm volatile("dmb sy\n\t" : : : "memory"); #else -#error Unsupported architecture + __sync_synchronize(); #endif return 0; }, |
