lkml.org 
[lkml]   [2021]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH v2 62/69] KVM: VMX: MOVE GDT and IDT accessors to common code
    Date
    From: Sean Christopherson <sean.j.christopherson@intel.com>

    Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
    ---
    arch/x86/kvm/vmx/main.c | 6 ++++--
    arch/x86/kvm/vmx/vmx.c | 12 ------------
    2 files changed, 4 insertions(+), 14 deletions(-)

    diff --git a/arch/x86/kvm/vmx/main.c b/arch/x86/kvm/vmx/main.c
    index b619615f77de..8e03cb72b910 100644
    --- a/arch/x86/kvm/vmx/main.c
    +++ b/arch/x86/kvm/vmx/main.c
    @@ -311,7 +311,8 @@ static int vt_set_efer(struct kvm_vcpu *vcpu, u64 efer)

    static void vt_get_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    {
    - vmx_get_idt(vcpu, dt);
    + dt->size = vmread32(vcpu, GUEST_IDTR_LIMIT);
    + dt->address = vmreadl(vcpu, GUEST_IDTR_BASE);
    }

    static void vt_set_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    @@ -321,7 +322,8 @@ static void vt_set_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)

    static void vt_get_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    {
    - vmx_get_gdt(vcpu, dt);
    + dt->size = vmread32(vcpu, GUEST_GDTR_LIMIT);
    + dt->address = vmreadl(vcpu, GUEST_GDTR_BASE);
    }

    static void vt_set_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
    index 40843ca2fb33..d69d4dc7c071 100644
    --- a/arch/x86/kvm/vmx/vmx.c
    +++ b/arch/x86/kvm/vmx/vmx.c
    @@ -3302,24 +3302,12 @@ static void vmx_get_cs_db_l_bits(struct kvm_vcpu *vcpu, int *db, int *l)
    *l = (ar >> 13) & 1;
    }

    -static void vmx_get_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    -{
    - dt->size = vmcs_read32(GUEST_IDTR_LIMIT);
    - dt->address = vmcs_readl(GUEST_IDTR_BASE);
    -}
    -
    static void vmx_set_idt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    {
    vmcs_write32(GUEST_IDTR_LIMIT, dt->size);
    vmcs_writel(GUEST_IDTR_BASE, dt->address);
    }

    -static void vmx_get_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    -{
    - dt->size = vmcs_read32(GUEST_GDTR_LIMIT);
    - dt->address = vmcs_readl(GUEST_GDTR_BASE);
    -}
    -
    static void vmx_set_gdt(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
    {
    vmcs_write32(GUEST_GDTR_LIMIT, dt->size);
    --
    2.25.1
    \
     
     \ /
      Last update: 2021-07-03 00:08    [W:4.704 / U:0.892 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site