[ARM64] Initial commit for arm64 backend
Based entirely off existing xbyak x86 implementation and available tests. Still needs a lot of optimization and testing on non-Windows platforms. So far passes all tests and boots at least some games on Windows.
This commit is contained in:
@@ -63,6 +63,8 @@
|
||||
|
||||
#if XE_ARCH_AMD64
|
||||
#include "xenia/cpu/backend/x64/x64_backend.h"
|
||||
#elif XE_ARCH_ARM64
|
||||
#include "xenia/cpu/backend/a64/a64_backend.h"
|
||||
#endif // XE_ARCH
|
||||
|
||||
DEFINE_double(time_scalar, 1.0,
|
||||
@@ -232,11 +234,17 @@ X_STATUS Emulator::Setup(
|
||||
if (cvars::cpu == "x64") {
|
||||
backend.reset(new xe::cpu::backend::x64::X64Backend());
|
||||
}
|
||||
#elif XE_ARCH_ARM64
|
||||
if (cvars::cpu == "a64") {
|
||||
backend.reset(new xe::cpu::backend::a64::A64Backend());
|
||||
}
|
||||
#endif // XE_ARCH
|
||||
if (cvars::cpu == "any") {
|
||||
if (!backend) {
|
||||
#if XE_ARCH_AMD64
|
||||
backend.reset(new xe::cpu::backend::x64::X64Backend());
|
||||
#elif XE_ARCH_ARM64
|
||||
backend.reset(new xe::cpu::backend::a64::A64Backend());
|
||||
#endif // XE_ARCH
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user