lkml.org 
[lkml]   [2007]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 11/50] KVM: MMU: Ignore reserved bits in cr3 in non-pae mode
    Date
    From: Ryan Harper <ryanh@us.ibm.com>

    This patch removes the fault injected when the guest attempts to set reserved
    bits in cr3. X86 hardware doesn't generate a fault when setting reserved bits.
    The result of this patch is that vmware-server, running within a kvm guest,
    boots and runs memtest from an iso.

    Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
    Signed-off-by: Avi Kivity <avi@qumranet.com>
    ---
    drivers/kvm/kvm_main.c | 11 ++++-------
    1 files changed, 4 insertions(+), 7 deletions(-)

    diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
    index da057cf..b10fd7e 100644
    --- a/drivers/kvm/kvm_main.c
    +++ b/drivers/kvm/kvm_main.c
    @@ -554,14 +554,11 @@ void set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3)
    inject_gp(vcpu);
    return;
    }
    - } else {
    - if (cr3 & CR3_NONPAE_RESERVED_BITS) {
    - printk(KERN_DEBUG
    - "set_cr3: #GP, reserved bits\n");
    - inject_gp(vcpu);
    - return;
    - }
    }
    + /*
    + * We don't check reserved bits in nonpae mode, because
    + * this isn't enforced, and VMware depends on this.
    + */
    }

    mutex_lock(&vcpu->kvm->lock);
    --
    1.5.3.7


    \
     
     \ /
      Last update: 2007-12-23 15:59    [W:0.018 / U:121.368 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site