Re: U-Boot for AArch64

2016-12-10 Thread Jonathan Gray
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

2016-12-10 Thread Patrick Wildt
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

2016-12-09 Thread Jonathan Gray
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

2016-12-06 Thread Patrick Wildt
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%%