Message ID | 20200218232953.5724-8-sean.j.christopherson@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86: Allow userspace to disable the emulator | expand |
Sean Christopherson <sean.j.christopherson@intel.com> 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@intel.com> > --- > 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@redhat.com>
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);
Explicitly pass the emulation context when initializing said context in preparation of dynamically allocation the emulation context. Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> --- arch/x86/kvm/x86.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)