diff options
author | Michael Brown <mcb30@ipxe.org> | 2020-11-21 13:19:27 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2020-11-21 13:35:11 +0000 |
commit | 76a7bfe939b4b6ea88690e8c6960c65d57c01b5e (patch) | |
tree | 473a19a882a6cc0989d2c30a2cc52ba65c091236 /src/drivers/net/intelxlvf.c | |
parent | b6eb17cbd790b8336a9a5fe1878008f905642c9b (diff) | |
download | ipxe-76a7bfe939b4b6ea88690e8c6960c65d57c01b5e.tar.gz |
[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/drivers/net/intelxlvf.c')
0 files changed, 0 insertions, 0 deletions