pub struct ApicSoftwareDevices { /* private fields */ }
Expand description
A set of software devices that can be used to implement VPCI devices on an APIC (x86) platform.
This is used to provide an indirection between the guest-specified device interrupt map and the actual MSIs that should be injected into the guest’s APICs.
Implementations§
Source§impl ApicSoftwareDevices
impl ApicSoftwareDevices
pub fn new(apic_id_map: Vec<u32>) -> Self
Sourcepub fn new_device(
&self,
target: Arc<dyn MsiInterruptTarget>,
device_id: u64,
) -> Result<ApicSoftwareDevice, DeviceIdInUse>
pub fn new_device( &self, target: Arc<dyn MsiInterruptTarget>, device_id: u64, ) -> Result<ApicSoftwareDevice, DeviceIdInUse>
Creates a new device with the given ID.
Sourcepub fn retarget_interrupt(
&self,
device_id: u64,
address: u64,
data: u32,
params: &VpciInterruptParameters<'_>,
) -> HvResult<()>
pub fn retarget_interrupt( &self, device_id: u64, address: u64, data: u32, params: &VpciInterruptParameters<'_>, ) -> HvResult<()>
Retargets the interrupt for the given device.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ApicSoftwareDevices
impl !RefUnwindSafe for ApicSoftwareDevices
impl Send for ApicSoftwareDevices
impl Sync for ApicSoftwareDevices
impl Unpin for ApicSoftwareDevices
impl !UnwindSafe for ApicSoftwareDevices
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more