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%%
> 

Reply via email to