diff options
author | bunnei <bunneidev@gmail.com> | 2022-08-08 03:47:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-08 03:47:57 +0200 |
commit | b1d61cd02534a421feee75fd2a1c2e6dea8e54b0 (patch) | |
tree | 56d77a60abfade92265cfc0cbf0ec1caf813379e | |
parent | Merge pull request #8637 from liamwhite/bad-interrupts (diff) | |
parent | core/arm: fix build error (diff) | |
download | yuzu-b1d61cd02534a421feee75fd2a1c2e6dea8e54b0.tar yuzu-b1d61cd02534a421feee75fd2a1c2e6dea8e54b0.tar.gz yuzu-b1d61cd02534a421feee75fd2a1c2e6dea8e54b0.tar.bz2 yuzu-b1d61cd02534a421feee75fd2a1c2e6dea8e54b0.tar.lz yuzu-b1d61cd02534a421feee75fd2a1c2e6dea8e54b0.tar.xz yuzu-b1d61cd02534a421feee75fd2a1c2e6dea8e54b0.tar.zst yuzu-b1d61cd02534a421feee75fd2a1c2e6dea8e54b0.zip |
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 6 | ||||
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_64.cpp | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index 2e0e16b6e..1638bc41d 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -144,7 +144,7 @@ public: u64 GetTicksRemaining() override { if (parent.uses_wall_clock) { - if (!parent.interrupt_handlers[parent.core_index].IsInterrupted()) { + if (!IsInterrupted()) { return minimum_run_cycles; } return 0U; @@ -174,6 +174,10 @@ public: parent.jit.load()->HaltExecution(hr); } + bool IsInterrupted() { + return parent.system.Kernel().PhysicalCore(parent.core_index).IsInterrupted(); + } + ARM_Dynarmic_32& parent; Core::Memory::Memory& memory; std::size_t num_interpreted_instructions{}; diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index bf971b7dc..921a5a734 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -183,7 +183,7 @@ public: u64 GetTicksRemaining() override { if (parent.uses_wall_clock) { - if (!parent.interrupt_handlers[parent.core_index].IsInterrupted()) { + if (!IsInterrupted()) { return minimum_run_cycles; } return 0U; @@ -217,6 +217,10 @@ public: parent.jit.load()->HaltExecution(hr); } + bool IsInterrupted() { + return parent.system.Kernel().PhysicalCore(parent.core_index).IsInterrupted(); + } + ARM_Dynarmic_64& parent; Core::Memory::Memory& memory; u64 tpidrro_el0 = 0; |