Re: [PATCH v2 01/18] firmware: qcom_scm: Rename macros and structures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting eberman@xxxxxxxxxxxxxx (2019-11-15 17:19:13)
> On 2019-11-15 15:27, Stephen Boyd wrote:
> > ... to here I don't understand why any of it needs to change. It looks
> > like a bunch of churn and it conflates qcom SCM calls with SMCCC which
> > is not desirable. Those two concepts are different.
> 
> I can see the confusion. The goal with this patch is to make it more 
> clear which
> macros and structures are for SCM interface from those which deal with 
> the
> implementation of how an SCM call is implemented with the smc 
> instruction. It's
> not presently clear that struct qcom_scm_response (for instance) is only
> relevant in the context of legacy convention.
> 
> I choose the name "legacy" since only older firmwares use it and having
> "scm_buffer_get_command_buffer" seems even more confusing to me! "SMCCC" 
> was
> chosen for lack of a better name.
> 
> Additionally, the concern with having qcom_scm_ prefix on these 
> functions
> (especially legacy_get_*_buffer()) is you get long function names which 
> didn't
> seem desirable. If the long names are preferable, I can update series 
> with the
> longer form of the names.
> 

This is the hardest problem in computer science. Figuring out a name.
;-)

Maybe call it scm_buffer_*? Because it _is_ scm communication with
shared buffers? The newer calling convention passes arguments in
registers, but the original calling convention passed a buffer around
from non-secure to secure world and then back again and had a embryonic
register based calling convention. That buffer passing still sort of
happens with the new style but it isn't done unless the register count
is larger than 5 or so and the return buffer isn't unbounded in size
like it was done. It also sort of follows the ARM SMC Calling Convection
spec now.





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux