[PATCH v6] arm64: smccc: Support SMCCC v1.3 SVE register saving hint

Will Deacon will at kernel.org
Tue Jun 8 06:15:05 PDT 2021


On Tue, Jun 08, 2021 at 01:29:54PM +0100, Mark Brown wrote:
> On Tue, Jun 08, 2021 at 01:15:33PM +0100, Will Deacon wrote:
> > On Thu, Jun 03, 2021 at 07:41:18PM +0100, Mark Brown wrote:
> > > SMCCC v1.2 requires that all SVE state be preserved over SMC calls which
> > > introduces substantial overhead in the common case where there is no SVE
> > > state in the registers. To avoid this SMCCC v1.3 introduces a flag which
> 
> > > v6:
> > >  - Prototype __arm_smccc_sve_check add add the _arm to the name to fix
> > >    issues with symbol versioning.
> 
> > Can you elaborate on what was going wrong with symbol versioning, please?
> > Are we papering over another genksyms bug here?
> 
> There's a requirement for a prototype to appear in asm-prototypes.h for
> any symbol that's exported, even if it is never and should never be
> referenced from C code.  I don't know if it's papering over a bug, looks
> more like it's how things are supposed to work but just not documented
> well (and symbol versions aren't turned on in defconfig).

Gotcha, thanks. I was worried that somehow the '_arm' prefix was causing
genksyms to start working, but it was the missing prototype that caused
the problem.

I'll pick this up.

Will



More information about the linux-arm-kernel mailing list