20 #ifndef KERNEL_MACHINE_PPC_COMMON_HEATHROW_H 21 #define KERNEL_MACHINE_PPC_COMMON_HEATHROW_H 23 #include "pedigree/kernel/machine/IrqManager.h" 24 #include "pedigree/kernel/processor/InterruptManager.h" 25 #include "pedigree/kernel/processor/MemoryMappedIo.h" 44 virtual irq_id_t registerIsaIrqHandler(uint8_t irq,
IrqHandler *handler);
45 virtual irq_id_t registerPciIrqHandler(
IrqHandler *handler);
68 void searchNode(
class Device *pDev);
73 virtual void interrupt(
size_t interruptNumber, InterruptState &state);
75 void eoi(uint8_t irq);
76 void enable(uint8_t irq,
bool enable);
77 void enableAll(
bool enable);
Heathrow() INITIALISATION_ONLY
#define INITIALISATION_ONLY
Heathrow & operator=(const Heathrow &)
virtual void interrupt(size_t interruptNumber, InterruptState &state)
Abstrace base class for hardware I/O capabilities.
virtual void unregisterHandler(irq_id_t Id, IrqHandler *handler)
virtual void acknowledgeIrq(irq_id_t Id)
IrqHandler * m_Handler[64]
Abstract base class for interrupt-handlers.
bool initialise() INITIALISATION_ONLY
static Heathrow m_Instance
static Heathrow & instance()