class PciDevice
Defined at line 175 of file ../../src/virtualization/bin/vmm/pci.h
Stores the state of PCI devices.
Public Methods
std::string_view name ()
Return a human-readable name for this device, for debugging and logging.
Defined at line 198 of file ../../src/virtualization/bin/vmm/pci.h
const PciBar * bar (size_t n)
Returns a pointer to a base address register for this device.
Returns nullptr if the register is not implemented.
Defined at line 203 of file ../../src/virtualization/bin/vmm/pci.h
const Attributes & attrs ()
Return static device attributes.
Defined at line 206 of file ../../src/virtualization/bin/vmm/pci.h
zx_status_t ReadConfig (uint64_t reg, IoValue * value)
Handle accesses to this device config space.
Defined at line 570 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t WriteConfig (uint64_t reg, const IoValue & value)
Defined at line 596 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t Interrupt ()
If interrupts are enabled and the device has one pending, send it to the
bus.
Defined at line 666 of file ../../src/virtualization/bin/vmm/pci.cc
Protected Methods
void ~PciDevice ()
Defined at line 210 of file ../../src/virtualization/bin/vmm/pci.h
template <typename T>
zx_status_t AddCapability (const T & capability)
Install the given standard layout, trivially copyable type as a PCI capability.
Capabilities types must have a size aligned to 32-bits.
The "next" pointer in cap header (byte 2) will be overwritten by
the function, and need not contain any particular value.
Defined at line 219 of file ../../src/virtualization/bin/vmm/pci.h
void PciDevice (const Attributes & attrs)
Defined at line 399 of file ../../src/virtualization/bin/vmm/pci.cc
zx::result<size_t> AddBar (PciBar bar)
Install the given PciBar in the next available slot, returning the index
the PciBar was installed at.
Returns ZX_ERR_NO_RESOURCES if all BARs have already been used.
Defined at line 446 of file ../../src/virtualization/bin/vmm/pci.cc
Records
Friends
class PciBus