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/
Home Products Support Community News


[Xen-changelog] [xen-3.4-testing] x86 svm: Fix checked builds of Windows

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.4-testing] x86 svm: Fix checked builds of Windows running on AMD SVM
From: "Xen patchbot-3.4-testing" <patchbot-3.4-testing@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 19 Aug 2009 08:40:32 -0700
Delivery-date: Wed, 19 Aug 2009 08:41:11 -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 Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1250694359 -3600
# Node ID 7409d60f38529486e74d616d56db249d51e0736a
# Parent  6fbe8db52e4aa82b9c9bdf207e63d1084c49508f
x86 svm: Fix checked builds of Windows running on AMD SVM

Checked builds of Windows will, after every modification of the TPR,
read it back again and assert that the value read back matches with
the value written, including the priority sub-class.  Make sure that
we correctly preserve it on vmexit.

As far as I can tell from reading the documentation, the sub-class
doesn't actually do anything, so this should be pretty harmless.

Signed-off-by: Steven Smith <steven.smith@xxxxxxxxxxxxx>
xen-unstable changeset:   20049:f1dbddb69cc6
xen-unstable date:        Wed Aug 12 14:06:01 2009 +0100

x86 svm: Fix the build: vlapic_get_reg() takes two arguments.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   20051:481f730c9446
xen-unstable date:        Wed Aug 12 14:13:00 2009 +0100
 xen/arch/x86/hvm/svm/svm.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

diff -r 6fbe8db52e4a -r 7409d60f3852 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c        Wed Aug 19 16:03:06 2009 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c        Wed Aug 19 16:05:59 2009 +0100
@@ -1230,9 +1230,12 @@ asmlinkage void svm_vmexit_handler(struc
      * Before doing anything else, we need to sync up the VLAPIC's TPR with
      * SVM's vTPR. It's OK if the guest doesn't touch CR8 (e.g. 32-bit Windows)
      * because we update the vTPR on MMIO writes to the TPR.
+     * NB. We need to preserve the low bits of the TPR to make checked builds
+     * of Windows work, even though they don't actually do anything.
     vlapic_set_reg(vcpu_vlapic(v), APIC_TASKPRI,
-                   (vmcb->vintr.fields.tpr & 0x0F) << 4);
+                   ((vmcb->vintr.fields.tpr & 0x0F) << 4) |
+                   (vlapic_get_reg(vcpu_vlapic(v), APIC_TASKPRI) & 0x0F));
     exit_reason = vmcb->exitcode;

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-3.4-testing] x86 svm: Fix checked builds of Windows running on AMD SVM, Xen patchbot-3.4-testing <=