Message ID | 20200122044339.4888-1-sean.j.christopherson@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: X86: Add 'else' to unify fastop and execute call path | expand |
On 22/01/20 05:43, Sean Christopherson wrote: > Add a typedef to for the fastop function prototype to make the code more > readable. > > No functional change intended. > > Cc: Miaohe Lin <linmiaohe@huawei.com> > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> > --- > > Applies on top of Miaohe's patch. Feel free to squash this. > > arch/x86/kvm/emulate.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c > index 0accce94f660..ddbc61984227 100644 > --- a/arch/x86/kvm/emulate.c > +++ b/arch/x86/kvm/emulate.c > @@ -311,7 +311,9 @@ static void invalidate_registers(struct x86_emulate_ctxt *ctxt) > #define ON64(x) > #endif > > -static int fastop(struct x86_emulate_ctxt *ctxt, void (*fop)(struct fastop *)); > +typedef void (*fastop_t)(struct fastop *); > + > +static int fastop(struct x86_emulate_ctxt *ctxt, fastop_t fop); > > #define __FOP_FUNC(name) \ > ".align " __stringify(FASTOP_SIZE) " \n\t" \ > @@ -5502,7 +5504,7 @@ static void fetch_possible_mmx_operand(struct operand *op) > read_mmx_reg(&op->mm_val, op->addr.mm); > } > > -static int fastop(struct x86_emulate_ctxt *ctxt, void (*fop)(struct fastop *)) > +static int fastop(struct x86_emulate_ctxt *ctxt, fastop_t fop) > { > ulong flags = (ctxt->eflags & EFLAGS_MASK) | X86_EFLAGS_IF; > > @@ -5680,12 +5682,10 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt) > ctxt->eflags &= ~X86_EFLAGS_RF; > > if (ctxt->execute) { > - if (ctxt->d & Fastop) { > - void (*fop)(struct fastop *) = (void *)ctxt->execute; > - rc = fastop(ctxt, fop); > - } else { > + if (ctxt->d & Fastop) > + rc = fastop(ctxt, (fastop_t)ctxt->execute); > + else > rc = ctxt->execute(ctxt); > - } > if (rc != X86EMUL_CONTINUE) > goto done; > goto writeback; > Queued, thanks. Paolo
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 0accce94f660..ddbc61984227 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -311,7 +311,9 @@ static void invalidate_registers(struct x86_emulate_ctxt *ctxt) #define ON64(x) #endif -static int fastop(struct x86_emulate_ctxt *ctxt, void (*fop)(struct fastop *)); +typedef void (*fastop_t)(struct fastop *); + +static int fastop(struct x86_emulate_ctxt *ctxt, fastop_t fop); #define __FOP_FUNC(name) \ ".align " __stringify(FASTOP_SIZE) " \n\t" \ @@ -5502,7 +5504,7 @@ static void fetch_possible_mmx_operand(struct operand *op) read_mmx_reg(&op->mm_val, op->addr.mm); } -static int fastop(struct x86_emulate_ctxt *ctxt, void (*fop)(struct fastop *)) +static int fastop(struct x86_emulate_ctxt *ctxt, fastop_t fop) { ulong flags = (ctxt->eflags & EFLAGS_MASK) | X86_EFLAGS_IF; @@ -5680,12 +5682,10 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt) ctxt->eflags &= ~X86_EFLAGS_RF; if (ctxt->execute) { - if (ctxt->d & Fastop) { - void (*fop)(struct fastop *) = (void *)ctxt->execute; - rc = fastop(ctxt, fop); - } else { + if (ctxt->d & Fastop) + rc = fastop(ctxt, (fastop_t)ctxt->execute); + else rc = ctxt->execute(ctxt); - } if (rc != X86EMUL_CONTINUE) goto done; goto writeback;
Add a typedef to for the fastop function prototype to make the code more readable. No functional change intended. Cc: Miaohe Lin <linmiaohe@huawei.com> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> --- Applies on top of Miaohe's patch. Feel free to squash this. arch/x86/kvm/emulate.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)