[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 6/9] xen/multicall: Rework arch multicall handling
>>> On 18.07.16 at 11:51, <andrew.cooper3@xxxxxxxxxx> wrote: > --- a/xen/arch/x86/hypercall.c > +++ b/xen/arch/x86/hypercall.c > @@ -338,6 +338,34 @@ long pv_hypercall(struct cpu_user_regs *regs) > return ret; > } > > +void arch_do_multicall_call(struct mc_state *state) > +{ > + if ( !is_pv_32bit_vcpu(current) ) > + { > + struct multicall_entry *call = &state->call; > + > + if ( (call->op < NR_hypercalls) && hypercall_table[call->op] ) > + call->result = hypercall_table[call->op]( > + call->args[0], call->args[1], call->args[2], > + call->args[3], call->args[4], call->args[5]); > + else > + call->result = -ENOSYS; > + } > +#ifdef CONFIG_COMPAT > + else > + { > + struct compat_multicall_entry *call = &state->compat_call; > + > + if ( (call->op < NR_hypercalls) && compat_hypercall_table[call->op] ) Why two distinct checks here when pv_hypercall() does just one outside the if/else? With them folded (or if there is a good reason), Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> with one more remark: > --- a/xen/common/multicall.c > +++ b/xen/common/multicall.c > @@ -63,7 +63,7 @@ do_multicall( > > trace_multicall_call(&mcs->call); > > - do_multicall_call(&mcs->call); > + arch_do_multicall_call(mcs); I think do_multicall_call() as a name was fine, but otoh I also don't really mind the name change. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |