Re: U-Boot for AArch64
On Sat, Dec 10, 2016 at 06:14:11PM +0100, Patrick Wildt wrote: > On Sat, Dec 10, 2016 at 11:23:54AM +1100, Jonathan Gray wrote: > > On Tue, Dec 06, 2016 at 06:31:59PM +0100, Patrick Wildt wrote: > > > Hi, > > > > > > now that we have an AArch64-capable toolchain for our arm64 efforts, we > > > can start compiling 64-bit u-boots. Instead of creating another port > > > for that we can make u-boot create different packages depending on the > > > flavor. > > > > > > To upgrade from u-boot to u-boot-arm we'd need a Quirk as well. > > > > > > Patrick > > > > Setting FULLPKGNAME like that allows both FLAVORS to be installed > > at the same time? The pine64 discussions on the u-boot list seem > > Yes, exactly. The idea was to be able to be able to use both at the > same time. > > > to be going in the direction of a 32 bit config for the SPL while > > still only having a 64 bit target for the main u-boot image. > > > > And 'make update-plist' would additionally need > > 'FLAVOR=aarch64 make update-list' when updating u-boot? > > Yes, that's true. One pass with ARM, copy the list to PFRAG.arm, > another pass with aarch64, copy the list to PFRAG.aarch64. It's > a bit of a hassle. The relocate-rela.c patch won't work right on big endian systems as __BYTE_ORDER and __LITTLE_ENDIAN won't be defined unless u-boot's compiler.h is included. I'm ok with your diff if you instead use the following, which I'll try submit upstream: $OpenBSD$ --- tools/relocate-rela.c.orig Tue Dec 6 10:36:23 2016 +++ tools/relocate-rela.c Sun Dec 11 14:15:57 2016 @@ -15,6 +15,7 @@ #include #include #include +#include "compiler.h" #ifndef R_AARCH64_RELATIVE #define R_AARCH64_RELATIVE 1027 @@ -50,40 +51,6 @@ static bool supported_rela(Elf64_Rela *rela) } } -static inline uint64_t swap64(uint64_t val) -{ - return ((val >> 56) & 0x00ffULL) | - ((val >> 40) & 0xff00ULL) | - ((val >> 24) & 0x00ffULL) | - ((val >> 8) & 0xff00ULL) | - ((val << 8) & 0x00ffULL) | - ((val << 24) & 0xff00ULL) | - ((val << 40) & 0x00ffULL) | - ((val << 56) & 0xff00ULL); -} - -#if __BYTE_ORDER == __LITTLE_ENDIAN -static inline uint64_t be64(uint64_t val) -{ - return swap64(val); -} - -static inline uint64_t le64(uint64_t val) -{ - return val; -} -#else -static inline uint64_t le64(uint64_t val) -{ - return swap64(val); -} - -static inline uint64_t be64(uint64_t val) -{ - return val; -} -#endif - static bool read_num(const char *str, uint64_t *num) { char *endptr; @@ -148,9 +115,9 @@ int main(int argc, char **argv) return 4; } - swrela.r_offset = le64(rela.r_offset); - swrela.r_info = le64(rela.r_info); - swrela.r_addend = le64(rela.r_addend); + swrela.r_offset = cpu_to_le64(rela.r_offset); + swrela.r_info = cpu_to_le64(rela.r_info); + swrela.r_addend = cpu_to_le64(rela.r_addend); if (!supported_rela()) continue;
Re: U-Boot for AArch64
bieboard/u-boot > > -share/u-boot/Cubieboard/u-boot-sunxi-with-spl.bin > > -share/u-boot/Cubieboard/u-boot.bin > > -share/u-boot/Cubieboard/u-boot.img > > -share/u-boot/Cubieboard2/ > > -share/u-boot/Cubieboard2/u-boot > > -share/u-boot/Cubieboard2/u-boot-sunxi-with-spl.bin > > -share/u-boot/Cubieboard2/u-boot.bin > > -share/u-boot/Cubieboard2/u-boot.img > > -share/u-boot/Cubieboard4/ > > -share/u-boot/Cubieboard4/u-boot > > -share/u-boot/Cubieboard4/u-boot-sunxi-with-spl.bin > > -share/u-boot/Cubieboard4/u-boot.bin > > -share/u-boot/Cubieboard4/u-boot.img > > -share/u-boot/Cubietruck/ > > -share/u-boot/Cubietruck/u-boot > > -share/u-boot/Cubietruck/u-boot-sunxi-with-spl.bin > > -share/u-boot/Cubietruck/u-boot.bin > > -share/u-boot/Cubietruck/u-boot.img > > -share/u-boot/Lamobo_R1/ > > -share/u-boot/Lamobo_R1/u-boot > > -share/u-boot/Lamobo_R1/u-boot-sunxi-with-spl.bin > > -share/u-boot/Lamobo_R1/u-boot.bin > > -share/u-boot/Lamobo_R1/u-boot.img > > -share/u-boot/Linksprite_pcDuino/ > > -share/u-boot/Linksprite_pcDuino/u-boot > > -share/u-boot/Linksprite_pcDuino/u-boot-sunxi-with-spl.bin > > -share/u-boot/Linksprite_pcDuino/u-boot.bin > > -share/u-boot/Linksprite_pcDuino/u-boot.img > > -share/u-boot/Linksprite_pcDuino3/ > > -share/u-boot/Linksprite_pcDuino3/u-boot > > -share/u-boot/Linksprite_pcDuino3/u-boot-sunxi-with-spl.bin > > -share/u-boot/Linksprite_pcDuino3/u-boot.bin > > -share/u-boot/Linksprite_pcDuino3/u-boot.img > > -share/u-boot/Linksprite_pcDuino3_Nano/ > > -share/u-boot/Linksprite_pcDuino3_Nano/u-boot > > -share/u-boot/Linksprite_pcDuino3_Nano/u-boot-sunxi-with-spl.bin > > -share/u-boot/Linksprite_pcDuino3_Nano/u-boot.bin > > -share/u-boot/Linksprite_pcDuino3_Nano/u-boot.img > > -share/u-boot/am335x_boneblack/ > > -share/u-boot/am335x_boneblack/MLO > > -share/u-boot/am335x_boneblack/u-boot > > -share/u-boot/am335x_boneblack/u-boot.bin > > -share/u-boot/am335x_boneblack/u-boot.img > > -share/u-boot/am57xx_evm/ > > -share/u-boot/am57xx_evm/MLO > > -share/u-boot/am57xx_evm/u-boot > > -share/u-boot/am57xx_evm/u-boot.bin > > -share/u-boot/am57xx_evm/u-boot.img > > -share/u-boot/cm_fx6/ > > -share/u-boot/cm_fx6/SPL > > -share/u-boot/cm_fx6/u-boot > > -share/u-boot/cm_fx6/u-boot.bin > > -share/u-boot/cm_fx6/u-boot.img > > -share/u-boot/mx6cuboxi/ > > -share/u-boot/mx6cuboxi/SPL > > -share/u-boot/mx6cuboxi/u-boot > > -share/u-boot/mx6cuboxi/u-boot.bin > > -share/u-boot/mx6cuboxi/u-boot.img > > -share/u-boot/mx6qsabrelite/ > > -share/u-boot/mx6qsabrelite/u-boot > > -share/u-boot/mx6qsabrelite/u-boot.bin > > -share/u-boot/mx6qsabrelite/u-boot.imx > > -share/u-boot/nitrogen6q/ > > -share/u-boot/nitrogen6q/u-boot > > -share/u-boot/nitrogen6q/u-boot.bin > > -share/u-boot/nitrogen6q/u-boot.imx > > -share/u-boot/novena/ > > -share/u-boot/novena/SPL > > -share/u-boot/novena/u-boot > > -share/u-boot/novena/u-boot.bin > > -share/u-boot/novena/u-boot.img > > -share/u-boot/omap3_beagle/ > > -share/u-boot/omap3_beagle/MLO > > -share/u-boot/omap3_beagle/u-boot > > -share/u-boot/omap3_beagle/u-boot.bin > > -share/u-boot/omap3_beagle/u-boot.img > > -share/u-boot/omap4_panda/ > > -share/u-boot/omap4_panda/MLO > > -share/u-boot/omap4_panda/u-boot > > -share/u-boot/omap4_panda/u-boot.bin > > -share/u-boot/omap4_panda/u-boot.img > > -share/u-boot/riotboard/ > > -share/u-boot/riotboard/u-boot > > -share/u-boot/riotboard/u-boot.bin > > -share/u-boot/riotboard/u-boot.imx > > -share/u-boot/rpi_2/ > > -share/u-boot/rpi_2/u-boot > > -share/u-boot/rpi_2/u-boot.bin > > -share/u-boot/rpi_3_32b/ > > -share/u-boot/rpi_3_32b/u-boot > > -share/u-boot/rpi_3_32b/u-boot.bin > > -share/u-boot/udoo/ > > -share/u-boot/udoo/SPL > > -share/u-boot/udoo/u-boot > > -share/u-boot/udoo/u-boot.bin > > -share/u-boot/udoo/u-boot.img > > -share/u-boot/vexpress_ca15_tc2/ > > -share/u-boot/vexpress_ca15_tc2/u-boot > > -share/u-boot/vexpress_ca15_tc2/u-boot.bin > > -share/u-boot/vexpress_ca9x4/ > > -share/u-boot/vexpress_ca9x4/u-boot > > -share/u-boot/vexpress_ca9x4/u-boot.bin > > -share/u-boot/wandboard/ > > -share/u-boot/wandboard/SPL > > -share/u-boot/wandboard/u-boot > > -share/u-boot/wandboard/u-boot.bin > > -share/u-boot/wandboard/u-boot.img > > +%%aarch64%% > > +%%arm%% > > >
Re: U-Boot for AArch64
ck/u-boot.bin > -share/u-boot/am335x_boneblack/u-boot.img > -share/u-boot/am57xx_evm/ > -share/u-boot/am57xx_evm/MLO > -share/u-boot/am57xx_evm/u-boot > -share/u-boot/am57xx_evm/u-boot.bin > -share/u-boot/am57xx_evm/u-boot.img > -share/u-boot/cm_fx6/ > -share/u-boot/cm_fx6/SPL > -share/u-boot/cm_fx6/u-boot > -share/u-boot/cm_fx6/u-boot.bin > -share/u-boot/cm_fx6/u-boot.img > -share/u-boot/mx6cuboxi/ > -share/u-boot/mx6cuboxi/SPL > -share/u-boot/mx6cuboxi/u-boot > -share/u-boot/mx6cuboxi/u-boot.bin > -share/u-boot/mx6cuboxi/u-boot.img > -share/u-boot/mx6qsabrelite/ > -share/u-boot/mx6qsabrelite/u-boot > -share/u-boot/mx6qsabrelite/u-boot.bin > -share/u-boot/mx6qsabrelite/u-boot.imx > -share/u-boot/nitrogen6q/ > -share/u-boot/nitrogen6q/u-boot > -share/u-boot/nitrogen6q/u-boot.bin > -share/u-boot/nitrogen6q/u-boot.imx > -share/u-boot/novena/ > -share/u-boot/novena/SPL > -share/u-boot/novena/u-boot > -share/u-boot/novena/u-boot.bin > -share/u-boot/novena/u-boot.img > -share/u-boot/omap3_beagle/ > -share/u-boot/omap3_beagle/MLO > -share/u-boot/omap3_beagle/u-boot > -share/u-boot/omap3_beagle/u-boot.bin > -share/u-boot/omap3_beagle/u-boot.img > -share/u-boot/omap4_panda/ > -share/u-boot/omap4_panda/MLO > -share/u-boot/omap4_panda/u-boot > -share/u-boot/omap4_panda/u-boot.bin > -share/u-boot/omap4_panda/u-boot.img > -share/u-boot/riotboard/ > -share/u-boot/riotboard/u-boot > -share/u-boot/riotboard/u-boot.bin > -share/u-boot/riotboard/u-boot.imx > -share/u-boot/rpi_2/ > -share/u-boot/rpi_2/u-boot > -share/u-boot/rpi_2/u-boot.bin > -share/u-boot/rpi_3_32b/ > -share/u-boot/rpi_3_32b/u-boot > -share/u-boot/rpi_3_32b/u-boot.bin > -share/u-boot/udoo/ > -share/u-boot/udoo/SPL > -share/u-boot/udoo/u-boot > -share/u-boot/udoo/u-boot.bin > -share/u-boot/udoo/u-boot.img > -share/u-boot/vexpress_ca15_tc2/ > -share/u-boot/vexpress_ca15_tc2/u-boot > -share/u-boot/vexpress_ca15_tc2/u-boot.bin > -share/u-boot/vexpress_ca9x4/ > -share/u-boot/vexpress_ca9x4/u-boot > -share/u-boot/vexpress_ca9x4/u-boot.bin > -share/u-boot/wandboard/ > -share/u-boot/wandboard/SPL > -share/u-boot/wandboard/u-boot > -share/u-boot/wandboard/u-boot.bin > -share/u-boot/wandboard/u-boot.img > +%%aarch64%% > +%%arm%% >
U-Boot for AArch64
no-Lime2/ -share/u-boot/A20-OLinuXino-Lime2/u-boot -share/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin -share/u-boot/A20-OLinuXino-Lime2/u-boot.bin -share/u-boot/A20-OLinuXino-Lime2/u-boot.img -share/u-boot/A20-OLinuXino_MICRO/ -share/u-boot/A20-OLinuXino_MICRO/u-boot -share/u-boot/A20-OLinuXino_MICRO/u-boot-sunxi-with-spl.bin -share/u-boot/A20-OLinuXino_MICRO/u-boot.bin -share/u-boot/A20-OLinuXino_MICRO/u-boot.img -share/u-boot/Bananapi/ -share/u-boot/Bananapi/u-boot -share/u-boot/Bananapi/u-boot-sunxi-with-spl.bin -share/u-boot/Bananapi/u-boot.bin -share/u-boot/Bananapi/u-boot.img -share/u-boot/Bananapro/ -share/u-boot/Bananapro/u-boot -share/u-boot/Bananapro/u-boot-sunxi-with-spl.bin -share/u-boot/Bananapro/u-boot.bin -share/u-boot/Bananapro/u-boot.img -share/u-boot/CHIP/ -share/u-boot/CHIP/u-boot -share/u-boot/CHIP/u-boot-sunxi-with-spl.bin -share/u-boot/CHIP/u-boot.bin -share/u-boot/CHIP/u-boot.img -share/u-boot/Cubieboard/ -share/u-boot/Cubieboard/u-boot -share/u-boot/Cubieboard/u-boot-sunxi-with-spl.bin -share/u-boot/Cubieboard/u-boot.bin -share/u-boot/Cubieboard/u-boot.img -share/u-boot/Cubieboard2/ -share/u-boot/Cubieboard2/u-boot -share/u-boot/Cubieboard2/u-boot-sunxi-with-spl.bin -share/u-boot/Cubieboard2/u-boot.bin -share/u-boot/Cubieboard2/u-boot.img -share/u-boot/Cubieboard4/ -share/u-boot/Cubieboard4/u-boot -share/u-boot/Cubieboard4/u-boot-sunxi-with-spl.bin -share/u-boot/Cubieboard4/u-boot.bin -share/u-boot/Cubieboard4/u-boot.img -share/u-boot/Cubietruck/ -share/u-boot/Cubietruck/u-boot -share/u-boot/Cubietruck/u-boot-sunxi-with-spl.bin -share/u-boot/Cubietruck/u-boot.bin -share/u-boot/Cubietruck/u-boot.img -share/u-boot/Lamobo_R1/ -share/u-boot/Lamobo_R1/u-boot -share/u-boot/Lamobo_R1/u-boot-sunxi-with-spl.bin -share/u-boot/Lamobo_R1/u-boot.bin -share/u-boot/Lamobo_R1/u-boot.img -share/u-boot/Linksprite_pcDuino/ -share/u-boot/Linksprite_pcDuino/u-boot -share/u-boot/Linksprite_pcDuino/u-boot-sunxi-with-spl.bin -share/u-boot/Linksprite_pcDuino/u-boot.bin -share/u-boot/Linksprite_pcDuino/u-boot.img -share/u-boot/Linksprite_pcDuino3/ -share/u-boot/Linksprite_pcDuino3/u-boot -share/u-boot/Linksprite_pcDuino3/u-boot-sunxi-with-spl.bin -share/u-boot/Linksprite_pcDuino3/u-boot.bin -share/u-boot/Linksprite_pcDuino3/u-boot.img -share/u-boot/Linksprite_pcDuino3_Nano/ -share/u-boot/Linksprite_pcDuino3_Nano/u-boot -share/u-boot/Linksprite_pcDuino3_Nano/u-boot-sunxi-with-spl.bin -share/u-boot/Linksprite_pcDuino3_Nano/u-boot.bin -share/u-boot/Linksprite_pcDuino3_Nano/u-boot.img -share/u-boot/am335x_boneblack/ -share/u-boot/am335x_boneblack/MLO -share/u-boot/am335x_boneblack/u-boot -share/u-boot/am335x_boneblack/u-boot.bin -share/u-boot/am335x_boneblack/u-boot.img -share/u-boot/am57xx_evm/ -share/u-boot/am57xx_evm/MLO -share/u-boot/am57xx_evm/u-boot -share/u-boot/am57xx_evm/u-boot.bin -share/u-boot/am57xx_evm/u-boot.img -share/u-boot/cm_fx6/ -share/u-boot/cm_fx6/SPL -share/u-boot/cm_fx6/u-boot -share/u-boot/cm_fx6/u-boot.bin -share/u-boot/cm_fx6/u-boot.img -share/u-boot/mx6cuboxi/ -share/u-boot/mx6cuboxi/SPL -share/u-boot/mx6cuboxi/u-boot -share/u-boot/mx6cuboxi/u-boot.bin -share/u-boot/mx6cuboxi/u-boot.img -share/u-boot/mx6qsabrelite/ -share/u-boot/mx6qsabrelite/u-boot -share/u-boot/mx6qsabrelite/u-boot.bin -share/u-boot/mx6qsabrelite/u-boot.imx -share/u-boot/nitrogen6q/ -share/u-boot/nitrogen6q/u-boot -share/u-boot/nitrogen6q/u-boot.bin -share/u-boot/nitrogen6q/u-boot.imx -share/u-boot/novena/ -share/u-boot/novena/SPL -share/u-boot/novena/u-boot -share/u-boot/novena/u-boot.bin -share/u-boot/novena/u-boot.img -share/u-boot/omap3_beagle/ -share/u-boot/omap3_beagle/MLO -share/u-boot/omap3_beagle/u-boot -share/u-boot/omap3_beagle/u-boot.bin -share/u-boot/omap3_beagle/u-boot.img -share/u-boot/omap4_panda/ -share/u-boot/omap4_panda/MLO -share/u-boot/omap4_panda/u-boot -share/u-boot/omap4_panda/u-boot.bin -share/u-boot/omap4_panda/u-boot.img -share/u-boot/riotboard/ -share/u-boot/riotboard/u-boot -share/u-boot/riotboard/u-boot.bin -share/u-boot/riotboard/u-boot.imx -share/u-boot/rpi_2/ -share/u-boot/rpi_2/u-boot -share/u-boot/rpi_2/u-boot.bin -share/u-boot/rpi_3_32b/ -share/u-boot/rpi_3_32b/u-boot -share/u-boot/rpi_3_32b/u-boot.bin -share/u-boot/udoo/ -share/u-boot/udoo/SPL -share/u-boot/udoo/u-boot -share/u-boot/udoo/u-boot.bin -share/u-boot/udoo/u-boot.img -share/u-boot/vexpress_ca15_tc2/ -share/u-boot/vexpress_ca15_tc2/u-boot -share/u-boot/vexpress_ca15_tc2/u-boot.bin -share/u-boot/vexpress_ca9x4/ -share/u-boot/vexpress_ca9x4/u-boot -share/u-boot/vexpress_ca9x4/u-boot.bin -share/u-boot/wandboard/ -share/u-boot/wandboard/SPL -share/u-boot/wandboard/u-boot -share/u-boot/wandboard/u-boot.bin -share/u-boot/wandboard/u-boot.img +%%aarch64%% +%%arm%%