lkml.org 
[lkml]   [2008]   [Jan]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 52/54] KVM: SVM: Exit to userspace if write to cr8 and not using in-kernel apic
    Date
    From: Joerg Roedel <joerg.roedel@amd.com>

    With this patch KVM on SVM will exit to userspace if the guest writes to CR8
    and the in-kernel APIC is disabled.

    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Markus Rechberger <markus.rechberger@amd.com>
    Signed-off-by: Avi Kivity <avi@qumranet.com>
    ---
    drivers/kvm/svm.c | 11 ++++++++++-
    1 files changed, 10 insertions(+), 1 deletions(-)

    diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
    index 677b525..9f8564a 100644
    --- a/drivers/kvm/svm.c
    +++ b/drivers/kvm/svm.c
    @@ -1048,6 +1048,15 @@ static int emulate_on_interception(struct vcpu_svm *svm,
    return 1;
    }

    +static int cr8_write_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run)
    +{
    + emulate_instruction(&svm->vcpu, NULL, 0, 0, 0);
    + if (irqchip_in_kernel(svm->vcpu.kvm))
    + return 1;
    + kvm_run->exit_reason = KVM_EXIT_SET_TPR;
    + return 0;
    +}
    +
    static int svm_get_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 *data)
    {
    struct vcpu_svm *svm = to_svm(vcpu);
    @@ -1202,7 +1211,7 @@ static int (*svm_exit_handlers[])(struct vcpu_svm *svm,
    [SVM_EXIT_WRITE_CR0] = emulate_on_interception,
    [SVM_EXIT_WRITE_CR3] = emulate_on_interception,
    [SVM_EXIT_WRITE_CR4] = emulate_on_interception,
    - [SVM_EXIT_WRITE_CR8] = emulate_on_interception,
    + [SVM_EXIT_WRITE_CR8] = cr8_write_interception,
    [SVM_EXIT_READ_DR0] = emulate_on_interception,
    [SVM_EXIT_READ_DR1] = emulate_on_interception,
    [SVM_EXIT_READ_DR2] = emulate_on_interception,
    --
    1.5.3.7


    \
     
     \ /
      Last update: 2008-01-01 16:55    [W:0.022 / U:63.608 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site