Skip to content

Commit ddc769f

Browse files
committed
doc: update release_2.0 branch with doc changes
Update the working release_2.0 branch with doc updates made since the code feature freeze two weeks ago. (This is an update of all docs changed in master since then, instead of doing cherry-picks of the individual doc PRs/commits). Signed-off-by: David B. Kinder <[email protected]>
1 parent e0a101d commit ddc769f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1313
-364
lines changed

doc/404.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Page Not Found
66
##############
77

8-
.. rst-class:: rst-columns
8+
.. rst-class:: rst-columns2
99

1010
.. image:: images/ACRN-fall-from-tree-small.png
1111
:align: left

doc/api/GVT-g_api.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ responses to user space modules, notified by vIRQ injections.
8383

8484
.. _MPT_interface:
8585

86-
AcrnGT mediated pass-through (MPT) interface
87-
**************************************************
86+
AcrnGT mediated passthrough (MPT) interface
87+
*******************************************
8888

8989
AcrnGT receives request from GVT module through MPT interface. Refer to the
9090
:ref:`Graphic_mediation` page.

doc/conf.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ def setup(app):
240240
# using the given strftime format.
241241
html_last_updated_fmt = '%b %d, %Y'
242242

243+
# The name of a javascript file (relative to the configuration directory) that
244+
# implements a search results scorer. If empty, the default will be used.
245+
html_search_scorer = 'scorer.js'
246+
243247
# -- Options for HTMLHelp output ------------------------------------------
244248

245249
# Output file base name for HTML help builder.

doc/develop.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Configuration and Tools
1515

1616
tutorials/acrn_configuration_tool
1717
reference/kconfig/index
18+
user-guides/hv-parameters
1819
user-guides/kernel-parameters
1920
user-guides/acrn-shell
2021
user-guides/acrn-dm-parameters
@@ -76,6 +77,7 @@ Enable ACRN Features
7677
tutorials/rtvm_workload_design_guideline
7778
tutorials/setup_openstack_libvirt
7879
tutorials/acrn_on_qemu
80+
tutorials/using_grub
7981

8082
Debug
8183
*****

doc/developer-guides/hld/hld-APL_GVT-g.rst

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ SoCs.
1717
This document describes:
1818

1919
- The different GPU virtualization techniques
20-
- GVT-g mediated pass-through
20+
- GVT-g mediated passthrough
2121
- High level design
2222
- Key components
2323
- GVT-g new architecture differentiation
@@ -47,7 +47,7 @@ Background
4747

4848
Intel GVT-g is an enabling technology in emerging graphics
4949
virtualization scenarios. It adopts a full GPU virtualization approach
50-
based on mediated pass-through technology, to achieve good performance,
50+
based on mediated passthrough technology, to achieve good performance,
5151
scalability and secure isolation among Virtual Machines (VMs). A virtual
5252
GPU (vGPU), with full GPU features, is presented to each VM so that a
5353
native graphics driver can run directly inside a VM.
@@ -161,10 +161,10 @@ also suffers from the following intrinsic limitations:
161161
exhibit quite different performance, which gives rise to a need for a
162162
fine-grained graphics tuning effort.
163163

164-
Direct Pass-Through
164+
Direct Passthrough
165165
-------------------
166166

167-
"Direct pass-through" dedicates the GPU to a single VM, providing full
167+
"Direct passthrough" dedicates the GPU to a single VM, providing full
168168
features and good performance, but at the cost of device sharing
169169
capability among VMs. Only one VM at a time can use the hardware
170170
acceleration capability of the GPU, which is a major limitation of this
@@ -177,7 +177,7 @@ solution. Intel GVT-d uses this mechanism.
177177
:align: center
178178
:name: gvt-pass-through
179179

180-
Pass-Through
180+
Passthrough
181181

182182
SR-IOV
183183
------
@@ -188,16 +188,16 @@ with each VF directly assignable to a VM.
188188

189189
.. _Graphic_mediation:
190190

191-
Mediated Pass-Through
191+
Mediated Passthrough
192192
*********************
193193

194194
Intel GVT-g achieves full GPU virtualization using a "mediated
195-
pass-through" technique.
195+
passthrough" technique.
196196

197197
Concept
198198
=======
199199

200-
Mediated pass-through allows a VM to access performance-critical I/O
200+
Mediated passthrough allows a VM to access performance-critical I/O
201201
resources (usually partitioned) directly, without intervention from the
202202
hypervisor in most cases. Privileged operations from this VM are
203203
trapped-and-emulated to provide secure isolation among VMs.
@@ -207,7 +207,7 @@ trapped-and-emulated to provide secure isolation among VMs.
207207
:align: center
208208
:name: mediated-pass-through
209209

210-
Mediated Pass-Through
210+
Mediated Passthrough
211211

212212
The Hypervisor must ensure that no vulnerability is exposed when
213213
assigning performance-critical resource to each VM. When a
@@ -229,7 +229,7 @@ Examples of performance-critical I/O resources include the following:
229229
Performance-Critical I/O Resources
230230

231231

232-
The key to implementing mediated pass-through for a specific device is
232+
The key to implementing mediated passthrough for a specific device is
233233
to define the right policy for various I/O resources.
234234

235235
Virtualization Policies for GPU Resources
@@ -317,7 +317,7 @@ High Level Architecture
317317
:numref:`gvt-arch` shows the overall architecture of GVT-g, based on the
318318
ACRN hypervisor, with Service VM as the privileged VM, and multiple user
319319
guests. A GVT-g device model working with the ACRN hypervisor,
320-
implements the policies of trap and pass-through. Each guest runs the
320+
implements the policies of trap and passthrough. Each guest runs the
321321
native graphics driver and can directly access performance-critical
322322
resources: the Frame Buffer and Command Buffer, with resource
323323
partitioning (as presented later). To protect privileged resources, that
@@ -331,14 +331,14 @@ concurrently with the CPU scheduler in ACRN to share the physical GPU
331331
timeslot among the VMs. GVT-g uses the physical GPU to directly execute
332332
all the commands submitted from a VM, so it avoids the complexity of
333333
emulating the Render Engine, which is the most complex part of the GPU.
334-
In the meantime, the resource pass-through of both the Frame Buffer and
334+
In the meantime, the resource passthrough of both the Frame Buffer and
335335
Command Buffer minimizes the hypervisor's intervention of CPU accesses,
336336
while the GPU scheduler guarantees every VM a quantum time-slice for
337337
direct GPU execution. With that, GVT-g can achieve near-native
338338
performance for a VM workload.
339339

340340
In :numref:`gvt-arch`, the yellow GVT device model works as a client on
341-
top of an i915 driver in the Service VM. It has a generic Mediated Pass-Through
341+
top of an i915 driver in the Service VM. It has a generic Mediated Passthrough
342342
(MPT) interface, compatible with all types of hypervisors. For ACRN,
343343
some extra development work is needed for such MPT interfaces. For
344344
example, we need some changes in ACRN-DM to make ACRN compatible with
@@ -795,7 +795,7 @@ the shadow PTE entries.
795795
Per-VM Shadow PPGTT
796796
-------------------
797797

798-
To support local graphics memory access pass-through, GVT-g implements
798+
To support local graphics memory access passthrough, GVT-g implements
799799
per-VM shadow local page tables. The local graphics memory is only
800800
accessible from the Render Engine. The local page tables have two-level
801801
paging structures, as shown in :numref:`per-vm-shadow`.

doc/developer-guides/hld/hld-devicemodel.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1189,8 +1189,8 @@ and waits for a resume signal. When the User VM should exit from S3, DM will
11891189
get a wakeup signal and reset the User VM to emulate the User VM exit from
11901190
S3.
11911191

1192-
Pass-through in Device Model
1192+
Passthrough in Device Model
11931193
****************************
11941194

1195-
You may refer to :ref:`hv-device-passthrough` for pass-through realization
1195+
You may refer to :ref:`hv-device-passthrough` for passthrough realization
11961196
in device model.

doc/developer-guides/hld/hld-emulated-devices.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ documented in this section.
2222
Hostbridge emulation <hostbridge-virt-hld>
2323
AT keyboard controller emulation <atkbdc-virt-hld>
2424
Split Device Model <split-dm>
25+
Shared memory based inter-vm communication <ivshmem-hld>

doc/developer-guides/hld/hld-overview.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ for its RT VM:
6161

6262
- CAT (Cache Allocation Technology)
6363
- MBA (Memory Bandwidth Allocation)
64-
- LAPIC pass-thru
64+
- LAPIC passthrough
6565
- Polling mode driver
6666
- ART (always running timer)
6767
- other TCC features like split lock detection, Pseudo locking for cache
@@ -109,7 +109,7 @@ separate instrument cluster VM is started after the User VM is booted.
109109
:numref:`overview-arch1.0` shows the architecture of ACRN 1.0 together with
110110
the IC VM and Service VM. As shown, the Service VM owns most of platform devices and
111111
provides I/O mediation to VMs. Some of the PCIe devices function as a
112-
pass-through mode to User VMs according to VM configuration. In addition,
112+
passthrough mode to User VMs according to VM configuration. In addition,
113113
the Service VM could run the IC applications and HV helper applications such
114114
as the Device Model, VM manager, etc. where the VM manager is responsible
115115
for VM start/stop/pause, virtual CPU pause/resume, etc.
@@ -136,7 +136,7 @@ compared to ACRN 1.0 is that:
136136
interference between different VMs
137137

138138
- ACRN 2.0 supports RT VM for a post-launched User VM, with assistant features like LAPIC
139-
pass-thru and PMD virtio driver
139+
passthrough and PMD virtio driver
140140

141141
ACRN 2.0 is still WIP, and some of its features are already merged in the master.
142142

@@ -162,12 +162,12 @@ ACRN adopts various approaches for emulating devices for the User VM:
162162
- para-virtualized, requiring front-end drivers in
163163
the User VM to function.
164164

165-
- **Pass-through device**: A device passed through to the User VM is fully
165+
- **Passthrough device**: A device passed through to the User VM is fully
166166
accessible to the User VM without interception. However, interrupts
167167
are first handled by the hypervisor before
168168
being injected to the User VM.
169169

170-
- **Mediated pass-through device**: A mediated pass-through device is a
170+
- **Mediated passthrough device**: A mediated passthrough device is a
171171
hybrid of the previous two approaches. Performance-critical
172172
resources (mostly data-plane related) are passed-through to the User VMs and
173173
others (mostly control-plane related) are emulated.
@@ -275,7 +275,7 @@ used by commercial OS).
275275

276276
- On top of vCPUs are three components for device emulation: one for
277277
emulation inside the hypervisor, another for communicating with
278-
the Service VM for mediation, and the third for managing pass-through
278+
the Service VM for mediation, and the third for managing passthrough
279279
devices.
280280

281281
- The highest layer is a VM management module providing
@@ -311,7 +311,7 @@ based on command line configurations.
311311
Based on a VHM kernel module, DM interacts with VM manager to create the User
312312
VM. It then emulates devices through full virtualization on the DM user
313313
level, or para-virtualized based on kernel mediator (such as virtio,
314-
GVT), or pass-through based on kernel VHM APIs.
314+
GVT), or passthrough based on kernel VHM APIs.
315315

316316
Refer to :ref:`hld-devicemodel` for more details.
317317

@@ -592,6 +592,6 @@ Some details about the ACPI table for the User and Service VMs:
592592
knows which register the User VM writes to trigger power state
593593
transitions. Device Model must register an I/O handler for it.
594594

595-
- The ACPI table in the Service VM is passthru. There is no ACPI parser
595+
- The ACPI table in the Service VM is passthrough. There is no ACPI parser
596596
in ACRN HV. The power management related ACPI table is
597597
generated offline and hardcoded in ACRN HV.

doc/developer-guides/hld/hld-power-management.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ for the Device Model to build a virtual ACPI table.
1919
The Px/Cx data includes four
2020
ACPI objects: _PCT, _PPC, and _PSS for P-state management, and _CST for
2121
C-state management. All these ACPI data must be consistent with the
22-
native data because the control method is a kind of pass through.
22+
native data because the control method is a kind of passthrough.
2323

2424
These ACPI objects data are parsed by an offline tool and hard-coded in a
2525
Hypervisor module named CPU state table:

doc/developer-guides/hld/hv-dev-passthrough.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ a passthrough device to/from a post-launched VM is shown in the following figure
126126

127127
ptdev de-assignment control flow
128128

129+
.. _vtd-posted-interrupt:
130+
131+
129132
VT-d Interrupt-remapping
130133
************************
131134

0 commit comments

Comments
 (0)