qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v10 00/25] intel_iommu: expose Shared Virtual Addressing to VMs


From: Zenghui Yu
Subject: Re: [RFC v10 00/25] intel_iommu: expose Shared Virtual Addressing to VMs
Date: Thu, 25 Feb 2021 22:14:22 +0800
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0

Hi Yi,

On 2020/9/10 18:56, Liu Yi L wrote:
The high-level architecture for SVA virtualization is as below, the key
design of vSVA support is to utilize the dual-stage IOMMU translation (
also known as IOMMU nesting translation) capability in host IOMMU.

     .-------------.  .---------------------------.
     |   vIOMMU    |  | Guest process CR3, FL only|
     |             |  '---------------------------'
     .----------------/
     | PASID Entry |--- PASID cache flush -
     '-------------'                       |
     |             |                       V
     |             |                CR3 in GPA
     '-------------'
Guest
------| Shadow |--------------------------|--------
       v        v                          v
Host
     .-------------.  .----------------------.
     |   pIOMMU    |  | Bind FL for GVA-GPA  |
     |             |  '----------------------'
     .----------------/  |
     | PASID Entry |     V (Nested xlate)
     '----------------\.------------------------------.
     |             ||SL for GPA-HPA, default domain|
     |             |   '------------------------------'
     '-------------'

A silly question: With nested mode, do we need to setup the second level
mappings (GPA->HPA) for devices before vm startup? If so, can you please
point me to the piece of code that achieves it?

On Arm, we setup the stage-2 mapping via the new prereg_listener [1].

[1] 20210225105233.650545-15-eric.auger@redhat.com/">https://patchwork.kernel.org/project/qemu-devel/patch/20210225105233.650545-15-eric.auger@redhat.com/


Thanks,
Zenghui



reply via email to

[Prev in Thread] Current Thread [Next in Thread]