|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] svm: Can only avoid CR3 reads when NPT is
# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1191418437 -3600
# Node ID 479d83aa02caa9fa1d1ccecf355821eb3f5712bd
# Parent b1f6e77b69a5f1b459f7269a9b278fa86970408f
svm: Can only avoid CR3 reads when NPT is enabled.
CR0 and CR4 reads must still be intercepted.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
xen/arch/x86/hvm/svm/vmcb.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff -r b1f6e77b69a5 -r 479d83aa02ca xen/arch/x86/hvm/svm/vmcb.c
--- a/xen/arch/x86/hvm/svm/vmcb.c Wed Oct 03 14:07:30 2007 +0100
+++ b/xen/arch/x86/hvm/svm/vmcb.c Wed Oct 03 14:33:57 2007 +0100
@@ -235,14 +235,16 @@ static int construct_vmcb(struct vcpu *v
vmcb->h_cr3 = pagetable_get_paddr(v->domain->arch.phys_table);
vmcb->exception_intercepts = HVM_TRAP_MASK;
- /* No point in intercepting CR3/4 reads, because the hardware
- * will return the guest versions anyway. Still need to intercept
- * CR0 reads to hide the changes we make to CR0.TS in the lazy-fpu
- * code. */
+ /*
+ * No point in intercepting CR3 reads, because the hardware will return
+ * the guest version anyway.
+ */
vmcb->cr_intercepts &= ~(CR_INTERCEPT_CR3_READ|CR_INTERCEPT_CR4_READ);
- /* No point in intercepting INVLPG if we don't have shadow pagetables
- * that need to be fixed up. */
+ /*
+ * No point in intercepting INVLPG if we don't have shadow pagetables
+ * that need to be fixed up.
+ */
vmcb->general1_intercepts &= ~GENERAL1_INTERCEPT_INVLPG;
}
else
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] svm: Can only avoid CR3 reads when NPT is enabled.,
Xen patchbot-unstable <=
|
|
|
|
|