[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 6/6] xen/arm: Replace call_smc with arm_smccc_smc
On Wed, 26 Sep 2018, Julien Grall wrote: > Hi Stefano, > > On 09/26/2018 12:57 AM, Stefano Stabellini wrote: > > On Tue, 25 Sep 2018, Julien Grall wrote: > > > diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c > > > index 941eec921b..02737e6caa 100644 > > > --- a/xen/arch/arm/psci.c > > > +++ b/xen/arch/arm/psci.c > > > @@ -42,42 +42,53 @@ uint32_t smccc_ver; > > > static uint32_t psci_cpu_on_nr; > > > +#define PSCI_RET(res) ((int32_t)(res).a0) > > > + > > > int call_psci_cpu_on(int cpu) > > > { > > > - return call_smc(psci_cpu_on_nr, cpu_logical_map(cpu), > > > __pa(init_secondary), 0); > > > + struct arm_smccc_res res; > > > + > > > + arm_smccc_smc(psci_cpu_on_nr, cpu_logical_map(cpu), > > > __pa(init_secondary), > > > + &res); > > > + > > > + return (int32_t)res.a0; > > > } > > > > Can't we use PSCI_RET(res) here? > > I missed that one. I will update it. > > > > > Also in general, should we care about the type mismatch int32_t vs. int > > which is the return type of this function? > > The only issue I could see is if sizeof(int) < sizeof(int32_t). If that > happen, then psci.c would be our least concern as we always assume int would > at least 32-bit wide. > > I would prefer to keep the return of the function int and casting the result > with (int32_t). The latter is helpful to know what is the size of the result > (a0 is 64-bit). It is a good idea to keep the cast. I don't have a strong opinion on whether the functions should return int or int32_t. The only question is whether we want to cast to (int32_t) or to (int). I would prefer to cast to the same type of the return of the function. So if we keep int as return type, then casting to (int). However, given that in practice it makes no difference, I can ack the patch in any case. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |