summaryrefslogtreecommitdiffstats
path: root/src/core/arm/arm_interface.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-08-08 02:48:55 +0200
committerGitHub <noreply@github.com>2022-08-08 02:48:55 +0200
commit01bb5d5c4d10424145739e4dd50c0a92547ca240 (patch)
tree403f5ae1f6ea1d4555a40dbea0f2c44183292aba /src/core/arm/arm_interface.h
parentMerge pull request #8240 from liamwhite/count-cycles (diff)
parentkernel: unlayer CPU interrupt handling (diff)
downloadyuzu-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.h11
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;