class PciRootHost
Defined at line 41 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
PciRootHost holds references to any platform information on a PCI Root basis, as well as their
protocols. Allocators are shared across PCi Bus Drivers. It provides a common interface that can
be implemented on a given platform and paired with Pciroot
<T
> implementations.
Public Methods
void PciRootHost (const PciRootHost & )
Defined at line 49 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
void operator= (const PciRootHost & )
Defined at line 50 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
RegionAllocator & Mmio32 ()
Defined at line 52 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
RegionAllocator & Mmio64 ()
Defined at line 53 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
RegionAllocator & Io ()
Defined at line 54 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
std::vector<McfgAllocation> & mcfgs ()
Defined at line 55 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
void PciRootHost (zx::unowned_resourceunowned_msi,zx::unowned_resourceunowned_mmio,zx::unowned_resourceunowned_ioport,pci_address_space_tio_type)
Defined at line 57 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
zx_status_t AllocateMsi (uint32_tcount,zx::msi *msi,msi_allocation_info_t *out_info)
Defined at line 66 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
zx_status_t GetMsiHandle (const zx::msi &allocation,uint32_toptions,uint16_tmsi_id,const zx::vmo &cfg_vmo,uint64_tcfg_offset,zx::interrupt *out_interrupt)
Defined at line 82 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
zx::result<zx_paddr_t> AllocateMmio32Window (zx_paddr_tbase,size_tsize,zx::resource *out_resource,zx::eventpair *out_endpoint)
Defined at line 88 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
zx::result<zx_paddr_t> AllocateMmio64Window (zx_paddr_tbase,size_tsize,zx::resource *out_resource,zx::eventpair *out_endpoint)
Defined at line 94 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
zx::result<zx_paddr_t> AllocateIoWindow (zx_paddr_tbase,size_tsize,zx::resource *out_resource,zx::eventpair *out_endpoint)
Defined at line 111 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
zx::result<> AddMmioRange (zx_paddr_t base, size_t size)
Defined at line 118 of file ../../src/devices/pci/lib/pci/root_host.cc
zx_status_t GetSegmentMcfgAllocation (size_t segment, McfgAllocation * out)
Search the MCFG allocations found earlier for an entry matching a given
segment a host bridge is a part of. Per the PCI Firmware spec v3 table 4-3
note 1, a given segment group will contain only a single mcfg allocation
entry.
Defined at line 119 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
void DumpAllocatorWindows ()
Defined at line 132 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h
Enumerations
enum AllocationType : uint8_t
| Name | Value |
|---|---|
| kIo | 0 |
| kMmio32 | 1 |
| kMmio64 | 2 |
Defined at line 43 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h