use alloc::vec::Vec;
use axvmconfig::AxVMCrateConfig;
use crate::AxVmResult;
pub type RuntimeFdtPatch = fn(&[u8], &crate::AxVMRef, &AxVMCrateConfig) -> AxVmResult<Vec<u8>>;
pub type ProvidedFdtPatch = fn(&[u8], Option<&[u8]>, &AxVMCrateConfig) -> AxVmResult<Vec<u8>>;
#[derive(Clone, Copy)]
pub struct GuestFdtPolicy {
pub patch_runtime: RuntimeFdtPatch,
pub patch_provided: ProvidedFdtPatch,
pub decode_interrupt: fn(&[u32]) -> Option<u32>,
}