WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-4.1-testing] vtd: check and print EPT compatibility

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-4.1-testing] vtd: check and print EPT compatibility once, at boot.
From: Xen patchbot-4.1-testing <patchbot@xxxxxxx>
Date: Tue, 26 Apr 2011 11:35:16 +0100
Delivery-date: Tue, 26 Apr 2011 03:36:14 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Tim Deegan <Tim.Deegan@xxxxxxxxxx>
# Date 1303735131 -3600
# Node ID ff57766584b9bdb6480eab3256ec40ad5cba27cf
# Parent  3a4e15f9b6d8345d1a1fb2c4751d19bc6697181f
vtd: check and print EPT compatibility once, at boot.

Merge the check for EPT/VT-D pagetable compatibility into the other
VT-D boot-time checks.  Previously it was checking and printing many
times on each VM boot.

Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
xen-unstable changeset:   23247:80401982465d
xen-unstable date:        Mon Apr 25 13:17:05 2011 +0100
---


diff -r 3a4e15f9b6d8 -r ff57766584b9 xen/drivers/passthrough/vtd/iommu.c
--- a/xen/drivers/passthrough/vtd/iommu.c       Mon Apr 25 13:34:20 2011 +0100
+++ b/xen/drivers/passthrough/vtd/iommu.c       Mon Apr 25 13:38:51 2011 +0100
@@ -1740,28 +1740,6 @@
     return 1;
 }
 
-static bool_t vtd_ept_share(void)
-{
-    struct acpi_drhd_unit *drhd;
-    struct iommu *iommu;
-    bool_t share = TRUE;
-
-    /* sharept defaults to 0 for now, default to 1 when feature matures */
-    if ( !sharept )
-        share = FALSE;
-
-    /*
-     * Determine whether EPT and VT-d page tables can be shared or not.
-     */
-    for_each_drhd_unit ( drhd )
-    {
-        iommu = drhd->iommu;
-        if ( !vtd_ept_page_compatible(drhd->iommu) )
-            share = FALSE;
-    }
-    return share;
-}
-
 /*
  * set VT-d page table directory to EPT table if allowed
  */
@@ -1772,17 +1750,11 @@
 
     ASSERT( is_hvm_domain(d) && d->arch.hvm_domain.hap_enabled );
 
-    iommu_hap_pt_share = vtd_ept_share();
     if ( !iommu_hap_pt_share )
-        goto out;
+        return;
 
     pgd_mfn = pagetable_get_mfn(p2m_get_pagetable(p2m_get_hostp2m(d)));
     hd->pgd_maddr = pagetable_get_paddr(pagetable_from_mfn(pgd_mfn));
-
-out:
-    dprintk(XENLOG_INFO VTDPREFIX,
-            "VT-d page table %s with EPT table\n",
-            iommu_hap_pt_share ? "shares" : "not sharing");
 }
 
 static int domain_rmrr_mapped(struct domain *d,
@@ -2092,6 +2064,9 @@
 
         if ( iommu_intremap && !ecap_intr_remap(iommu->ecap) )
             iommu_intremap = 0;
+
+        if ( !vtd_ept_page_compatible(iommu) )
+            iommu_hap_pt_share = FALSE;
     }
 
     if ( !iommu_qinval && iommu_intremap )
@@ -2106,6 +2081,7 @@
     P(iommu_passthrough, "Dom0 DMA Passthrough");
     P(iommu_qinval, "Queued Invalidation");
     P(iommu_intremap, "Interrupt Remapping");
+    P(iommu_hap_pt_share, "Shared EPT tables");
 #undef P
 
     scan_pci_devices();

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-4.1-testing] vtd: check and print EPT compatibility once, at boot., Xen patchbot-4 . 1-testing <=