Trait arch::IrqChipArch

pub trait IrqChipArch: IrqChip {
Show 17 methods // Required methods fn try_box_clone(&self) -> Result<Box<dyn IrqChipX86_64>, Error>; fn as_irq_chip(&self) -> &dyn IrqChip; fn as_irq_chip_mut(&mut self) -> &mut dyn IrqChip; fn get_pic_state(&self, select: PicSelect) -> Result<PicState, Error>; fn set_pic_state( &mut self, select: PicSelect, state: &PicState ) -> Result<(), Error>; fn get_ioapic_state(&self) -> Result<IoapicState, Error>; fn set_ioapic_state(&mut self, state: &IoapicState) -> Result<(), Error>; fn get_lapic_state(&self, vcpu_id: usize) -> Result<LapicState, Error>; fn set_lapic_state( &mut self, vcpu_id: usize, state: &LapicState ) -> Result<(), Error>; fn lapic_frequency(&self) -> u32; fn get_pit(&self) -> Result<PitState, Error>; fn set_pit(&mut self, state: &PitState) -> Result<(), Error>; fn pit_uses_speaker_port(&self) -> bool; fn snapshot_chip_specific(&self) -> Result<Value, Error>; fn restore_chip_specific(&mut self, data: Value) -> Result<(), Error>; // Provided methods fn snapshot(&self, cpus_num: usize) -> Result<Value, Error> { ... } fn restore(&mut self, data: Value, vcpus_num: usize) -> Result<(), Error> { ... }
}

Required Methods§

fn try_box_clone(&self) -> Result<Box<dyn IrqChipX86_64>, Error>

fn as_irq_chip(&self) -> &dyn IrqChip

fn as_irq_chip_mut(&mut self) -> &mut dyn IrqChip

fn get_pic_state(&self, select: PicSelect) -> Result<PicState, Error>

Get the current state of the PIC

fn set_pic_state( &mut self, select: PicSelect, state: &PicState ) -> Result<(), Error>

Set the current state of the PIC

fn get_ioapic_state(&self) -> Result<IoapicState, Error>

Get the current state of the IOAPIC

fn set_ioapic_state(&mut self, state: &IoapicState) -> Result<(), Error>

Set the current state of the IOAPIC

fn get_lapic_state(&self, vcpu_id: usize) -> Result<LapicState, Error>

Get the current state of the specified VCPU’s local APIC

fn set_lapic_state( &mut self, vcpu_id: usize, state: &LapicState ) -> Result<(), Error>

Set the current state of the specified VCPU’s local APIC

fn lapic_frequency(&self) -> u32

Get the lapic frequency in Hz

fn get_pit(&self) -> Result<PitState, Error>

Retrieves the state of the PIT.

fn set_pit(&mut self, state: &PitState) -> Result<(), Error>

Sets the state of the PIT.

fn pit_uses_speaker_port(&self) -> bool

Returns true if the PIT uses port 0x61 for the PC speaker, false if 0x61 is unused.

fn snapshot_chip_specific(&self) -> Result<Value, Error>

Snapshot state specific to different IrqChips.

fn restore_chip_specific(&mut self, data: Value) -> Result<(), Error>

Restore state specific to different IrqChips.

Provided Methods§

fn snapshot(&self, cpus_num: usize) -> Result<Value, Error>

Snapshot state common to IrqChips.

fn restore(&mut self, data: Value, vcpus_num: usize) -> Result<(), Error>

Restore state common to IrqChips.

Implementors§

§

impl IrqChipX86_64 for KvmKernelIrqChip

§

impl IrqChipX86_64 for KvmSplitIrqChip

§

impl<V> IrqChipX86_64 for UserspaceIrqChip<V>
where V: VcpuX86_64 + 'static,