diff options
author | bunnei <bunneidev@gmail.com> | 2022-08-08 02:48:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-08 02:48:55 +0200 |
commit | 01bb5d5c4d10424145739e4dd50c0a92547ca240 (patch) | |
tree | 403f5ae1f6ea1d4555a40dbea0f2c44183292aba /src/core/arm/dynarmic/arm_dynarmic_32.cpp | |
parent | Merge pull request #8240 from liamwhite/count-cycles (diff) | |
parent | kernel: unlayer CPU interrupt handling (diff) | |
download | yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.gz yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.bz2 yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.lz yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.xz yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.tar.zst yuzu-01bb5d5c4d10424145739e4dd50c0a92547ca240.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index 99fab6384..2e0e16b6e 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -11,7 +11,6 @@ #include "common/logging/log.h" #include "common/page_table.h" #include "common/settings.h" -#include "core/arm/cpu_interrupt_handler.h" #include "core/arm/dynarmic/arm_dynarmic_32.h" #include "core/arm/dynarmic/arm_dynarmic_cp15.h" #include "core/arm/dynarmic/arm_exclusive_monitor.h" @@ -318,11 +317,9 @@ void ARM_Dynarmic_32::RewindBreakpointInstruction() { LoadContext(breakpoint_context); } -ARM_Dynarmic_32::ARM_Dynarmic_32(System& system_, CPUInterrupts& interrupt_handlers_, - bool uses_wall_clock_, ExclusiveMonitor& exclusive_monitor_, - std::size_t core_index_) - : ARM_Interface{system_, interrupt_handlers_, uses_wall_clock_}, - cb(std::make_unique<DynarmicCallbacks32>(*this)), +ARM_Dynarmic_32::ARM_Dynarmic_32(System& system_, bool uses_wall_clock_, + ExclusiveMonitor& exclusive_monitor_, std::size_t core_index_) + : ARM_Interface{system_, uses_wall_clock_}, cb(std::make_unique<DynarmicCallbacks32>(*this)), cp15(std::make_shared<DynarmicCP15>(*this)), core_index{core_index_}, exclusive_monitor{dynamic_cast<DynarmicExclusiveMonitor&>(exclusive_monitor_)}, null_jit{MakeJit(nullptr)}, jit{null_jit.get()} {} @@ -401,6 +398,10 @@ void ARM_Dynarmic_32::SignalInterrupt() { jit.load()->HaltExecution(break_loop); } +void ARM_Dynarmic_32::ClearInterrupt() { + jit.load()->ClearHalt(break_loop); +} + void ARM_Dynarmic_32::ClearInstructionCache() { jit.load()->ClearCache(); } |