Message ID | 20200218232953.5724-5-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: > Invert the vcpu->context derivation in emulator_read_write_onepage() in > preparation for dynamically allocating the emulation context. > > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> > --- > arch/x86/kvm/x86.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 409bf35f26fd..772e704e8083 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -5720,14 +5720,14 @@ static const struct read_write_emulator_ops write_emultor = { > static int emulator_read_write_onepage(unsigned long addr, void *val, > unsigned int bytes, > struct x86_exception *exception, > - struct kvm_vcpu *vcpu, > + struct x86_emulate_ctxt *ctxt, > const struct read_write_emulator_ops *ops) > { > gpa_t gpa; > int handled, ret; > bool write = ops->write; > struct kvm_mmio_fragment *frag; > - struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; > + struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); > > /* > * If the exit was due to a NPF we may already have a GPA. > @@ -5791,7 +5791,7 @@ static int emulator_read_write(struct x86_emulate_ctxt *ctxt, > > now = -addr & ~PAGE_MASK; > rc = emulator_read_write_onepage(addr, val, now, exception, > - vcpu, ops); > + ctxt, ops); > > if (rc != X86EMUL_CONTINUE) > return rc; > @@ -5803,7 +5803,7 @@ static int emulator_read_write(struct x86_emulate_ctxt *ctxt, > } > > rc = emulator_read_write_onepage(addr, val, bytes, exception, > - vcpu, ops); > + ctxt, ops); > if (rc != X86EMUL_CONTINUE) > return rc; Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 409bf35f26fd..772e704e8083 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -5720,14 +5720,14 @@ static const struct read_write_emulator_ops write_emultor = { static int emulator_read_write_onepage(unsigned long addr, void *val, unsigned int bytes, struct x86_exception *exception, - struct kvm_vcpu *vcpu, + struct x86_emulate_ctxt *ctxt, const struct read_write_emulator_ops *ops) { gpa_t gpa; int handled, ret; bool write = ops->write; struct kvm_mmio_fragment *frag; - struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; + struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); /* * If the exit was due to a NPF we may already have a GPA. @@ -5791,7 +5791,7 @@ static int emulator_read_write(struct x86_emulate_ctxt *ctxt, now = -addr & ~PAGE_MASK; rc = emulator_read_write_onepage(addr, val, now, exception, - vcpu, ops); + ctxt, ops); if (rc != X86EMUL_CONTINUE) return rc; @@ -5803,7 +5803,7 @@ static int emulator_read_write(struct x86_emulate_ctxt *ctxt, } rc = emulator_read_write_onepage(addr, val, bytes, exception, - vcpu, ops); + ctxt, ops); if (rc != X86EMUL_CONTINUE) return rc;
Invert the vcpu->context derivation in emulator_read_write_onepage() in preparation for dynamically allocating the emulation context. Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> --- arch/x86/kvm/x86.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)