20#ifndef KERNEL_MACHINE_HOSTED_IRQMANAGER_H
21#define KERNEL_MACHINE_HOSTED_IRQMANAGER_H
22#include "pedigree/kernel/compiler.h"
23#include "pedigree/kernel/machine/IrqManager.h"
24#include "pedigree/kernel/processor/InterruptHandler.h"
59 void enable(uint8_t irq,
bool enable)
override {
64#if HOSTED && PEDIGREE_HOSTED_SMOKE_TESTS
75 void interrupt(
size_t interruptNumber, InterruptState& state)
override;
irq_id_t registerSchedulerIrqHandler(uint8_t irq, SchedulerIrqHandler *handler, const IrqPolicy &policy) override
bool unregisterHandler(irq_id_t id, IrqHandlerBase *handler) override
irq_id_t registerIsaIrqHandler(uint8_t irq, IrqHandler *handler, const IrqPolicy &policy) override
irq_id_t registerHardPciIrqHandler(HardIrqHandler *handler, class Device *device, const IrqPolicy &policy) override
bool unregisterSchedulerIrqHandler(irq_id_t id, SchedulerIrqHandler *handler) override
irq_id_t registerPciIrqHandler(IrqHandler *handler, class Device *device, const IrqPolicy &policy) override
void interrupt(size_t interruptNumber, InterruptState &state) override
irq_id_t registerHardIsaIrqHandler(uint8_t irq, HardIrqHandler *handler, const IrqPolicy &policy) override
bool control(uint8_t irq, ControlCode code, size_t argument) override
Abstract base class for interrupt-handlers.
#define INITIALISATION_ONLY