summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-02-16 16:52:24 -0400
committerGravatar Fernando Sahmkow2019-02-16 16:52:24 -0400
commita8d4927e29bb1acbf5f3267f368801847acd4222 (patch)
treea5b08502c0fce93f8ef7a429ae873571eca1f852 /src/core
parentUse u128 on Clock Cycles calculation. (diff)
downloadyuzu-a8d4927e29bb1acbf5f3267f368801847acd4222.tar.gz
yuzu-a8d4927e29bb1acbf5f3267f368801847acd4222.tar.xz
yuzu-a8d4927e29bb1acbf5f3267f368801847acd4222.zip
Corrections, documenting and fixes.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.cpp2
-rw-r--r--src/core/core_timing_util.cpp5
2 files changed, 3 insertions, 4 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index 25f76259b..4fdc12f11 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -152,7 +152,7 @@ std::unique_ptr<Dynarmic::A64::Jit> ARM_Dynarmic::MakeJit() const {
152 config.tpidr_el0 = &cb->tpidr_el0; 152 config.tpidr_el0 = &cb->tpidr_el0;
153 config.dczid_el0 = 4; 153 config.dczid_el0 = 4;
154 config.ctr_el0 = 0x8444c004; 154 config.ctr_el0 = 0x8444c004;
155 config.cntfrq_el0 = Timing::CNTFREQ; // Value from fusee. 155 config.cntfrq_el0 = Timing::CNTFREQ;
156 156
157 // Unpredictable instructions 157 // Unpredictable instructions
158 config.define_unpredictable_behaviour = true; 158 config.define_unpredictable_behaviour = true;
diff --git a/src/core/core_timing_util.cpp b/src/core/core_timing_util.cpp
index aab4aa697..7942f30d6 100644
--- a/src/core/core_timing_util.cpp
+++ b/src/core/core_timing_util.cpp
@@ -62,9 +62,8 @@ s64 nsToCycles(u64 ns) {
62} 62}
63 63
64u64 CpuCyclesToClockCycles(u64 ticks) { 64u64 CpuCyclesToClockCycles(u64 ticks) {
65 u128 temporal = Common::Multiply64Into128(ticks, CNTFREQ); 65 const u128 temporal = Common::Multiply64Into128(ticks, CNTFREQ);
66 std::pair<u64, u64> result = Common::Divide128On64(temporal, BASE_CLOCK_RATE); 66 return Common::Divide128On32(temporal, static_cast<u32>(BASE_CLOCK_RATE)).first;
67 return result.first;
68} 67}
69 68
70} // namespace Core::Timing 69} // namespace Core::Timing