From: Avi Kivity Date: Mon, 12 Feb 2007 08:54:37 +0000 (-0800) Subject: [PATCH] kvm: Fix mmu going crazy of guest sets cr0.wp == 0 X-Git-Tag: v2.6.21-rc1~274^2~58 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac6c2bc592b90c7f140fc87c49e21bc82376e2aa;p=linux-2.6 [PATCH] kvm: Fix mmu going crazy of guest sets cr0.wp == 0 The kvm mmu relies on cr0.wp being set even if the guest does not set it. The vmx code correctly forces cr0.wp at all times, the svm code does not, so it can't boot solaris without this patch. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c index 85f61dd1e9..6b4de4f6c0 100644 --- a/drivers/kvm/svm.c +++ b/drivers/kvm/svm.c @@ -723,7 +723,7 @@ static void svm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0) } #endif vcpu->svm->cr0 = cr0; - vcpu->svm->vmcb->save.cr0 = cr0 | CR0_PG_MASK; + vcpu->svm->vmcb->save.cr0 = cr0 | CR0_PG_MASK | CR0_WP_MASK; vcpu->cr0 = cr0; }