diff options
| author | 2019-11-22 15:55:42 -0500 | |
|---|---|---|
| committer | 2019-11-23 15:29:15 -0500 | |
| commit | 6eaf7ab55f9ca6df9439d3e382d49faeb1dffe00 (patch) | |
| tree | da13cd439ea2b6a983b8e74f9f31b5f314e6cf79 /src/core/hle/kernel/svc.cpp | |
| parent | Merge pull request #3114 from FernandoS27/cond-var (diff) | |
| download | yuzu-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.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 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); |