summaryrefslogtreecommitdiff
path: root/Kernel/Interrupts/IRQController.h
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/Interrupts/IRQController.h')
-rw-r--r--Kernel/Interrupts/IRQController.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/Kernel/Interrupts/IRQController.h b/Kernel/Interrupts/IRQController.h
index f27c5bd0f9..2a99df4ab4 100644
--- a/Kernel/Interrupts/IRQController.h
+++ b/Kernel/Interrupts/IRQController.h
@@ -41,14 +41,16 @@ class IRQController : public RefCounted<IRQController> {
public:
virtual ~IRQController() {}
- virtual void enable(u8 number) = 0;
- virtual void disable(u8 number) = 0;
+ virtual void enable(const GenericInterruptHandler&) = 0;
+ virtual void disable(const GenericInterruptHandler&) = 0;
virtual void hard_disable() { m_hard_disabled = true; }
virtual bool is_vector_enabled(u8 number) const = 0;
bool is_enabled() const { return m_enabled && !m_hard_disabled; }
bool is_hard_disabled() const { return m_hard_disabled; }
- virtual void eoi(u8 number) const = 0;
- virtual u32 get_gsi_base() const = 0;
+ virtual void eoi(const GenericInterruptHandler&) const = 0;
+ virtual void spurious_eoi(const GenericInterruptHandler&) const = 0;
+ virtual size_t interrupt_vectors_count() const = 0;
+ virtual u32 gsi_base() const = 0;
virtual u16 get_isr() const = 0;
virtual u16 get_irr() const = 0;
virtual const char* model() const = 0;