5export module zxfoundation.sys.irq.core;
6import zxfoundation.base.types;
7import arch.s390x.cpu.irq;
13namespace zxfoundation::sys::irq {
15 using handler_fn =
auto (*)(
17 arch::s390x::cpu::irq::irq_frame* frame,
28 arch::s390x::cpu::irq::irq_frame* frame,
29 arch::s390x::cpu::irq::irq_class cls
38 [[nodiscard]]
auto irq_register(
43 )
noexcept -> std::expected<
void, lib::kernel_error>;
47 auto irq_unregister(u16 irq)
noexcept ->
void;
51 auto init()
noexcept ->
void;
58 auto deferred_set(u32 bit)
noexcept ->
void;
64 [[nodiscard]]
auto deferred_test_clear(u32 bit)
noexcept ->
bool;