summaryrefslogtreecommitdiff
path: root/sysutils/trusted-firmware-a
diff options
context:
space:
mode:
authormrg <mrg@pkgsrc.org>2022-02-09 01:57:57 +0000
committermrg <mrg@pkgsrc.org>2022-02-09 01:57:57 +0000
commit0319e596ce847eb6fa03dd995e69ead5f7499385 (patch)
tree833e032f59d5019106df08ddf249a7578cd5385f /sysutils/trusted-firmware-a
parent70d01261b426039177818cab6cd175039accefbf (diff)
downloadpkgsrc-0319e596ce847eb6fa03dd995e69ead5f7499385.tar.gz
Add Trusted Firmware-A (TF-A, the new name for Arm'sATF) v2.6 with
support for rk3328 (not yet tested), rk3399 (tested), and fiptool. these will obsolete the existing arm-trusted-firmware* (v2.3) packages once all consumers are updated and tested, and currently the sun50i_a64 and sun50i-h6 targets are not yet available.
Diffstat (limited to 'sysutils/trusted-firmware-a')
-rw-r--r--sysutils/trusted-firmware-a/distinfo5
-rw-r--r--sysutils/trusted-firmware-a/trusted-firmware-a-dist.mk20
-rw-r--r--sysutils/trusted-firmware-a/trusted-firmware-a.mk52
3 files changed, 77 insertions, 0 deletions
diff --git a/sysutils/trusted-firmware-a/distinfo b/sysutils/trusted-firmware-a/distinfo
new file mode 100644
index 00000000000..ec72e0a7c88
--- /dev/null
+++ b/sysutils/trusted-firmware-a/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.1 2022/02/09 01:57:57 mrg Exp $
+
+BLAKE2s (arm-trusted-firmware-2.6.zip) = 00bfe714f77eb95a3fbbbe1a89667aa9ce70f55bcde4e8f0a8c36ac36d78ece1
+SHA512 (arm-trusted-firmware-2.6.zip) = 3d5ef0f39017aad6bc469ba367604941e0aa7f5ce69f1709492e282aaff8188ff18ee7a224271c3d6c0479cac98954feb6faf9355c83a7351d8693ae61beac03
+Size (arm-trusted-firmware-2.6.zip) = 8010252 bytes
diff --git a/sysutils/trusted-firmware-a/trusted-firmware-a-dist.mk b/sysutils/trusted-firmware-a/trusted-firmware-a-dist.mk
new file mode 100644
index 00000000000..fd0d9bc57d9
--- /dev/null
+++ b/sysutils/trusted-firmware-a/trusted-firmware-a-dist.mk
@@ -0,0 +1,20 @@
+# $NetBSD: trusted-firmware-a-dist.mk,v 1.1 2022/02/09 01:57:57 mrg Exp $
+
+# When updating, don't forget to also update trusted-firmware-a-fiptool.
+VERSION= 2.6
+
+GITHUB_PROJECT= arm-trusted-firmware
+GITHUB_TAG= v${VERSION}
+
+DISTNAME= ${GITHUB_PROJECT}-${VERSION}
+DISTINFO_FILE?= ${.CURDIR}/../../sysutils/trusted-firmware-a/distinfo
+CATEGORIES= sysutils
+MASTER_SITES= ${MASTER_SITE_GITHUB:=ARM-software/}
+EXTRACT_SUFX= .zip
+PATCHDIR?= ${.CURDIR}/../../sysutils/trusted-firmware-a/patches
+
+MAINTAINER= port-arm@NetBSD.org
+HOMEPAGE= https://github.com/ARM-software/arm-trusted-firmware/
+LICENSE= modified-bsd
+
+USE_TOOLS+= gmake
diff --git a/sysutils/trusted-firmware-a/trusted-firmware-a.mk b/sysutils/trusted-firmware-a/trusted-firmware-a.mk
new file mode 100644
index 00000000000..d4ffbacbc32
--- /dev/null
+++ b/sysutils/trusted-firmware-a/trusted-firmware-a.mk
@@ -0,0 +1,52 @@
+# $NetBSD: trusted-firmware-a.mk,v 1.1 2022/02/09 01:57:57 mrg Exp $
+
+.include "../../sysutils/trusted-firmware-a/trusted-firmware-a-dist.mk"
+
+PKGNAME?= trusted-firmware-a-${PLATFORM}-${VERSION}
+
+RELRO_SUPPORTED= no
+MAKE_FLAGS+= CROSS_COMPILE=${PREFIX}/cross-aarch64-none-elf/bin/aarch64-none-elf-
+.if !empty(ATF_CORTEX_M0:Myes)
+MAKE_FLAGS+= M0_CROSS_COMPILE=${PREFIX}/cross-arm-none-eabi/bin/arm-none-eabi-
+.endif
+MAKE_FLAGS+= PLAT=${PLATFORM}
+MAKE_FLAGS+= CFLAGS='-gdwarf-2'
+#MAKE_FLAGS+= DEBUG=1
+#MAKE_FLAGS+= LOG_LEVEL=50
+#MAKE_FLAGS+= V=1
+MAKE_FLAGS+= BUILD_STRING=${GITHUB_TAG}
+BUILD_TARGET= bl31
+
+BUILD_DEPENDS+= cross-aarch64-none-elf-gcc-[0-9]*:../../cross/aarch64-none-elf-gcc
+.if !empty(ATF_CORTEX_M0:Myes)
+BUILD_DEPENDS+= cross-arm-none-eabi-gcc-[0-9]*:../../cross/arm-none-eabi-gcc
+.endif
+
+.if empty(MAKE_FLAGS:MDEBUG=1)
+BL31_DIR=release
+.else
+BL31_DIR=debug
+.endif
+
+BL31_SUFFIX?= bin
+
+.if !target(do-install)
+do-install:
+ ${INSTALL_DATA_DIR} \
+ ${DESTDIR}${PREFIX}/share/trusted-firmware-a/${PLATFORM}
+.if ${BL31_SUFFIX} == "bin"
+ ${INSTALL_DATA} \
+ ${WRKSRC}/build/${PLATFORM}/${BL31_DIR}/bl31.${BL31_SUFFIX} \
+ ${DESTDIR}${PREFIX}/share/trusted-firmware-a/${PLATFORM}/
+.else
+ ${INSTALL_DATA} \
+ ${WRKSRC}/build/${PLATFORM}/${BL31_DIR}/bl31/bl31.${BL31_SUFFIX} \
+ ${DESTDIR}${PREFIX}/share/trusted-firmware-a/${PLATFORM}/
+.endif
+.endif
+
+# XXX kludge. pkgsrc passes down run path flags in LDFLAGS assuming
+# gcc is used for linking, but here we call the linker directly.
+COMPILER_RPATH_FLAG= -R
+
+.include "../../mk/bsd.pkg.mk"