mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-23 05:57:33 +00:00
doc: vt-d: update the description of snoop control
Tracked-On: #4509 Signed-off-by: Binbin Wu <binbin.wu@intel.com>
This commit is contained in:
parent
dc003cda29
commit
844dba1806
@ -234,14 +234,24 @@ combination of:
|
|||||||
- snoop
|
- snoop
|
||||||
- Snoop
|
- Snoop
|
||||||
|
|
||||||
ACRN enable Snoop Control by default if all enabled VT-d DMAR units
|
If VT-d DMAR units doesn't support Snoop Control, then SNP Bit (bit 11)
|
||||||
support Snoop Control by setting bit 11 of leaf PTE of EPT table. Bit 11
|
of leaf PETs of EPT is not set since the field is treated as reserved(0)
|
||||||
of leaf PTE of EPT is ignored by MMU. So no side effect for MMU.
|
by VT-d hardware implementations not supporting Snoop Control.
|
||||||
|
|
||||||
If one of the enabled VT-d DMAR units doesn't support Snoop Control,
|
VT-d DMAR unit of Intel integrated graphics device doesn't support Snoop
|
||||||
then Bit 11 of leaf PET of EPT is not set since the field is treated as
|
Control. ACRN hypervisor uses a same copy of EPT as the secondary address
|
||||||
reserved(0) by VT-d hardware implementations not supporting Snoop
|
translation table for a VM. When enalbe DMAR unit for Intel integrated
|
||||||
Control.
|
graphics device, SNP Bit cannot be set in lead PTEs of EPT.
|
||||||
|
|
||||||
|
No matter ACRN enables or disables Snoop Control, the DMA operations of
|
||||||
|
passthrough devices behave correctly from guests' point of view. ACRN
|
||||||
|
disables Snoop Control in VT-d DMAR engines for simplifing the implementation.
|
||||||
|
Also, since the snoop behavior of PCIE transactions can be controlled by
|
||||||
|
guest drivers, some devices may take the advantage of the NO_SNOOP_ATTRIBUTE
|
||||||
|
of PCIE transactions for better performance when snoop is not needed.
|
||||||
|
|
||||||
|
It's driver's responsibility to configure correct attribute in PCIE transactions.
|
||||||
|
Otherwise, the corresponding device may not work properly.
|
||||||
|
|
||||||
Initialization
|
Initialization
|
||||||
**************
|
**************
|
||||||
|
Loading…
Reference in New Issue
Block a user