mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-11 05:39:45 +00:00
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:
committed by
David Kinder
parent
97aeb7f4ff
commit
047f4e90a2
@@ -1,6 +1,6 @@
|
||||
.. _APL_GVT-G-hld:
|
||||
.. _APL_GVT-g-hld:
|
||||
|
||||
GVT-G high-level design
|
||||
GVT-g high-level design
|
||||
#######################
|
||||
|
||||
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
|
||||
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 Xen, also known as, "XenGT"
|
||||
|
||||
@@ -349,7 +349,7 @@ exposed by the GVT device model.
|
||||
:align: center
|
||||
:name: gvt-arch
|
||||
|
||||
ACRN-GVT High-level Architecture
|
||||
AcrnGT High-level Architecture
|
||||
|
||||
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
|
||||
preemption) policy.
|
||||
|
||||
ACRN-GT
|
||||
AcrnGT
|
||||
*******
|
||||
|
||||
ACRN is a flexible, lightweight reference hypervisor, built with
|
||||
real-time and safety-criticality in mind, optimized to streamline
|
||||
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
|
||||
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.
|
||||
|
||||
.. figure:: images/APL_GVT-g-full-pic.png
|
||||
@@ -911,16 +911,16 @@ OS and an Android Guest OS.
|
||||
:align: center
|
||||
: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
|
||||
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
|
||||
write-protection pages, etc.
|
||||
|
||||
@@ -931,10 +931,10 @@ application:
|
||||
- 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-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:
|
||||
|
||||
- registering the virtual GPU device to the PCI device tree presented to
|
||||
|
@@ -1,6 +1,6 @@
|
||||
.. _GVT-G-porting:
|
||||
.. _GVT-g-porting:
|
||||
|
||||
GVT-G Enabling and Porting Guide
|
||||
GVT-g Enabling and Porting Guide
|
||||
################################
|
||||
|
||||
Introduction
|
||||
@@ -8,14 +8,14 @@ Introduction
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
vGPU instance adopts the full HW GPU's acceleration capability for
|
||||
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.
|
||||
It is the only layer that needs to be rewritten when porting GVT-g to
|
||||
other specific hypervisors.
|
||||
@@ -45,14 +45,14 @@ Overall Components
|
||||
******************
|
||||
|
||||
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
|
||||
Compiled from ``drivers/gpu/drm/i915/gvt/acrn_gvt.c``, the ACRN-GT
|
||||
AcrnGT module
|
||||
Compiled from ``drivers/gpu/drm/i915/gvt/acrn_gvt.c``, the AcrnGT
|
||||
module acts as a glue layer between the ACRN hypervisor and the
|
||||
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
|
||||
listens to ACRN hypervisor in ``acrngt_emulation_thread``, and informs GVT
|
||||
module of I/O traps.
|
||||
@@ -61,7 +61,7 @@ ACRN-GT module
|
||||
Device Model's routines, and receives request from GVT module through
|
||||
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
|
||||
``/sys/kernel/gvt/control/create_gvt_instance``.
|
||||
|
||||
@@ -87,7 +87,7 @@ VHM module
|
||||
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
|
||||
:align: center
|
||||
:name: GVT-g_components
|
||||
@@ -101,27 +101,27 @@ Core scenario interaction sequences
|
||||
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
|
||||
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
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
||||
request, and cleans up all vGPU resources.
|
||||
|
||||
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
|
||||
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
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
@@ -26,7 +26,7 @@ specific areas within the ACRN hypervisor system.
|
||||
ACPI-virt-hld.rst
|
||||
interrupt-hld.rst
|
||||
APL_GVT-g-hld.rst
|
||||
GVT-G-porting.rst
|
||||
GVT-g-porting.rst
|
||||
|
||||
Contributing to the project
|
||||
***************************
|
||||
|
Reference in New Issue
Block a user