summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
-rw-r--r--src/core/hle/kernel/thread.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index 65fedfc9b..d88039a16 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -246,19 +246,23 @@ ResultVal<std::shared_ptr<Thread>> Thread::Create(Core::System& system, ThreadTy
246#ifdef ARCHITECTURE_x86_64 246#ifdef ARCHITECTURE_x86_64
247 if (owner_process && !owner_process->Is64BitProcess()) { 247 if (owner_process && !owner_process->Is64BitProcess()) {
248 thread->arm_interface = std::make_unique<Core::ARM_Dynarmic_32>( 248 thread->arm_interface = std::make_unique<Core::ARM_Dynarmic_32>(
249 system, kernel.Interrupts(), kernel.GetExclusiveMonitor(), processor_id); 249 system, kernel.Interrupts(), kernel.IsMulticore(), kernel.GetExclusiveMonitor(),
250 processor_id);
250 } else { 251 } else {
251 thread->arm_interface = std::make_unique<Core::ARM_Dynarmic_64>( 252 thread->arm_interface = std::make_unique<Core::ARM_Dynarmic_64>(
252 system, kernel.Interrupts(), kernel.GetExclusiveMonitor(), processor_id); 253 system, kernel.Interrupts(), kernel.IsMulticore(), kernel.GetExclusiveMonitor(),
254 processor_id);
253 } 255 }
254 256
255#else 257#else
256 if (owner_process && !owner_process->Is64BitProcess()) { 258 if (owner_process && !owner_process->Is64BitProcess()) {
257 thread->arm_interface = std::make_shared<Core::ARM_Unicorn>( 259 thread->arm_interface = std::make_shared<Core::ARM_Unicorn>(
258 system, kernel.Interrupts(), ARM_Unicorn::Arch::AArch32, processor_id); 260 system, kernel.Interrupts(), kernel.IsMulticore(), ARM_Unicorn::Arch::AArch32,
261 processor_id);
259 } else { 262 } else {
260 thread->arm_interface = std::make_shared<Core::ARM_Unicorn>( 263 thread->arm_interface = std::make_shared<Core::ARM_Unicorn>(
261 system, kernel.Interrupts(), ARM_Unicorn::Arch::AArch64, processor_id); 264 system, kernel.Interrupts(), kernel.IsMulticore(), ARM_Unicorn::Arch::AArch64,
265 processor_id);
262 } 266 }
263 LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); 267 LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available");
264#endif 268#endif