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

Re: [Xen-devel] [PATCH 1/1] xen:vtd: missing RMRR mapping while share EPT

On 2014/7/24 18:11, Jan Beulich wrote:
On 24.07.14 at 11:56, <tiejun.chen@xxxxxxxxx> wrote:
On 2014/7/24 17:41, Jan Beulich wrote:
On 24.07.14 at 10:28, <tiejun.chen@xxxxxxxxx> wrote:
On 2014/7/24 15:45, Jan Beulich wrote:
On 24.07.14 at 09:00, <tiejun.chen@xxxxxxxxx> wrote:
On 2014/7/24 14:14, Jan Beulich wrote:
On 24.07.14 at 03:23, <tiejun.chen@xxxxxxxxx> wrote:
@@ -1867,7 +1869,21 @@ static int rmrr_identity_mapping(struct domain *d,

          while ( base_pfn < end_pfn )
-        if ( intel_iommu_map_page(d, base_pfn, base_pfn,
+        if ( iommu_use_hap_pt(d) )

Don't you, btw, need to extend this condition by
&& (!iommu_passthrough || !is_hardware_domain(d))?

Why do we need these checks here?

At least for documentation purposes: It would be wrong to try to
establish these mappings. I reckon iommu_use_hap_pt() implies the
combined other condition, so an ASSERT() would presumably be fine
as well (and get even closer to the intended documentation purpose).

I think if() should be reasonable here. Because

       /* do nothing if dom0 and iommu supports pass thru */
       if ( iommu_passthrough && is_hardware_domain(d) )
           return 0;

We just do nothing to return simply. But if ASSERT will cause abort.

Then tell me the scenario where iommu_use_hap_pt(d) is true and
both iommu_passthrough and is_hardware_domain(d) are true too.

Then HVM?

If we will ever see a HVM Dom0 it'll clearly also require
!iommu_passthrough, just like PVH does - this mode is solely for PV.

Anyway I did a test like this,

        if (iommu_use_hap_pt(d))
                ASSERT (iommu_passthrough && is_hardware_domain(d));

Then Xen really reboot.

Of course, because you inverted the condition. You want

        ASSERT(!iommu_passthrough || !is_hardware_domain(d));

You're right. Sorry I'm misunderstanding this point.


i.e. what I had previously suggested to add with && to the original


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.