20 #ifndef KERNEL_MACHINE_HOSTED_IRQMANAGER_H 21 #define KERNEL_MACHINE_HOSTED_IRQMANAGER_H 23 #include "pedigree/kernel/machine/IrqManager.h" 24 #include "pedigree/kernel/processor/InterruptManager.h" 25 #include "pedigree/kernel/processor/IoPort.h" 26 #include "pedigree/kernel/utilities/List.h" 62 virtual void enable(uint8_t irq,
bool enable)
83 virtual void interrupt(
size_t interruptNumber, InterruptState &state);
virtual ~HostedIrqManager()
#define INITIALISATION_ONLY
HostedIrqManager() INITIALISATION_ONLY
static HostedIrqManager m_Instance
virtual irq_id_t registerPciIrqHandler(IrqHandler *handler, Device *pDevice)
virtual void interrupt(size_t interruptNumber, InterruptState &state)
bool initialise() INITIALISATION_ONLY
static HostedIrqManager & instance()
virtual void unregisterHandler(irq_id_t Id, IrqHandler *handler)
virtual bool control(uint8_t irq, ControlCode code, size_t argument)
HostedIrqManager & operator=(const HostedIrqManager &)
List< IrqHandler * > m_Handler[2]
Abstract base class for interrupt-handlers.
virtual void acknowledgeIrq(irq_id_t Id)
virtual irq_id_t registerIsaIrqHandler(uint8_t irq, IrqHandler *handler, bool bEdge=false)