Hi Experts,
I have binaries built for armv7 architecture, without rebuilding binaries can I run on armv8?. I think its possible, but wanted confirm is there any limitation?
Thanks,
Veeranna
It depends on the type of binary.
For something like a Linux application, then yes. ARMv8-A includes AArch32, which provides backwards compatibility with ARMv7-A. There are some limitations, such as the SWP instruction no longer being supported. But these are types of things that applications are unlikely to be using (and were deprecated in ARMv7).
For baremetal, you have all the usual problems of using a binary from one platform on another. So you are going to need to do some degree of porting in most cases.
Hi Martin,
can you please tell which register to modify in El1 to indicate El0 is AArch32 bit mode (location of register width bit's)?
If EL1 is using AArch64, to get to EL0 you need to perform an exception return. The Execution state of EL0 is set by the SPSR_EL1 value when you perform the exception return. If SPSR_EL1[4:0] ==b00000, EL0 uses AArch64. If SPSR_EL1[4:0]==b10000, EL0 uses AArch32