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] Svm patch to fix asid logic on multicore.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Svm patch to fix asid logic on multicore.
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 18 Feb 2006 01:40:07 +0000
Delivery-date: Sat, 18 Feb 2006 01:53:44 +0000
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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 kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID f933aae43044d89de2a6e4c2ab2416cb91869a92
# Parent  0851d92183a131702700f557b1ca26b1c8a17ff4
Svm patch to fix asid logic on multicore.

Signed-off-by: Tom Woller <thomas.woller@xxxxxxx>

diff -r 0851d92183a1 -r f933aae43044 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c        Sat Feb 18 00:01:31 2006
+++ b/xen/arch/x86/hvm/svm/svm.c        Sat Feb 18 00:01:52 2006
@@ -2666,18 +2666,22 @@
     struct vcpu *v = current;
     struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb;
     int core = smp_processor_id();
+    int oldcore = v->arch.hvm_svm.core; 
     /* 
      * if need to assign new asid or if switching cores, 
      * then retire asid for old core, and assign new for new core.
      */
-    if( svm_dbg_on)
-        printk("old core %d new core 
%d\n",(int)v->arch.hvm_svm.core,(int)core);
-
+    if( v->arch.hvm_svm.core != core ) {
+        if (svm_dbg_on)
+            printk("old core %d new core 
%d\n",(int)v->arch.hvm_svm.core,(int)core);
+        v->arch.hvm_svm.core = core;
+    }
     if( test_bit(ARCH_SVM_VMCB_ASSIGN_ASID, &v->arch.hvm_svm.flags) ||
-          (v->arch.hvm_svm.core != core)) {
+          (oldcore != core)) {
         if(!asidpool_assign_next(vmcb, 1, 
-                   v->arch.hvm_svm.core, core)) {
-           BUG();              
+                   oldcore, core)) {
+            /* If we get here, we have a major problem */
+            domain_crash_synchronous();
         }
     }
     clear_bit(ARCH_SVM_VMCB_ASSIGN_ASID, &v->arch.hvm_svm.flags);

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Svm patch to fix asid logic on multicore., Xen patchbot -unstable <=