
24 Mar
2015
24 Mar
'15
11:31 a.m.
Hi,
Maybe a dumb question, why do we need to have a 64-bit U-Boot for arm64? I don't see we ever created 64-bit U-Boot for ppc64.
In ARMv8 it's not possible to change the register width at an exception level (i.e. you can't change 64->32 or vice-versa), and lower exception levels cannot be wider (so if your code at EL3 is 32-bit, you cannot run 64-bit code at EL3, EL2, EL1, or EL0).
Therefore you need a purely 64-bit path from EL3 to EL2 or EL1N in order to boot a 64-bit kernel, so the bootloader needs to be 64-bit.
Mark.