use base::Result;
use snapshot::AnySnapshot;
use crate::IrqChip;
pub trait IrqChipRiscv64: IrqChip {
fn try_box_clone(&self) -> Result<Box<dyn IrqChipRiscv64>>;
fn as_irq_chip(&self) -> &dyn IrqChip;
fn as_irq_chip_mut(&mut self) -> &mut dyn IrqChip;
fn finalize(&self) -> Result<()>;
fn get_num_ids_sources(&self) -> (usize, usize);
fn snapshot(&self, _cpus_num: usize) -> anyhow::Result<AnySnapshot> {
anyhow::bail!("snapshot not yet implemented for riscv64")
}
fn restore(&mut self, _data: AnySnapshot, _vcpus_num: usize) -> anyhow::Result<()> {
anyhow::bail!("restore not yet implemented for riscv64")
}
}