summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-03-01 12:14:17 -0400
committerGravatar Fernando Sahmkow2020-06-27 11:35:58 -0400
commit1567824d2da8e9b49b433f3d1d753d8ad84e65f9 (patch)
treec9553bb3f1693e430054695737d2f87ba4b58955 /src/core/hle/kernel/svc.cpp
parentCore: Refactor ARM Interface. (diff)
downloadyuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar.gz
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.tar.xz
yuzu-1567824d2da8e9b49b433f3d1d753d8ad84e65f9.zip
General: Move ARM_Interface into Threads.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index f08745226..599972211 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -1533,7 +1533,9 @@ static void SleepThread(Core::System& system, s64 nanoseconds) {
1533 } 1533 }
1534 1534
1535 if (is_redundant && !system.Kernel().IsMulticore()) { 1535 if (is_redundant && !system.Kernel().IsMulticore()) {
1536 system.Kernel().ExitSVCProfile();
1536 system.GetCpuManager().PreemptSingleCore(); 1537 system.GetCpuManager().PreemptSingleCore();
1538 system.Kernel().EnterSVCProfile();
1537 } 1539 }
1538} 1540}
1539 1541
@@ -2457,9 +2459,6 @@ void Call(Core::System& system, u32 immediate) {
2457 auto& kernel = system.Kernel(); 2459 auto& kernel = system.Kernel();
2458 kernel.EnterSVCProfile(); 2460 kernel.EnterSVCProfile();
2459 2461
2460 auto* thread = system.CurrentScheduler().GetCurrentThread();
2461 thread->SetContinuousOnSVC(true);
2462
2463 const FunctionDef* info = system.CurrentProcess()->Is64BitProcess() ? GetSVCInfo64(immediate) 2462 const FunctionDef* info = system.CurrentProcess()->Is64BitProcess() ? GetSVCInfo64(immediate)
2464 : GetSVCInfo32(immediate); 2463 : GetSVCInfo32(immediate);
2465 if (info) { 2464 if (info) {
@@ -2473,12 +2472,6 @@ void Call(Core::System& system, u32 immediate) {
2473 } 2472 }
2474 2473
2475 kernel.ExitSVCProfile(); 2474 kernel.ExitSVCProfile();
2476
2477 if (!thread->IsContinuousOnSVC()) {
2478 auto* host_context = thread->GetHostContext().get();
2479 host_context->Rewind();
2480 }
2481
2482 system.EnterDynarmicProfile(); 2475 system.EnterDynarmicProfile();
2483} 2476}
2484 2477