Re: [PATCH v2 07/13] KVM: x86: Refactor init_emulate_ctxt() to explicitly take context

From: Vitaly Kuznetsov
Date: Wed Feb 26 2020 - 12:13:44 EST


Sean Christopherson <sean.j.christopherson@xxxxxxxxx> writes:

> Explicitly pass the emulation context when initializing said context in
> preparation of dynamically allocation the emulation context.

"The said said context" :-)

>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> ---
> arch/x86/kvm/x86.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 69d3dd64d90c..0e67f90db9a6 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -6414,9 +6414,9 @@ static bool inject_emulated_exception(struct x86_emulate_ctxt *ctxt)
> return false;
> }
>
> -static void init_emulate_ctxt(struct kvm_vcpu *vcpu)
> +static void init_emulate_ctxt(struct x86_emulate_ctxt *ctxt)
> {
> - struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt;
> + struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
> int cs_db, cs_l;
>
> kvm_x86_ops->get_cs_db_l_bits(vcpu, &cs_db, &cs_l);
> @@ -6443,7 +6443,7 @@ void kvm_inject_realmode_interrupt(struct kvm_vcpu *vcpu, int irq, int inc_eip)
> struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt;
> int ret;
>
> - init_emulate_ctxt(vcpu);
> + init_emulate_ctxt(ctxt);
>
> ctxt->op_bytes = 2;
> ctxt->ad_bytes = 2;
> @@ -6770,7 +6770,7 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
> kvm_clear_exception_queue(vcpu);
>
> if (!(emulation_type & EMULTYPE_NO_DECODE)) {
> - init_emulate_ctxt(vcpu);
> + init_emulate_ctxt(ctxt);
>
> /*
> * We will reenter on the same instruction since
> @@ -8943,7 +8943,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int idt_index,
> struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt;
> int ret;
>
> - init_emulate_ctxt(vcpu);
> + init_emulate_ctxt(ctxt);
>
> ret = emulator_task_switch(ctxt, tss_selector, idt_index, reason,
> has_error_code, error_code);

Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>

--
Vitaly