From 8499fa99a42dfb929bed926de3645453a31ef42b Mon Sep 17 00:00:00 2001 From: Gleb Natapov Date: Thu, 21 Jan 2010 15:28:46 +0200 Subject: [PATCH] --- yaml --- r: 186027 b: refs/heads/master c: ab344828ebe729e52949d64046adaa196f6b9dbe h: refs/heads/master i: 186025: dc88601e7705ed4614dbc6f41c4aa4a34a00cf4f 186023: bce4eeba3628d3b4f3a42a143fbf0dae0c6d949f v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/x86.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index a28a0468a20c..0245c03c2110 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f0f4b930900ffa8daddb5262522c3e5c67ee1835 +refs/heads/master: ab344828ebe729e52949d64046adaa196f6b9dbe diff --git a/trunk/arch/x86/kvm/x86.c b/trunk/arch/x86/kvm/x86.c index fd5101b57fa3..ce267d9f0305 100644 --- a/trunk/arch/x86/kvm/x86.c +++ b/trunk/arch/x86/kvm/x86.c @@ -430,12 +430,16 @@ void kvm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0) { cr0 |= X86_CR0_ET; - if (cr0 & CR0_RESERVED_BITS) { +#ifdef CONFIG_X86_64 + if (cr0 & 0xffffffff00000000UL) { printk(KERN_DEBUG "set_cr0: 0x%lx #GP, reserved bits 0x%lx\n", cr0, kvm_read_cr0(vcpu)); kvm_inject_gp(vcpu, 0); return; } +#endif + + cr0 &= ~CR0_RESERVED_BITS; if ((cr0 & X86_CR0_NW) && !(cr0 & X86_CR0_CD)) { printk(KERN_DEBUG "set_cr0: #GP, CD == 0 && NW == 1\n");