class PciRoot
Defined at line 22 of file ../../src/devices/bus/drivers/pci/root.h
Public Methods
void AddRef ()
Implement refcounting for UpstreamNode
Defined at line 25 of file ../../src/devices/bus/drivers/pci/root.h
void Adopt ()
Implement refcounting for UpstreamNode
Defined at line 25 of file ../../src/devices/bus/drivers/pci/root.h
bool Release ()
Implement refcounting for UpstreamNode
Defined at line 25 of file ../../src/devices/bus/drivers/pci/root.h
void PciRoot (const PciRoot & )
Disallow copying, assigning and moving.
Defined at line 28 of file ../../src/devices/bus/drivers/pci/root.h
void PciRoot (PciRoot && )
Defined at line 29 of file ../../src/devices/bus/drivers/pci/root.h
PciRoot & operator= (const PciRoot & )
Defined at line 30 of file ../../src/devices/bus/drivers/pci/root.h
PciRoot & operator= (PciRoot && )
Defined at line 31 of file ../../src/devices/bus/drivers/pci/root.h
void ~PciRoot ()
Defined at line 32 of file ../../src/devices/bus/drivers/pci/root.h
PciAllocator & mmio_regions ()
Prefetch ranges can be allocated from the general mmio allocator
without any specific restrictions. There's no distinction between
prefetchable and non-prefetchable address space at this point
in the upstream allocation chain. This matters for bridges which
specifically will need their prefetch devices to be within the
prefetch window of upstream bridges.
Defined at line 40 of file ../../src/devices/bus/drivers/pci/root.h
PciAllocator & pf_mmio_regions ()
Defined at line 41 of file ../../src/devices/bus/drivers/pci/root.h
PciAllocator & pio_regions ()
Defined at line 42 of file ../../src/devices/bus/drivers/pci/root.h
zx_status_t SetBusMasteringUpstream (bool )
Defined at line 43 of file ../../src/devices/bus/drivers/pci/root.h
Protected Methods
void PciRoot (uint32_t mbus_id, ddk::PcirootProtocolClient proto)
PciRootAllocators can be trivially constructed because they only need
a way to call protocol operations. We set three of them up for the root
to use for accessing address space over the pciroot protocol.
1) mmio which tries to get mmio addresses
<
4GB
2) pf_mmio which will allocate anywhere in the mmio space
3) pio which will attempt to allocate from the pio allocator
Defined at line 53 of file ../../src/devices/bus/drivers/pci/root.h
Friends
class Bus