struct CamOffset

Defined at line 87 of file ../../src/devices/bus/drivers/pci/config.h

Per spec (quoting Linux DT host-generic bindings):

For CAM, this 24-bit offset is:

cfg_offset(bus, device, function, register) =

bus

<

<

16 | device

<

<

11 | function

<

<

8 | register

While ECAM extends this by 4 bits to accommodate 4k of function space:

cfg_offset(bus, device, function, register) =

bus

<

<

20 | device

<

<

15 | function

<

<

12 | register

Public Members

zx_vaddr_t offset

Public Methods

typename std::remove_reference_t<decltype(offset)> bus ()

Defined at line 89 of file ../../src/devices/bus/drivers/pci/config.h

pci::CamOffset & set_bus (typename std::remove_reference_t<decltype(offset)> val)

Defined at line 89 of file ../../src/devices/bus/drivers/pci/config.h

typename std::remove_reference_t<decltype(offset)> device ()

Defined at line 90 of file ../../src/devices/bus/drivers/pci/config.h

pci::CamOffset & set_device (typename std::remove_reference_t<decltype(offset)> val)

Defined at line 90 of file ../../src/devices/bus/drivers/pci/config.h

typename std::remove_reference_t<decltype(offset)> function ()

Defined at line 91 of file ../../src/devices/bus/drivers/pci/config.h

pci::CamOffset & set_function (typename std::remove_reference_t<decltype(offset)> val)

Defined at line 91 of file ../../src/devices/bus/drivers/pci/config.h