Documentation: update to AcrnGT official name

Update the ACRN documentation to use the official name of GVT-g
in ACRN to "AcrnGT" (ACRN-GT was previously widely used).

Also update the few occurences of "GVT-G" to "GVT-g" to be
consistent across our documentation. This includes a couple of
file name updates.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
This commit is contained in:
Geoffroy Van Cutsem 2018-08-23 12:38:07 +02:00 committed by David Kinder
parent 97aeb7f4ff
commit 047f4e90a2
6 changed files with 42 additions and 39 deletions

View File

@ -5,13 +5,13 @@ ACRN GVT-g APIs
GVT-g is Intel's open source GPU virtualization solution and is up-streamed to GVT-g is Intel's open source GPU virtualization solution and is up-streamed to
the Linux kernel. Its implementation over KVM is named KVMGT, over Xen it is the Linux kernel. Its implementation over KVM is named KVMGT, over Xen it is
named XenGT, and over ACRN it is named ACRN-GT. GVT-g can exports multiple named XenGT, and over ACRN it is named AcrnGT. GVT-g can exports multiple
virtual GPU (vGPU) instances for virtual machine system (VM). A VM could be virtual GPU (vGPU) instances for virtual machine system (VM). A VM could be
assigned one vGPU instance. The guest OS graphic driver needs minor assigned one vGPU instance. The guest OS graphic driver needs minor
modification to drive the vGPU adapter in a VM. Every vGPU instance will adopt modification to drive the vGPU adapter in a VM. Every vGPU instance will adopt
the full HW GPUs accelerate capability for 3D render and display. the full HW GPUs accelerate capability for 3D render and display.
In the following document, ACRN-GT refers to the glue layer between ACRN In the following document, AcrnGT refers to the glue layer between ACRN
hypervisor and GVT-g core device model. It works as the agent of hypervisor and GVT-g core device model. It works as the agent of
hypervisor-related services. It is the only layer that needs to get rewritten hypervisor-related services. It is the only layer that needs to get rewritten
when porting GVT-g to another hypervisor. For simplicity, in the rest of this when porting GVT-g to another hypervisor. For simplicity, in the rest of this
@ -47,7 +47,7 @@ Intel GVT-g Host Support(vGPU device model)
:internal: :internal:
VHM APIs called from ACRN-GT VHM APIs called from AcrnGT
**************************** ****************************
The Virtio and Hypervisor Service Module (VHM) is a kernel module in the The Virtio and Hypervisor Service Module (VHM) is a kernel module in the
@ -83,14 +83,14 @@ responses to user space modules, notified by vIRQ injections.
.. _MPT_interface: .. _MPT_interface:
ACRN-GT mediated pass-through (MPT) interface AcrnGT mediated pass-through (MPT) interface
************************************************** **************************************************
ACRN-GT receives request from GVT module through MPT interface. Refer to the AcrnGT receives request from GVT module through MPT interface. Refer to the
:ref:`Graphic_mediation` page. :ref:`Graphic_mediation` page.
A collection of function callbacks in the MPT module will be attached to GVT A collection of function callbacks in the MPT module will be attached to GVT
host at the driver loading stage. ACRN-GT MPT function callbacks are described host at the driver loading stage. AcrnGT MPT function callbacks are described
as below: as below:
@ -185,10 +185,10 @@ in the `ACRN kernel GitHub repo`_
.. _sysfs_interface: .. _sysfs_interface:
ACRN-GT sysfs interface AcrnGT sysfs interface
*********************** ***********************
This section contains APIs for the ACRN-GT sysfs interface. Sources are found This section contains APIs for the AcrnGT sysfs interface. Sources are found
in the `ACRN kernel GitHub repo`_ in the `ACRN kernel GitHub repo`_
@ -212,7 +212,7 @@ figure out what kind of error occurs.
/sys/kernel/gvt/ /sys/kernel/gvt/
---------------- ----------------
The ``/sys/kernel/gvt/`` class sub-directory belongs to ACRN-GT and provides a The ``/sys/kernel/gvt/`` class sub-directory belongs to AcrnGT and provides a
centralized sysfs interface for configuring vGPU properties. centralized sysfs interface for configuring vGPU properties.

View File

@ -1,6 +1,6 @@
.. _APL_GVT-G-hld: .. _APL_GVT-g-hld:
GVT-G high-level design GVT-g high-level design
####################### #######################
Introduction Introduction
@ -55,7 +55,7 @@ native graphics driver can run directly inside a VM.
Intel® GVT-g technology for Apollo Lake (APL) has been implemented in Intel® GVT-g technology for Apollo Lake (APL) has been implemented in
open source hypervisors or Virtual Machine Monitors (VMMs): open source hypervisors or Virtual Machine Monitors (VMMs):
- Intel® GVT-g for ACRN, also known as, "ACRN-GVT" - Intel® GVT-g for ACRN, also known as, "AcrnGT"
- Intel® GVT-g for KVM, also known as, "KVMGT" - Intel® GVT-g for KVM, also known as, "KVMGT"
- Intel® GVT-g for Xen, also known as, "XenGT" - Intel® GVT-g for Xen, also known as, "XenGT"
@ -349,7 +349,7 @@ exposed by the GVT device model.
:align: center :align: center
:name: gvt-arch :name: gvt-arch
ACRN-GVT High-level Architecture AcrnGT High-level Architecture
Key Techniques Key Techniques
************** **************
@ -892,18 +892,18 @@ UOS. This policy can be enforced through an SOS i915 kernel command line
parameter, and can replace the default in-order command submission (no parameter, and can replace the default in-order command submission (no
preemption) policy. preemption) policy.
ACRN-GT AcrnGT
******* *******
ACRN is a flexible, lightweight reference hypervisor, built with ACRN is a flexible, lightweight reference hypervisor, built with
real-time and safety-criticality in mind, optimized to streamline real-time and safety-criticality in mind, optimized to streamline
embedded development through an open source platform. embedded development through an open source platform.
ACRN-GT is the GVT-g implementation on the ACRN hypervisor. It adapts AcrnGT is the GVT-g implementation on the ACRN hypervisor. It adapts
the MPT interface of GVT-g onto ACRN by using the kernel APIs provided the MPT interface of GVT-g onto ACRN by using the kernel APIs provided
by ACRN. by ACRN.
:numref:`full-pic` shows the full architecture of ACRN-GT with a Linux Guest :numref:`full-pic` shows the full architecture of AcrnGT with a Linux Guest
OS and an Android Guest OS. OS and an Android Guest OS.
.. figure:: images/APL_GVT-g-full-pic.png .. figure:: images/APL_GVT-g-full-pic.png
@ -911,16 +911,16 @@ OS and an Android Guest OS.
:align: center :align: center
:name: full-pic :name: full-pic
Full picture of the ACRN-GT Full picture of the AcrnGT
ACRN-GT in kernel AcrnGT in kernel
================= =================
The ACRN-GT module in the SOS kernel acts as an adaption layer to connect The AcrnGT module in the SOS kernel acts as an adaption layer to connect
between GVT-g in the i915, the VHM module, and the ACRN-DM user space between GVT-g in the i915, the VHM module, and the ACRN-DM user space
application: application:
- ACRN-GT module implements the MPT interface of GVT-g to provide - AcrnGT module implements the MPT interface of GVT-g to provide
services to it, including set and unset trap areas, set and unset services to it, including set and unset trap areas, set and unset
write-protection pages, etc. write-protection pages, etc.
@ -931,10 +931,10 @@ application:
- It provides user space interfaces through ``sysfs`` to the user space - It provides user space interfaces through ``sysfs`` to the user space
ACRN-DM, so that DM can manage the lifecycle of the virtual GPUs. ACRN-DM, so that DM can manage the lifecycle of the virtual GPUs.
ACRN-GT in DM AcrnGT in DM
============= =============
To emulate a PCI device to a Guest, we need an ACRN-GT sub-module in the To emulate a PCI device to a Guest, we need an AcrnGT sub-module in the
ACRN-DM. This sub-module is responsible for: ACRN-DM. This sub-module is responsible for:
- registering the virtual GPU device to the PCI device tree presented to - registering the virtual GPU device to the PCI device tree presented to

View File

@ -1,6 +1,6 @@
.. _GVT-G-porting: .. _GVT-g-porting:
GVT-G Enabling and Porting Guide GVT-g Enabling and Porting Guide
################################ ################################
Introduction Introduction
@ -8,14 +8,14 @@ Introduction
GVT-g is Intel's Open Source GPU virtualization solution, up-streamed to GVT-g is Intel's Open Source GPU virtualization solution, up-streamed to
the Linux kernel. Its implementation over KVM is named KVMGT, over Xen the Linux kernel. Its implementation over KVM is named KVMGT, over Xen
is named XenGT, and over ACRN is named ACRN-GT. GVT-g can export is named XenGT, and over ACRN is named AcrnGT. GVT-g can export
multiple virtual-GPU (vGPU) instances for virtual machine (VM) system. A multiple virtual-GPU (vGPU) instances for virtual machine (VM) system. A
VM can be assigned one instance of a vGPU. The guest OS graphic driver VM can be assigned one instance of a vGPU. The guest OS graphic driver
needs only minor modifications to drive the vGPU adapter in a VM. Every needs only minor modifications to drive the vGPU adapter in a VM. Every
vGPU instance adopts the full HW GPU's acceleration capability for vGPU instance adopts the full HW GPU's acceleration capability for
media, 3D rendering, and display. media, 3D rendering, and display.
ACRN-GT refers to the glue layer between the ACRN hypervisor and GVT-g AcrnGT refers to the glue layer between the ACRN hypervisor and GVT-g
core device model. It works as the agent of hypervisor-related services. core device model. It works as the agent of hypervisor-related services.
It is the only layer that needs to be rewritten when porting GVT-g to It is the only layer that needs to be rewritten when porting GVT-g to
other specific hypervisors. other specific hypervisors.
@ -45,14 +45,14 @@ Overall Components
****************** ******************
For the GVT-g solution for the ACRN hypervisor, there are two For the GVT-g solution for the ACRN hypervisor, there are two
key modules: ACRN-GT and GVT: key modules: AcrnGT and GVT:
ACRN-GT module AcrnGT module
Compiled from ``drivers/gpu/drm/i915/gvt/acrn_gvt.c``, the ACRN-GT Compiled from ``drivers/gpu/drm/i915/gvt/acrn_gvt.c``, the AcrnGT
module acts as a glue layer between the ACRN hypervisor and the module acts as a glue layer between the ACRN hypervisor and the
interface to the ACRN-DM in user space. interface to the ACRN-DM in user space.
ACRN-GT is the agent of hypervisor related services, including I/O trap AcrnGT is the agent of hypervisor related services, including I/O trap
request, IRQ injection, address translation, VM controls, etc. It also request, IRQ injection, address translation, VM controls, etc. It also
listens to ACRN hypervisor in ``acrngt_emulation_thread``, and informs GVT listens to ACRN hypervisor in ``acrngt_emulation_thread``, and informs GVT
module of I/O traps. module of I/O traps.
@ -61,7 +61,7 @@ ACRN-GT module
Device Model's routines, and receives request from GVT module through Device Model's routines, and receives request from GVT module through
the :ref:`MPT_interface`. the :ref:`MPT_interface`.
User space programs, such as ACRN-DM, communicate with ACRN-GT through User space programs, such as ACRN-DM, communicate with AcrnGT through
the :ref:`sysfs_interface` by writing to sysfs node the :ref:`sysfs_interface` by writing to sysfs node
``/sys/kernel/gvt/control/create_gvt_instance``. ``/sys/kernel/gvt/control/create_gvt_instance``.
@ -87,7 +87,7 @@ VHM module
I/O responses to user space modules, notified by vIRQ injections. I/O responses to user space modules, notified by vIRQ injections.
.. figure:: images/GVT-G-porting-image1.png .. figure:: images/GVT-g-porting-image1.png
:width: 700px :width: 700px
:align: center :align: center
:name: GVT-g_components :name: GVT-g_components
@ -101,27 +101,27 @@ Core scenario interaction sequences
vGPU creation scenario vGPU creation scenario
====================== ======================
In this scenario, ACRN-GT receives a create request from ACRN-DM. It In this scenario, AcrnGT receives a create request from ACRN-DM. It
calls GVT's :ref:`intel_gvt_ops_interface` to inform GVT of vGPU calls GVT's :ref:`intel_gvt_ops_interface` to inform GVT of vGPU
creation. This interface sets up all vGPU resources such as MMIO, GMA, creation. This interface sets up all vGPU resources such as MMIO, GMA,
PVINFO, GTT, DISPLAY, and Execlists, and calls back to the ACRN-GT PVINFO, GTT, DISPLAY, and Execlists, and calls back to the AcrnGT
module through the :ref:`MPT_interface` ``attach_vgpu``. Then, the module through the :ref:`MPT_interface` ``attach_vgpu``. Then, the
ACRN-GT module sets up an I/O request server and asks to trap the PCI AcrnGT module sets up an I/O request server and asks to trap the PCI
configure space of the vGPU (virtual device 0:2:0) via VHM's APIs. configure space of the vGPU (virtual device 0:2:0) via VHM's APIs.
Finally, the ACRN-GT module launches a ACRN-GT emulation thread to Finally, the AcrnGT module launches a AcrnGT emulation thread to
listen to I/O trap notifications from HVM and ACRN hypervisor. listen to I/O trap notifications from HVM and ACRN hypervisor.
vGPU destroy scenario vGPU destroy scenario
===================== =====================
In this scenario, ACRN-GT receives a destroy request from ACRN-DM. It In this scenario, AcrnGT receives a destroy request from ACRN-DM. It
calls GVT's :ref:`intel_gvt_ops_interface` to inform GVT of the vGPU destroy calls GVT's :ref:`intel_gvt_ops_interface` to inform GVT of the vGPU destroy
request, and cleans up all vGPU resources. request, and cleans up all vGPU resources.
vGPU pci configure space write scenario vGPU pci configure space write scenario
======================================= =======================================
ACRN traps the vGPU's PCI config space write, notifies ACRN-GT's ACRN traps the vGPU's PCI config space write, notifies AcrnGT's
``acrngt_emulation_thread``, which calls ``acrngt_hvm_pio_emulation`` to ``acrngt_emulation_thread``, which calls ``acrngt_hvm_pio_emulation`` to
handle all I/O trap notifications. This routine calls the GVT's handle all I/O trap notifications. This routine calls the GVT's
:ref:`intel_gvt_ops_interface` ``emulate_cfg_write`` to emulate the vGPU PCI :ref:`intel_gvt_ops_interface` ``emulate_cfg_write`` to emulate the vGPU PCI

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -26,7 +26,7 @@ specific areas within the ACRN hypervisor system.
ACPI-virt-hld.rst ACPI-virt-hld.rst
interrupt-hld.rst interrupt-hld.rst
APL_GVT-g-hld.rst APL_GVT-g-hld.rst
GVT-G-porting.rst GVT-g-porting.rst
Contributing to the project Contributing to the project
*************************** ***************************

View File

@ -16,6 +16,9 @@ Glossary of Terms
real-time and safety-criticality in mind, optimized to streamline real-time and safety-criticality in mind, optimized to streamline
embedded development through an open source platform. embedded development through an open source platform.
AcrnGT
Intel GVT-g technology for ACRN.
ACRN-DM ACRN-DM
A user mode device model application running in Service OS to provide A user mode device model application running in Service OS to provide
device emulations in ACRN hypervisor. device emulations in ACRN hypervisor.