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_resource unowned_msi, zx::unowned_resource unowned_mmio, zx::unowned_resource unowned_ioport, pci_address_space_t io_type)

Defined at line 57 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h

zx_status_t AllocateMsi (uint32_t count, zx::msi * msi)

Defined at line 66 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h

zx::result<zx_paddr_t> AllocateMmio32Window (zx_paddr_t base, size_t size, zx::resource * out_resource, zx::eventpair * out_endpoint)

Defined at line 70 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h

zx::result<zx_paddr_t> AllocateMmio64Window (zx_paddr_t base, size_t size, zx::resource * out_resource, zx::eventpair * out_endpoint)

Defined at line 76 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h

zx::result<zx_paddr_t> AllocateIoWindow (zx_paddr_t base, size_t size, zx::resource * out_resource, zx::eventpair * out_endpoint)

Defined at line 93 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h

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 101 of file ../../src/devices/pci/lib/pci/include/lib/pci/root_host.h

void DumpAllocatorWindows ()

Defined at line 114 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 117 of file ../../src/devices/pci/lib/pci/root_host.cc

Enumerations

enum AllocationType
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