I'm trying to test SVE support on SGI-575 FVP. For this purpose, I've built "sve_array_sum" example with some modifications and I'm having exception with ESR_EL1.EC = 0. I investigated further and found that ID_AA64PFR0_EL1.SVE = 0 which means SVE isn't enabled on this FVP. I know we can enable SVE in FVPs by setting parameter "SVE.ScalableVectorExtension.veclen=<length>" but this parameters doesn't exist on SGI-575 FVP. Do anyone here have any idea about how we can enable SVE support on SGI-575 FVP?
ESR_EL1.EC = 0
ID_AA64PFR0_EL1.SVE = 0
SVE.ScalableVectorExtension.veclen=<length
Thanks Jason for your timely response. Can you tell me If SVE Fast Model plugin is available publicly or we will have to contact ARM support through proper channel?
Hi,
The SVE plugin is available for both FVPs and in the Fast Models product. No special request is needed.
I don't see it in the SGI-575 plugins directory -- probably because it's modeling Cortex-A75.
You may be able to take the plugin from the Armv8-A Architecture FVP as it's included there or just switch over to this FVP.
Thanks,
Jason
I tried to use SVE plugin from "Armv8-A Architecture FVP". For this purpose I downloaded it's latest version (r11p4-37rel0), copied SVE plugin from it to "SGI-575" plugin directory and added plugin in launch command and I got error "Version mismatch - Instruction set extension is 11.4.37 but model is 11.1.31". So, I downloaded an older version (r11p1-27rel1) of "Armv8-A Architecture FVP" and used plugin from it. This time I got no such error but behavior of SGI-575 is still same and it is unable to execute any SVE related instruction and still ID_AA64PFR0_EL1.SVE = 0.
r11p4-37rel0
SGI-575
Version mismatch - Instruction set extension is 11.4.37 but model is 11.1.31
r11p1-27rel1
Sorry I didn't provide enough information.
In order to run SVE the AEMv8-A CPU model is needed. The Armv8-A Base Platform FVP would be the place to start.
https://developer.arm.com/products/system-design/fixed-virtual-platforms
I also tried the SVE plugin on a Cortex-A CPU model and it doesn't report SVE support in the ID_AA64PFR0_EL1 as you said and the SVE instructions do not execute.
Fast Models can be used to modify FVPs and create custom systems using the AEMv8-A model:
https://developer.arm.com/products/system-design/fast-models
If you have more questions about how to create a platform suitable for you work you can also contact the support team at
https://developer.arm.com/support