mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-18 19:57:31 +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:
parent
97aeb7f4ff
commit
047f4e90a2
@ -5,13 +5,13 @@ ACRN GVT-g APIs
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
the full HW GPU’s 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-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
|
||||
@ -47,7 +47,7 @@ Intel GVT-g Host Support(vGPU device model)
|
||||
: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
|
||||
@ -83,14 +83,14 @@ responses to user space modules, notified by vIRQ injections.
|
||||
|
||||
.. _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.
|
||||
|
||||
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:
|
||||
|
||||
|
||||
@ -185,10 +185,10 @@ in the `ACRN kernel GitHub repo`_
|
||||
|
||||
.. _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`_
|
||||
|
||||
|
||||
@ -212,7 +212,7 @@ figure out what kind of error occurs.
|
||||
/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.
|
||||
|
||||
|
||||
|
@ -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
|
||||
***************************
|
||||
|
@ -16,6 +16,9 @@ Glossary of Terms
|
||||
real-time and safety-criticality in mind, optimized to streamline
|
||||
embedded development through an open source platform.
|
||||
|
||||
AcrnGT
|
||||
Intel GVT-g technology for ACRN.
|
||||
|
||||
ACRN-DM
|
||||
A user mode device model application running in Service OS to provide
|
||||
device emulations in ACRN hypervisor.
|
||||
|
Loading…
Reference in New Issue
Block a user