diff options
| author | Michael Brown | 2020-11-21 14:19:27 +0100 |
|---|---|---|
| committer | Michael Brown | 2020-11-21 14:35:11 +0100 |
| commit | 76a7bfe939b4b6ea88690e8c6960c65d57c01b5e (patch) | |
| tree | 473a19a882a6cc0989d2c30a2cc52ba65c091236 /src/include/etherboot.h | |
| parent | [intelxl] Read MAC address from PRTPM_SA[HL] instead of PRTGL_SA[HL] (diff) | |
| download | ipxe-76a7bfe939b4b6ea88690e8c6960c65d57c01b5e.tar.gz ipxe-76a7bfe939b4b6ea88690e8c6960c65d57c01b5e.tar.xz ipxe-76a7bfe939b4b6ea88690e8c6960c65d57c01b5e.zip | |
[intelxl] Read PCI bus:dev.fn number from PFFUNC_RID register
For the physical function driver, the transmit queue needs to be
configured to be associated with the relevant physical function
number. This is currently obtained from the bus:dev.fn address of the
underlying PCI device.
In the case of a virtual machine using the physical function via PCI
passthrough, the PCI bus:dev.fn address within the virtual machine is
unrelated to the real physical function number. Such a function will
typically be presented to the virtual machine as a single-function
device. The function number extracted from the PCI bus:dev.fn address
will therefore always be zero.
Fix by reading from the Function Requester ID Information Register,
which always returns the real PCI bus:dev.fn address as used by the
physical host.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/etherboot.h')
0 files changed, 0 insertions, 0 deletions
