use super::IrqError;
#[ax_crate_interface::def_interface]
pub trait RiscvHvIrqSink {
fn publish_physical_plic_claim(source: u32) -> bool;
}
#[inline]
pub fn publish_physical_plic_claim(source: u32) -> bool {
ax_crate_interface::call_interface!(RiscvHvIrqSink::publish_physical_plic_claim, source)
}
#[def_plat_interface]
pub trait RiscvHvIrqIf {
fn activate_guest_plic_source(source: u32, target_cpu: usize) -> Result<(), IrqError>;
fn deactivate_guest_plic_source(source: u32) -> Result<(), IrqError>;
fn complete_guest_plic_source(source: u32) -> bool;
}