[PATCH] KVM: arm64: Check cpu_has_spe() before initializing PMSCR_EL1 in VHE

Leo Yan leo.yan at arm.com
Wed Oct 8 05:40:40 PDT 2025


On Wed, Oct 08, 2025 at 11:46:55AM +0100, Marc Zyngier wrote:

[...]

> > > Lets guard the change with cpu_has_spe() check so that it only affects
> > > the cpu which has SPE feature supported.
> > 
> > This could benefit from being spelled out a bit more. In both cases we
> > check for the presence of FEAT_SPE, however I believe the issue you
> > observe is EL3 hasn't delegated ownership of the Profiling Buffer to
> > Non-secure nor does it reinject an UNDEF in response to the sysreg trap.
> > 
> > I agree that the change is correct but the rationale needs to be clear.
> 
> To me, this smells a lot more like some sort of papering over a
> firmware bug. Why isn't SPE available the first place?

TF-a grants permission to non-secure world [1], only access from secure
world or realm will trap to EL3.

So yes, it would be good to check if any issue in firmware.

Thanks,
Leo

[1] https://git.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a.git/+/refs/heads/master/lib/extensions/spe/spe.c#52



More information about the linux-arm-kernel mailing list