/* * Copyright (c) 2023, Sönke Holz * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include VALIDATE_IS_RISCV64() namespace Kernel::RISCV64 { class InterruptController : public IRQController { public: InterruptController(); private: virtual void enable(GenericInterruptHandler const&) override; virtual void disable(GenericInterruptHandler const&) override; virtual void eoi(GenericInterruptHandler const&) const override; virtual u64 pending_interrupts() const override; virtual StringView model() const override { return "cpu-intc"sv; } }; }