diff options
author | bunnei <bunneidev@gmail.com> | 2019-11-22 15:55:42 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2019-11-23 15:29:15 -0500 |
commit | 6eaf7ab55f9ca6df9439d3e382d49faeb1dffe00 (patch) | |
tree | da13cd439ea2b6a983b8e74f9f31b5f314e6cf79 /src | |
parent | 6a3fc5d2ff2732e0392db56b04ff0c4e2c167bf2 (diff) |
svc: GetSystemTick should return cntpct_el0, not core ticks.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 8c67ada435..04ca094823 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) { LOG_TRACE(Kernel_SVC, "called"); auto& core_timing = system.CoreTiming(); - const u64 result{core_timing.GetTicks()}; + + // Returns the value of cntpct_el0 (https://switchbrew.org/wiki/SVC#svcGetSystemTick) + const u64 result{Core::Timing::CpuCyclesToClockCycles(system.CoreTiming().GetTicks())}; // Advance time to defeat dumb games that busy-wait for the frame to end. core_timing.AddTicks(400); |