Struct devices::pci::pci_root::PciRootMmioState
source · struct PciRootMmioState {
mappings: BTreeMap<u32, Option<(SharedMemory, MemoryMapping)>>,
base: GuestAddress,
register_bit_num: usize,
}
Fields§
§mappings: BTreeMap<u32, Option<(SharedMemory, MemoryMapping)>>
Contains pages mapped read-only into the guest’s MMIO space corresponding to the PCI configuration space. Keys are the offset in number of pages from the start of MMIO space. If a particular value is None, then at least one attached device on that page does not support read-only mapped MMIO.
base: GuestAddress
Base address of the PCI configuration space’s MMIO region.
register_bit_num: usize
Number of bits in the address space of a particular function’s MMIO space.
Implementations§
source§impl PciRootMmioState
impl PciRootMmioState
fn setup_mapping<T>(
&mut self,
address: &PciAddress,
device: &mut dyn BusDevice,
mapper: &mut T,
) -> Result<()>where
T: PciMmioMapper,
fn set_mfd_bit(&mut self, address: &PciAddress, is_mfd: bool)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PciRootMmioState
impl RefUnwindSafe for PciRootMmioState
impl Send for PciRootMmioState
impl Sync for PciRootMmioState
impl Unpin for PciRootMmioState
impl UnwindSafe for PciRootMmioState
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.