From 8684f3e87a8c4e7ee34c5c39e6135b0eb7ab20a2 Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 19 Jul 2019 22:38:45 -0400 Subject: [PATCH] android: core: Prepare for ARM64 dynarmic support. --- externals/CMakeLists.txt | 16 +++++++--------- src/core/CMakeLists.txt | 2 +- src/core/core.cpp | 4 ++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index c3297571f..851ba132c 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -31,14 +31,12 @@ target_include_directories(catch-single-include INTERFACE catch/single_include) add_subdirectory(cryptopp) # Dynarmic -if (ARCHITECTURE_x86_64) - # Dynarmic will skip defining xbyak if it's already defined, we then define it below - add_library(xbyak INTERFACE) - option(DYNARMIC_TESTS OFF) - set(DYNARMIC_NO_BUNDLED_FMT ON) - set(DYNARMIC_FRONTENDS "A32") - add_subdirectory(dynarmic) -endif() +# Dynarmic will skip defining xbyak if it's already defined, we then define it below +add_library(xbyak INTERFACE) +option(DYNARMIC_TESTS OFF) +set(DYNARMIC_NO_BUNDLED_FMT ON) +set(DYNARMIC_FRONTENDS "A32") +add_subdirectory(dynarmic) # libfmt add_subdirectory(fmt) @@ -131,4 +129,4 @@ if (ENABLE_WEB_SERVICE) endif() # lodepng -add_subdirectory(lodepng) \ No newline at end of file +add_subdirectory(lodepng) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 01f18e445..d94082089 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -486,7 +486,7 @@ if (ENABLE_WEB_SERVICE) endif() endif() -if (ARCHITECTURE_x86_64) +if (ARCHITECTURE_x86_64 OR ARCHITECTURE_ARM64) target_sources(core PRIVATE arm/dynarmic/arm_dynarmic.cpp arm/dynarmic/arm_dynarmic.h diff --git a/src/core/core.cpp b/src/core/core.cpp index ad6e0129f..f1b0769de 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -13,7 +13,7 @@ #include "common/logging/log.h" #include "common/texture.h" #include "core/arm/arm_interface.h" -#ifdef ARCHITECTURE_x86_64 +#if defined(ARCHITECTURE_x86_64) || defined(ARCHITECTURE_ARM64) #include "core/arm/dynarmic/arm_dynarmic.h" #endif #include "core/arm/dyncom/arm_dyncom.h" @@ -363,7 +363,7 @@ System::ResultStatus System::Init(Frontend::EmuWindow& emu_window, u32 system_mo *memory, *timing, [this] { PrepareReschedule(); }, system_mode, num_cores, n3ds_mode); if (Settings::values.use_cpu_jit) { -#ifdef ARCHITECTURE_x86_64 +#if defined(ARCHITECTURE_x86_64) || defined(ARCHITECTURE_ARM64) for (u32 i = 0; i < num_cores; ++i) { cpu_cores.push_back( std::make_shared(this, *memory, i, timing->GetTimer(i)));