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 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? The quirks package is going to have to be added to the list manually copied over into the arm packages directory until there are arm packages built. > > diff --git a/sysutils/u-boot/Makefile b/sysutils/u-boot/Makefile > index 2856581..5b966e1 100644 > --- a/sysutils/u-boot/Makefile > +++ b/sysutils/u-boot/Makefile > @@ -1,7 +1,14 @@ > # $OpenBSD: Makefile,v 1.10 2016/11/20 01:47:00 jsg Exp $ > > +FLAVORS= aarch64 arm > +FLAVOR?= arm > + > COMMENT= U-Boot firmware > -DISTNAME= u-boot-2016.11 > +VERSION= 2016.11 > +DISTNAME= u-boot-${VERSION} > +PKGNAME= u-boot-${FLAVOR}-${VERSION} > +FULLPKGNAME= ${PKGNAME} > +REVISION= 0 > CATEGORIES= sysutils > HOMEPAGE= http://www.denx.de/wiki/U-Boot > MAINTAINER= Jonathan Gray <j...@openbsd.org> > @@ -13,12 +20,26 @@ MASTER_SITES= ftp://ftp.denx.de/pub/u-boot/ > EXTRACT_SUFX= .tar.bz2 > PKG_ARCH= * > > -BUILD_DEPENDS= devel/arm-none-eabi/gcc-linaro \ > - devel/dtc > -MAKE_ENV+= CROSS_COMPILE="arm-none-eabi-" KBUILD_VERBOSE=1 > +BUILD_DEPENDS= devel/dtc > +MAKE_ENV= KBUILD_VERBOSE=1 > + > +.if "${FLAVOR}" == "aarch64" > +BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro,aarch64 > +MAKE_ENV+= CROSS_COMPILE="aarch64-none-elf-" > +.elif "${FLAVOR}" == "arm" > +BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro > +MAKE_ENV+= CROSS_COMPILE="arm-none-eabi-" > +.endif > + > USE_GMAKE= Yes > NO_TEST= Yes > > +.if "${FLAVOR}" == "aarch64" > +BOARDS=\ > + dragonboard410c \ > + pine64_plus \ > + rpi_3 > +.elif "${FLAVOR}" == "arm" > BOARDS=\ > omap3_beagle \ > omap4_panda \ > @@ -52,6 +73,7 @@ BOARDS=\ > rpi_3_32b \ > vexpress_ca15_tc2 \ > vexpress_ca9x4 > +.endif > > FILES=\ > MLO \ > diff --git a/sysutils/u-boot/patches/patch-tools_relocate-rela_c > b/sysutils/u-boot/patches/patch-tools_relocate-rela_c > new file mode 100644 > index 0000000..b4aeff8 > --- /dev/null > +++ b/sysutils/u-boot/patches/patch-tools_relocate-rela_c > @@ -0,0 +1,19 @@ > +$OpenBSD$ > +--- tools/relocate-rela.c.orig Sat Nov 5 17:01:51 2016 > ++++ tools/relocate-rela.c Sat Nov 5 17:05:23 2016 > +@@ -50,6 +50,7 @@ static bool supported_rela(Elf64_Rela *rela) > + } > + } > + > ++#if !defined(__OpenBSD__) > + static inline uint64_t swap64(uint64_t val) > + { > + return ((val >> 56) & 0x00000000000000ffULL) | > +@@ -61,6 +62,7 @@ static inline uint64_t swap64(uint64_t val) > + ((val << 40) & 0x00ff000000000000ULL) | > + ((val << 56) & 0xff00000000000000ULL); > + } > ++#endif > + > + #if __BYTE_ORDER == __LITTLE_ENDIAN > + static inline uint64_t be64(uint64_t val) > diff --git a/sysutils/u-boot/pkg/PFRAG.aarch64 > b/sysutils/u-boot/pkg/PFRAG.aarch64 > new file mode 100644 > index 0000000..0854fee > --- /dev/null > +++ b/sysutils/u-boot/pkg/PFRAG.aarch64 > @@ -0,0 +1,12 @@ > +@comment $OpenBSD$ > +share/u-boot/ > +share/u-boot/dragonboard410c/ > +share/u-boot/dragonboard410c/u-boot > +share/u-boot/dragonboard410c/u-boot.bin > +share/u-boot/pine64_plus/ > +share/u-boot/pine64_plus/u-boot > +share/u-boot/pine64_plus/u-boot.bin > +share/u-boot/pine64_plus/u-boot.img > +share/u-boot/rpi_3/ > +share/u-boot/rpi_3/u-boot > +share/u-boot/rpi_3/u-boot.bin > diff --git a/sysutils/u-boot/pkg/PFRAG.arm b/sysutils/u-boot/pkg/PFRAG.arm > new file mode 100644 > index 0000000..129a42f > --- /dev/null > +++ b/sysutils/u-boot/pkg/PFRAG.arm > @@ -0,0 +1,151 @@ > +@comment $OpenBSD$ > +share/u-boot/ > +share/u-boot/A10-OLinuXino-Lime/ > +share/u-boot/A10-OLinuXino-Lime/u-boot > +share/u-boot/A10-OLinuXino-Lime/u-boot-sunxi-with-spl.bin > +share/u-boot/A10-OLinuXino-Lime/u-boot.bin > +share/u-boot/A10-OLinuXino-Lime/u-boot.img > +share/u-boot/A10s-OLinuXino-M/ > +share/u-boot/A10s-OLinuXino-M/u-boot > +share/u-boot/A10s-OLinuXino-M/u-boot-sunxi-with-spl.bin > +share/u-boot/A10s-OLinuXino-M/u-boot.bin > +share/u-boot/A10s-OLinuXino-M/u-boot.img > +share/u-boot/A20-OLinuXino-Lime/ > +share/u-boot/A20-OLinuXino-Lime/u-boot > +share/u-boot/A20-OLinuXino-Lime/u-boot-sunxi-with-spl.bin > +share/u-boot/A20-OLinuXino-Lime/u-boot.bin > +share/u-boot/A20-OLinuXino-Lime/u-boot.img > +share/u-boot/A20-OLinuXino-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 > diff --git a/sysutils/u-boot/pkg/PLIST b/sysutils/u-boot/pkg/PLIST > index 598d2c0..04a68cf 100644 > --- a/sysutils/u-boot/pkg/PLIST > +++ b/sysutils/u-boot/pkg/PLIST > @@ -1,151 +1,3 @@ > @comment $OpenBSD: PLIST,v 1.4 2016/11/20 01:47:00 jsg Exp $ > -share/u-boot/ > -share/u-boot/A10-OLinuXino-Lime/ > -share/u-boot/A10-OLinuXino-Lime/u-boot > -share/u-boot/A10-OLinuXino-Lime/u-boot-sunxi-with-spl.bin > -share/u-boot/A10-OLinuXino-Lime/u-boot.bin > -share/u-boot/A10-OLinuXino-Lime/u-boot.img > -share/u-boot/A10s-OLinuXino-M/ > -share/u-boot/A10s-OLinuXino-M/u-boot > -share/u-boot/A10s-OLinuXino-M/u-boot-sunxi-with-spl.bin > -share/u-boot/A10s-OLinuXino-M/u-boot.bin > -share/u-boot/A10s-OLinuXino-M/u-boot.img > -share/u-boot/A20-OLinuXino-Lime/ > -share/u-boot/A20-OLinuXino-Lime/u-boot > -share/u-boot/A20-OLinuXino-Lime/u-boot-sunxi-with-spl.bin > -share/u-boot/A20-OLinuXino-Lime/u-boot.bin > -share/u-boot/A20-OLinuXino-Lime/u-boot.img > -share/u-boot/A20-OLinuXino-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%% >