From 42dc49902b4b4be34a57384085ca0184d96cea43 Mon Sep 17 00:00:00 2001 From: "David B. Kinder" Date: Fri, 28 May 2021 14:43:59 -0700 Subject: [PATCH] doc: add enabling PTM tutorial and PTM hld discussion Tracked-On: #5915 Signed-off-by: David B. Kinder --- doc/develop.rst | 1 + doc/developer-guides/hld/hld-devicemodel.rst | 1 + .../hld/hv-dev-passthrough.rst | 164 +++++++++++++++++- .../hld/images/PTM-hld-PTM-flow.png | Bin 0 -> 50582 bytes .../hld/images/PTM-hld-PTM-passthru.png | Bin 0 -> 74653 bytes doc/tutorials/enable_ptm.rst | 86 +++++++++ 6 files changed, 249 insertions(+), 3 deletions(-) create mode 100644 doc/developer-guides/hld/images/PTM-hld-PTM-flow.png create mode 100644 doc/developer-guides/hld/images/PTM-hld-PTM-passthru.png create mode 100644 doc/tutorials/enable_ptm.rst diff --git a/doc/develop.rst b/doc/develop.rst index 941d7471f..a4c524c39 100644 --- a/doc/develop.rst +++ b/doc/develop.rst @@ -75,6 +75,7 @@ Enable ACRN Features tutorials/acrn-secure-boot-with-grub tutorials/pre-launched-rt tutorials/enable_ivshmem + tutorials/enable_ptm Debug ***** diff --git a/doc/developer-guides/hld/hld-devicemodel.rst b/doc/developer-guides/hld/hld-devicemodel.rst index a418e0348..b88d3bc06 100644 --- a/doc/developer-guides/hld/hld-devicemodel.rst +++ b/doc/developer-guides/hld/hld-devicemodel.rst @@ -789,6 +789,7 @@ the bus hierarchy would be: 00:04.0 Ethernet controller: Red Hat, Inc. Virtio network device 00:05.0 Serial controller: Red Hat, Inc. Virtio console + ACPI Virtualization ******************* diff --git a/doc/developer-guides/hld/hv-dev-passthrough.rst b/doc/developer-guides/hld/hv-dev-passthrough.rst index d090e8cf1..858ec4e3d 100644 --- a/doc/developer-guides/hld/hv-dev-passthrough.rst +++ b/doc/developer-guides/hld/hv-dev-passthrough.rst @@ -12,6 +12,14 @@ emulation is discussed in :ref:`hld-io-emulation`, para-virtualization is discussed in :ref:`hld-virtio-devices` and device passthrough will be discussed here. +.. rst-class:: rst-columns2 + +.. contents:: + :depth: 1 + :local: + +-------- + In the ACRN project, device emulation means emulating all existing hardware resource through a software component device model running in the Service OS (SOS). Device emulation must maintain the same SW @@ -386,10 +394,160 @@ The platform GSI information is in devicemodel/hw/pci/platform_gsi_info.c for limited platform (currently, only APL MRB). For other platforms, the platform specific GSI information should be added to activate the checking of GSI sharing violation. -Data Structures and Interfaces -****************************** +.. _PCIe PTM implementation: -The following APIs are common APIs provided to initialize interrupt remapping for +PCIe Precision Time Measurement (PTM) +************************************* + +The PCI Express (PCIe) specification defines a Precision Time Measurement (PTM) +mechanism that enables time coordination and synchronization of events across +multiple PCI components with independent local time clocks within the same +system. Intel supports PTM on several of its systems and devices, such as PTM +root capabilities support on Whiskey Lake and Tiger Lake PCIe root ports, and +PTM device support on an Intel I225-V/I225-LM family Ethernet controller. For +further details on PTM, please refer to the `PCIe specification +`_. + +ACRN adds PCIe root port emulation in the hypervisor to support the PTM feature +and emulates a simple PTM hierarchy. ACRN enables PTM in a Guest VM if the user +sets the ``enable_ptm`` option when passing through a device to a post-launched +VM. When you enable PTM, the passthrough device is connected to a virtual +root port instead of the host bridge. + +By default, the :ref:`vm.PTM` option is disabled in ACRN VMs. Use the +:ref:`ACRN configuration tool ` to enable PTM +in the scenario XML file that configures the Guest VM. + +Here is an example launch script that configures a supported Ethernet card for +passthrough and enables PTM on it: + +.. code-block:: bash + :emphasize-lines: 9-11,17 + + declare -A passthru_vpid + declare -A passthru_bdf + passthru_vpid=( + ["ethptm"]="8086 15f2" + ) + passthru_bdf=( + ["ethptm"]="0000:aa:00.0" + ) + echo ${passthru_vpid["ethptm"]} > /sys/bus/pci/drivers/pci-stub/new_id + echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/devices/${passthru_bdf["ethptm"]}/driver/unbind + echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/drivers/pci-stub/bind + + acrn-dm -A -m $mem_size -s 0:0,hostbridge \ + -s 3,virtio-blk,uos-test.img \ + -s 4,virtio-net,tap0 \ + -s 5,virtio-console,@stdio:stdio_port \ + -s 6,passthru,a9/00/0,enable_ptm \ + --ovmf /usr/share/acrn/bios/OVMF.fd + +And here is the bus hierarchy from the User VM (as shown by the ``lspci`` command):: + + lspci -tv + -[0000:00]-+-00.0 Network Appliance Corporation Device 1275 + +-03.0 Red Hat, Inc. Virtio block device + +-04.0 Red Hat, Inc. Virtio network device + +-05.0 Red Hat, Inc. Virtio console + \-06.0-[01]----00.0 Intel Corporation Device 15f2 + + +PTM Implementation Notes +======================== + +To simplify PTM support implementation, the virtual root port only supports the +most basic PCIe configuration and operation, in addition to PTM capabilities. + +In Guest VM post-launched scenarios, you enable PTM by setting the +``enable_ptm`` option for the pass through device (as shown above). + +.. figure:: images/PTM-hld-PTM-flow.png + :align: center + :width: 700 + :name: ptm-flow + + PTM-enabling workflow in post-launched VM + +As shown in :numref:`ptm-flow`, PTM is enabled in the root port during the +hypervisor startup. The Device Model (DM) then checks whether the pass-through device +supports PTM requestor capabilities and whether the corresponding root port +supports PTM root capabilities, as well as some other sanity checks. If an +error is detected during these checks, the error will be reported and ACRN will +not enable PTM in the Guest VM. This doesn’t prevent the user from launching the Guest +VM and passing through the device to the Guest VM. If no error is detected, +the device model will use ``add_vdev`` hypercall to add a virtual root port (VRP), +acting as the PTM root, to the Guest VM before passing through the device to the Guest VM. + +.. figure:: images/PTM-hld-PTM-passthru.png + :align: center + :width: 700 + :name: ptm-vrp + + PTM-enabled PCI device pass-through to post-launched VM + +:numref:`ptm-vrp` shows that, after enabling PTM, the passthru device connects to +the virtual root port instead of the virtual host bridge. + +To use PTM in a virtualized environment, you may want to first verify that PTM +is supported by the device and is enabled on the bare metal machine. +If supported, follow these steps to enable PTM in the post-launched guest VM: + +1. Make sure that PTM is enabled in the guest kernel. In the Linux kernel, for example, + set ``CONFIG_PCIE_PTM=y``. +2. Not every PCI device supports PTM. One example that does is the Intel I225-V + Ethernet controller. If you passthrough this card to the guest VM, make sure the guest VM + uses a version of the IGC driver that supports PTM. +3. In the device model launch script, add the ``enable_ptm`` option to the + passthrough device. For example: + + .. code-block:: bash + :emphasize-lines: 5 + + $ acrn-dm -A -m $mem_size -s 0:0,hostbridge \ + -s 3,virtio-blk,uos-test.img \ + -s 4,virtio-net,tap0 \ + -s 5,virtio-console,@stdio:stdio_port \ + -s 6,passthru,a9/00/0,enable_ptm \ + --ovmf /usr/share/acrn/bios/OVMF.fd \ + +4. You can check that PTM is correctly enabled on guest by displaying the PCI + bus hiearchy on the guest using the ``lspci`` command: + + .. code-block:: bash + :emphasize-lines: 12,20 + + lspci -tv + -[0000:00]-+-00.0 Network Appliance Corporation Device 1275 + +-03.0 Red Hat, Inc. Virtio block device + +-04.0 Red Hat, Inc. Virtio network device + +-05.0 Red Hat, Inc. Virtio console + \-06.0-[01]----00.0 Intel Corporation Device 15f2 + + sudo lspci -vv # (Only relevant output is shown) + 00:00.0 Host bridge: Network Appliance Corporation Device 1275 + 00:06.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev 02) (prog-if 00 [Normal decode]) + . . . + Capabilities: [100 v1] Precision Time Measurement + PTMCap: Requester:- Responder:+ Root:+ + PTMClockGranularity: 4ns + PTMControl: Enabled:+ RootSelected:+ + PTMEffectiveGranularity: 4ns + Kernel driver in use: pcieport + 01:00.0 Ethernet controller: Intel Corporation Device 15f2 (rev 01) + . . . + Capabilities: [1f0 v1] Precision Time Measurement + PTMCap: Requester:+ Responder:- Root:- + PTMClockGranularity: 4ns + PTMControl: Enabled:+ RootSelected:- + PTMEffectiveGranularity: 4ns + Kernel driver in use: igc + + +API Data Structures and Interfaces +********************************** + +The following are common APIs provided to initialize interrupt remapping for VMs: .. doxygenfunction:: ptirq_intx_pin_remap diff --git a/doc/developer-guides/hld/images/PTM-hld-PTM-flow.png b/doc/developer-guides/hld/images/PTM-hld-PTM-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2c7e23d8a50adf5992f771d927747421f9ecf2e5 GIT binary patch literal 50582 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
DHY#dAO4gb5gXf{k5}p>J!lZNewRjyxl@la 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 ALI3~& literal 0 HcmV?d00001 diff --git a/doc/developer-guides/hld/images/PTM-hld-PTM-passthru.png b/doc/developer-guides/hld/images/PTM-hld-PTM-passthru.png new file mode 100644 index 0000000000000000000000000000000000000000..b228cd40cc9b0c22459b4953477393a82124fcfa GIT binary patch literal 74653 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 /sys/bus/pci/drivers/pci-stub/new_id + echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/devices/${passthru_bdf["ethptm"]}/driver/unbind + echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/drivers/pci-stub/bind + + acrn-dm -A -m $mem_size -s 0:0,hostbridge \ + -s 3,virtio-blk,uos-test.img \ + -s 4,virtio-net,tap0 \ + -s 5,virtio-console,@stdio:stdio_port \ + -s 6,passthru,a9/00/0,enable_ptm \ + --ovmf /usr/share/acrn/bios/OVMF.fd + +.. important:: By default, the :ref:`vm.PTM` option is disabled in ACRN VMs. Use the + :ref:`ACRN configuration tool ` to enable PTM + in the scenario XML file that configures the Guest VM. + +Here is the bus hierarchy in the Guest VM (as shown by the ``lspci`` command):: + + lspci -tv + -[0000:00]-+-00.0 Network Appliance Corporation Device 1275 + +-03.0 Red Hat, Inc. Virtio block device + +-04.0 Red Hat, Inc. Virtio network device + +-05.0 Red Hat, Inc. Virtio console + \-06.0-[01]----00.0 Intel Corporation Device 15f2 + +(Instead of ``Device 15f2`` you might see ``Ethernet Controller I225LM``.) + +You can also verify that PTM was enabled by using ``dmesg`` in the guest VM:: + + dmesg | grep -i ptm + [ 1.555284] pci_ptm_init: 00:00.00, ispcie=1, type=0x4 + [ 1.555356] Cannot find PTM ext cap. + [ 1.561311] pci_ptm_init: 00:03.00, ispcie=0, type=0x0 + [ 1.567146] pci_ptm_init: 00:04.00, ispcie=0, type=0x0 + [ 1.572983] pci_ptm_init: 00:05.00, ispcie=0, type=0x0 + [ 1.718038] pci_ptm_init: 00:06.00, ispcie=1, type=0x4 + [ 1.722034] ptm is ptm_root. + [ 1.723033] Condition-2: ptm is enabled. + [ 1.723052] pci 0000:00:06.0: PTM enabled (root), 4ns granularity + [ 1.766438] pci_ptm_init: a9:00.00, ispcie=1, type=0x0 + [ 5.715000] igc_probe enable ptm. + [ 5.715068] pci_enable_ptm: a9:00.00, ispcie=1, type=0x0 + [ 5.715294] ptm is enabled on endpoint device. + [ 5.715371] igc 0000:a9:00.0: PTM enabled, 4ns granularity + +PTM Implementation Notes +************************ + +To simplify the implementation, the virtual root port only supports the most +basic PCIe configuration and operation, in addition to PTM capabilities. + +To use PTM in a virtualized environment, you may want to first verify that PTM +is supported by the device and is enabled on the bare metal machine and in the +Guest VM kernel (e.g., ``CONFIG_PCIE_PTM=y`` option is set in the Linux kernel). + +You can find more details about the PTM implementation in the +:ref:`ACRN HLD PCIe PTM documentation `.