summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2019-11-22 15:55:42 -0500
committerGravatar bunnei2019-11-23 15:29:15 -0500
commit6eaf7ab55f9ca6df9439d3e382d49faeb1dffe00 (patch)
treeda13cd439ea2b6a983b8e74f9f31b5f314e6cf79 /src/core/hle/kernel/svc.cpp
parentMerge pull request #3114 from FernandoS27/cond-var (diff)
downloadyuzu-6eaf7ab55f9ca6df9439d3e382d49faeb1dffe00.tar.gz
yuzu-6eaf7ab55f9ca6df9439d3e382d49faeb1dffe00.tar.xz
yuzu-6eaf7ab55f9ca6df9439d3e382d49faeb1dffe00.zip
svc: GetSystemTick should return cntpct_el0, not core ticks.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 8c67ada43..04ca09482 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -1777,7 +1777,9 @@ static u64 GetSystemTick(Core::System& system) {
1777 LOG_TRACE(Kernel_SVC, "called"); 1777 LOG_TRACE(Kernel_SVC, "called");
1778 1778
1779 auto& core_timing = system.CoreTiming(); 1779 auto& core_timing = system.CoreTiming();
1780 const u64 result{core_timing.GetTicks()}; 1780
1781 // Returns the value of cntpct_el0 (https://switchbrew.org/wiki/SVC#svcGetSystemTick)
1782 const u64 result{Core::Timing::CpuCyclesToClockCycles(system.CoreTiming().GetTicks())};
1781 1783
1782 // Advance time to defeat dumb games that busy-wait for the frame to end. 1784 // Advance time to defeat dumb games that busy-wait for the frame to end.
1783 core_timing.AddTicks(400); 1785 core_timing.AddTicks(400);