docs: Document composable SR-IOV device
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-Id: <20240715-sriov-v5-8-3f5539093ffc@daynix.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
c2d6db6a1f
commit
d6f40c95b3
@ -2010,6 +2010,7 @@ F: hw/pci-bridge/*
|
|||||||
F: qapi/pci.json
|
F: qapi/pci.json
|
||||||
F: docs/pci*
|
F: docs/pci*
|
||||||
F: docs/specs/*pci*
|
F: docs/specs/*pci*
|
||||||
|
F: docs/system/sriov.rst
|
||||||
|
|
||||||
PCIE DOE
|
PCIE DOE
|
||||||
M: Huai-Cheng Kuo <hchkuo@avery-design.com.tw>
|
M: Huai-Cheng Kuo <hchkuo@avery-design.com.tw>
|
||||||
|
@ -39,3 +39,4 @@ or Hypervisor.Framework.
|
|||||||
multi-process
|
multi-process
|
||||||
confidential-guest-support
|
confidential-guest-support
|
||||||
vm-templating
|
vm-templating
|
||||||
|
sriov
|
||||||
|
36
docs/system/sriov.rst
Normal file
36
docs/system/sriov.rst
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
Compsable SR-IOV device
|
||||||
|
=======================
|
||||||
|
|
||||||
|
SR-IOV (Single Root I/O Virtualization) is an optional extended capability of a
|
||||||
|
PCI Express device. It allows a single physical function (PF) to appear as
|
||||||
|
multiple virtual functions (VFs) for the main purpose of eliminating software
|
||||||
|
overhead in I/O from virtual machines.
|
||||||
|
|
||||||
|
There are devices with predefined SR-IOV configurations, but it is also possible
|
||||||
|
to compose an SR-IOV device yourself. Composing an SR-IOV device is currently
|
||||||
|
only supported by virtio-net-pci.
|
||||||
|
|
||||||
|
Users can configure an SR-IOV-capable virtio-net device by adding
|
||||||
|
virtio-net-pci functions to a bus. Below is a command line example:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
-netdev user,id=n -netdev user,id=o
|
||||||
|
-netdev user,id=p -netdev user,id=q
|
||||||
|
-device pcie-root-port,id=b
|
||||||
|
-device virtio-net-pci,bus=b,addr=0x0.0x3,netdev=q,sriov-pf=f
|
||||||
|
-device virtio-net-pci,bus=b,addr=0x0.0x2,netdev=p,sriov-pf=f
|
||||||
|
-device virtio-net-pci,bus=b,addr=0x0.0x1,netdev=o,sriov-pf=f
|
||||||
|
-device virtio-net-pci,bus=b,addr=0x0.0x0,netdev=n,id=f
|
||||||
|
|
||||||
|
The VFs specify the paired PF with ``sriov-pf`` property. The PF must be
|
||||||
|
added after all VFs. It is the user's responsibility to ensure that VFs have
|
||||||
|
function numbers larger than one of the PF, and that the function numbers
|
||||||
|
have a consistent stride.
|
||||||
|
|
||||||
|
You may also need to perform additional steps to activate the SR-IOV feature on
|
||||||
|
your guest. For Linux, refer to [1]_.
|
||||||
|
|
||||||
|
.. [1] https://docs.kernel.org/PCI/pci-iov-howto.html
|
Loading…
Reference in New Issue
Block a user