pub fn new_pci(device: Arc<dyn IPciNode>, vector: u32, maskable: bool) -> ZxResult<Arc<Self>> {
        let interrupt = Arc::new(Interrupt {
            base: KObjectBase::new(),
            has_vcpu: false,
            flags: InterruptFlags::UNMASK_PREWAIT_UNLOCKED,
            inner: Default::default(),
            trait_: PciInterrupt::new(device, vector, maskable),
        });
        let interrupt_clone = interrupt.clone();
        interrupt
            .trait_
            .register_handler(Box::new(move || interrupt_clone.handle_interrupt()))?;
        interrupt.trait_.unmask();
        Ok(interrupt)
    }
/// Create a new PCI interrupt.
Create a new PCI interrupt.
Create a new PCI interrupt .
pub fn new_pci(device: Arc<dyn IPciNode>, vector: u32, maskable: bool) -> ZxResult<Arc<Self>> {
        let interrupt = Arc::new(Interrupt {
            base: KObjectBase::new(),
            has_vcpu: false,
            flags: InterruptFlags::UNMASK_PREWAIT_UNLOCKED,
            inner: Default::default(),
            trait_: PciInterrupt::new(device, vector, maskable),
        });
        let interrupt_clone = interrupt.clone();
        interrupt
            .trait_
            .register_handler(Box::new(move || interrupt_clone.handle_interrupt()))?;
        interrupt.trait_.unmask();
        Ok(interrupt)
    }
pub fn new_pci ( device : Arc < dyn IPciNode > , vector : u32 , maskable : bool ) -> ZxResult < Arc < Self > > { let interrupt = Arc :: new ( Interrupt { base : KObjectBase :: new ( ) , has_vcpu : false , flags : InterruptFlags :: UNMASK_PREWAIT_UNLOCKED , inner : Default :: default ( ) , trait_ : PciInterrupt :: new ( device , vector , maskable ) , } ) ; let interrupt_clone = interrupt . clone ( ) ; interrupt . trait_ . register_handler ( Box :: new ( move | | interrupt_clone . handle_interrupt ( ) ) ) ? ; interrupt . trait_ . unmask ( ) ; Ok ( interrupt ) }
Create a new PCI interrupt.
Create a new PCI interrupt .
device
Arc<dyn IPciNode>
vector
u32
maskable
bool
device
Arc<dyn IPciNode>
vector
u32
maskable
bool