Hi, On 13/01/17 02:19, Simon Glass wrote: > Hi Andre, > > On 2 January 2017 at 04:48, Andre Przywara <andre.przyw...@arm.com> wrote: >> When compiling the SPL for the Allwinner A64 in AArch64 mode, we can't >> use the more compact Thumb2 encoding, which only exists for AArch32 >> code. This makes the SPL rather big, up to a point where any code >> additions or even a different compiler may easily exceed the 32KB limit >> that the Allwinner BROM imposes. >> Introduce a separate, mostly generic sun50i-a64 configuration, which >> defines the CPU_V7 symbol and thus will create a 32-bit binary using >> the memory-saving Thumb2 encoding. >> This should only be used for the SPL, the U-Boot proper should still be >> using the existing 64-bit configuration. The SPL code can switch to >> AArch64 if needed, so a 32-bit SPL can be combined with a 64-bit U-Boot >> proper to eventually launch arm64 kernels. >> >> Signed-off-by: Andre Przywara <andre.przyw...@arm.com> >> --- >> board/sunxi/Kconfig | 14 ++++++++++++-- >> configs/pine64_plus_defconfig | 2 +- >> configs/sun50i_spl32_defconfig | 10 ++++++++++ >> 3 files changed, 23 insertions(+), 3 deletions(-) >> create mode 100644 configs/sun50i_spl32_defconfig > > Following up on the previous discussion, I take it that one on problem > is that U-Boot does not support building SPL with one toolchain and > U-Boot proper with another?
Yes. For the time being I have a script [1] that first configures and compiles everything with an ARM cross compiler, then repeats this with an aarch64 cross compiler. Then I combine the 32-bit SPL and the 64-bit U-Boot proper. While we are at it: I didn't find a Makefile target to just compile the SPL (or just U-Boot proper), is that worth looking at? Or can we somehow influence Kconfig options on the command line to achieve that on that level? > Re wanting to build SPL either as 32-bit or 64-bit, could this be a > Kconfig option perhaps? Sounds like a direction worth to investigate. In the moment we have two separate defconfig files, because CPU_V7 and ARM64 are actually mutually exclusive, which is really a pain and the main reason that part wasn't merged. > Anyway, if this is what we have for now, fine. But I'd like to see at > least a TODO suggesting a better solution. So yes, the series was now merged omitting the 32-bit SPL part, which is really optional. For the time being we seem to get away with only 64-bit, but I will definitely revisit this after having handled the higher priority patches in my queue. Cheers, Andre. [1] http://pastebin.com/kH7u2h7M _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot