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-unstable] Merge

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] Merge
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Mon, 24 Jan 2011 16:00:35 -0800
Delivery-date: Mon, 24 Jan 2011 16:01:39 -0800
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 1295625899 0
# Node ID ca64bd257a6fb0818bb0fa5e559c5220eafd80fa
# Parent  e9277ab439472bbcf5717c82155361e6f97afa3a
# Parent  1637fdbfc21e2c732eca29136943a568f8f341cd
Merge
---
 xen/arch/x86/apic.c                  |   16 ++++++++++++++++
 xen/arch/x86/hvm/svm/svm.c           |    2 +-
 xen/arch/x86/x86_32/domain_page.c    |    2 ++
 xen/drivers/passthrough/vtd/quirks.c |   10 ++++++++--
 4 files changed, 27 insertions(+), 3 deletions(-)

diff -r e9277ab43947 -r ca64bd257a6f xen/arch/x86/apic.c
--- a/xen/arch/x86/apic.c       Fri Jan 21 15:37:36 2011 +0000
+++ b/xen/arch/x86/apic.c       Fri Jan 21 16:04:59 2011 +0000
@@ -961,6 +961,22 @@ void __init x2apic_bsp_setup(void)
     if ( !cpu_has_x2apic )
         return;
 
+#ifdef __i386__
+    clear_bit(X86_FEATURE_X2APIC, boot_cpu_data.x86_capability);
+    if ( x2apic_enabled )
+    {
+        uint64_t msr_content;
+        rdmsrl(MSR_IA32_APICBASE, msr_content);
+        msr_content &= ~(MSR_IA32_APICBASE_ENABLE | MSR_IA32_APICBASE_EXTD);
+        wrmsrl(MSR_IA32_APICBASE, msr_content);
+        msr_content |= MSR_IA32_APICBASE_ENABLE;
+        wrmsrl(MSR_IA32_APICBASE, msr_content);
+        x2apic_enabled = 0;
+    }
+    printk("x2APIC disabled permanently on x86_32.\n");
+    return;
+#endif
+
     if ( !opt_x2apic )
     {
         if ( !x2apic_enabled )
diff -r e9277ab43947 -r ca64bd257a6f xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c        Fri Jan 21 15:37:36 2011 +0000
+++ b/xen/arch/x86/hvm/svm/svm.c        Fri Jan 21 16:04:59 2011 +0000
@@ -705,7 +705,7 @@ static void svm_do_resume(struct vcpu *v
     {
         v->arch.hvm_svm.launch_core = smp_processor_id();
         hvm_migrate_timers(v);
-
+        hvm_migrate_pirqs(v);
         /* Migrating to another ASID domain.  Request a new ASID. */
         hvm_asid_flush_vcpu(v);
     }
diff -r e9277ab43947 -r ca64bd257a6f xen/arch/x86/x86_32/domain_page.c
--- a/xen/arch/x86/x86_32/domain_page.c Fri Jan 21 15:37:36 2011 +0000
+++ b/xen/arch/x86/x86_32/domain_page.c Fri Jan 21 16:04:59 2011 +0000
@@ -53,6 +53,8 @@ void *map_domain_page(unsigned long mfn)
     perfc_incr(map_domain_page_count);
 
     v = mapcache_current_vcpu();
+    /* Prevent vcpu pointer being used before initialize. */
+    ASSERT((unsigned long)v != 0xfffff000);
 
     dcache = &v->domain->arch.mapcache;
     vcache = &v->arch.mapcache;
diff -r e9277ab43947 -r ca64bd257a6f xen/drivers/passthrough/vtd/quirks.c
--- a/xen/drivers/passthrough/vtd/quirks.c      Fri Jan 21 15:37:36 2011 +0000
+++ b/xen/drivers/passthrough/vtd/quirks.c      Fri Jan 21 16:04:59 2011 +0000
@@ -217,10 +217,15 @@ static void snb_vtd_ops_postamble(struct
 /*
  * call before VT-d translation enable and IOTLB flush operations.
  */
+
+static int snb_igd_quirk;
+boolean_param("snb_igd_quirk", snb_igd_quirk);
+
 void vtd_ops_preamble_quirk(struct iommu* iommu)
 {
     cantiga_vtd_ops_preamble(iommu);
-    snb_vtd_ops_preamble(iommu);
+    if ( snb_igd_quirk )
+        snb_vtd_ops_preamble(iommu);
 }
 
 /*
@@ -228,7 +233,8 @@ void vtd_ops_preamble_quirk(struct iommu
  */
 void vtd_ops_postamble_quirk(struct iommu* iommu)
 {
-    snb_vtd_ops_postamble(iommu);
+    if ( snb_igd_quirk )
+        snb_vtd_ops_postamble(iommu);
 }
 
 /* initialize platform identification flags */

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

<Prev in Thread] Current Thread [Next in Thread>