arm_dynarmic: Fix timing
This commit is contained in:
parent
31816aac38
commit
88c9608eac
1 changed files with 3 additions and 7 deletions
|
@ -86,21 +86,17 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddTicks(u64 ticks) override {
|
void AddTicks(u64 ticks) override {
|
||||||
if (ticks > ticks_remaining) {
|
CoreTiming::AddTicks(ticks - num_interpreted_instructions);
|
||||||
ticks_remaining = 0;
|
num_interpreted_instructions = 0;
|
||||||
return;
|
|
||||||
}
|
|
||||||
ticks -= ticks_remaining;
|
|
||||||
}
|
}
|
||||||
u64 GetTicksRemaining() override {
|
u64 GetTicksRemaining() override {
|
||||||
return ticks_remaining;
|
return std::max(CoreTiming::GetDowncount(), 0);
|
||||||
}
|
}
|
||||||
u64 GetCNTPCT() override {
|
u64 GetCNTPCT() override {
|
||||||
return CoreTiming::GetTicks();
|
return CoreTiming::GetTicks();
|
||||||
}
|
}
|
||||||
|
|
||||||
ARM_Dynarmic& parent;
|
ARM_Dynarmic& parent;
|
||||||
size_t ticks_remaining = 0;
|
|
||||||
size_t num_interpreted_instructions = 0;
|
size_t num_interpreted_instructions = 0;
|
||||||
u64 tpidrro_el0 = 0;
|
u64 tpidrro_el0 = 0;
|
||||||
u64 tpidr_el0 = 0;
|
u64 tpidr_el0 = 0;
|
||||||
|
|
Loading…
Reference in a new issue