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/arm_interface.h | |
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 'src/core/arm/arm_interface.h')
-rw-r--r-- | src/core/arm/arm_interface.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index 73f259525..7d62d030e 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h @@ -27,7 +27,6 @@ namespace Core { class System; class CPUInterruptHandler; -using CPUInterrupts = std::array<CPUInterruptHandler, Core::Hardware::NUM_CPU_CORES>; using WatchpointArray = std::array<Kernel::DebugWatchpoint, Core::Hardware::NUM_WATCHPOINTS>; /// Generic ARMv8 CPU interface @@ -36,10 +35,8 @@ public: YUZU_NON_COPYABLE(ARM_Interface); YUZU_NON_MOVEABLE(ARM_Interface); - explicit ARM_Interface(System& system_, CPUInterrupts& interrupt_handlers_, - bool uses_wall_clock_) - : system{system_}, interrupt_handlers{interrupt_handlers_}, uses_wall_clock{ - uses_wall_clock_} {} + explicit ARM_Interface(System& system_, bool uses_wall_clock_) + : system{system_}, uses_wall_clock{uses_wall_clock_} {} virtual ~ARM_Interface() = default; struct ThreadContext32 { @@ -181,6 +178,9 @@ public: /// Signal an interrupt and ask the core to halt as soon as possible. virtual void SignalInterrupt() = 0; + /// Clear a previous interrupt. + virtual void ClearInterrupt() = 0; + struct BacktraceEntry { std::string module; u64 address; @@ -208,7 +208,6 @@ public: protected: /// System context that this ARM interface is running under. System& system; - CPUInterrupts& interrupt_handlers; const WatchpointArray* watchpoints; bool uses_wall_clock; |