1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-09 01:57:35 +00:00
serenity/Kernel/Arch/aarch64/IRQController.h
Andreas Kling e475263113 AK+Kernel: Add AK::AtomicRefCounted and use everywhere in the kernel
Instead of having two separate implementations of AK::RefCounted, one
for userspace and one for kernelspace, there is now RefCounted and
AtomicRefCounted.
2022-08-20 17:15:52 +02:00

33 lines
670 B
C++

/*
* Copyright (c) 2020, Liav A. <liavalb@hotmail.co.il>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/AtomicRefCounted.h>
#include <AK/Types.h>
namespace Kernel {
class GenericInterruptHandler;
class IRQController : public AtomicRefCounted<IRQController> {
public:
virtual ~IRQController() = default;
virtual void enable(GenericInterruptHandler const&) = 0;
virtual void disable(GenericInterruptHandler const&) = 0;
virtual void eoi(GenericInterruptHandler const&) const = 0;
virtual u64 pending_interrupts() const = 0;
virtual StringView model() const = 0;
protected:
IRQController() = default;
};
}