diff options
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/firmware.scm | 10 | ||||
-rw-r--r-- | gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch | 86 | ||||
-rw-r--r-- | gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch | 73 |
4 files changed, 4 insertions, 167 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 4416d0991f..9228605755 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -711,8 +711,6 @@ dist_patch_DATA = \ %D%/packages/patches/appstream-glib-2020.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \ - %D%/packages/patches/arm-trusted-firmware-optional-bin-generation.patch \ - %D%/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/aspell-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 12b40389d0..e96a00bb22 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -380,22 +380,20 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) (package (name (string-append "arm-trusted-firmware-" platform)) - (version "2.1") + (version "2.2") (source (origin (method git-fetch) (uri (git-reference ;; There are only GitHub generated release snapshots. - (url "https://github.com/ARM-software/arm-trusted-firmware.git") + (url "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/") (commit (string-append "v" version)))) (file-name (git-file-name "arm-trusted-firmware" version)) (patches (search-patches - "arm-trusted-firmware-optional-bin-generation.patch" - "arm-trusted-firmware-rockchip-disable-binary.patch" "arm-trusted-firmware-disable-hdcp.patch")) (sha256 (base32 - "1gy5qskrjy8n3kxdcm1dx8b45l5b75n0pm8pq80wl6xic1ycy24r")))) + "03fjl5hy1bqlya6fg553bqz7jrvilzrzpbs87cv6jd04v8qrvry8")))) (build-system gnu-build-system) (arguments `(#:phases @@ -443,7 +441,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf"))) '()) )) - (home-page "https://github.com/ARM-software/arm-trusted-firmware") + (home-page "https://www.trustedfirmware.org/") (synopsis "Implementation of \"secure world software\"") (description "ARM Trusted Firmware provides a reference implementation of secure world diff --git a/gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch b/gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch deleted file mode 100644 index b2b8a12e1d..0000000000 --- a/gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch +++ /dev/null @@ -1,86 +0,0 @@ -From b02de4cb14ee9c2bfff53d36f0b7ec6a2065bc94 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christoph=20M=C3=BCllner?= <christophm30@gmail.com> -Date: Wed, 24 Apr 2019 09:45:30 +0200 -Subject: [PATCH 1/2] build_macros: Add mechanism to prevent bin generation. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On certain platforms it does not make sense to generate -TF-A binary images. For example a platform could make use of serveral -memory areas, which are non-continuous and the resulting binary -therefore would suffer from the padding-bytes. -Typically these platforms use the ELF image. - -This patch introduces a variable DISABLE_BIN_GENERATION, which -can be set to '1' in the platform makefile to prevent the binary -generation. - -Signed-off-by: Christoph Müllner <christophm30@gmail.com> -Change-Id: I62948e88bab685bb055fe6167d9660d14e604462 ---- - docs/user-guide.rst | 4 ++++ - make_helpers/build_macros.mk | 9 +++++++++ - make_helpers/defaults.mk | 3 +++ - 3 files changed, 16 insertions(+) - -diff --git a/docs/user-guide.rst b/docs/user-guide.rst -index 0848769b3..19919f112 100644 ---- a/docs/user-guide.rst -+++ b/docs/user-guide.rst -@@ -369,6 +369,10 @@ Common build options - - ``DEBUG``: Chooses between a debug and release build. It can take either 0 - (release) or 1 (debug) as values. 0 is the default. - -+- ``DISABLE_BIN_GENERATION``: Boolean option to disable the generation -+ of the binary image. If set to 1, then only the ELF image is built. -+ 0 is the default. -+ - - ``DYN_DISABLE_AUTH``: Provides the capability to dynamically disable Trusted - Board Boot authentication at runtime. This option is meant to be enabled only - for development platforms. ``TRUSTED_BOARD_BOOT`` flag must be set if this -diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk -index 5d33954ad..2d41b2db1 100644 ---- a/make_helpers/build_macros.mk -+++ b/make_helpers/build_macros.mk -@@ -438,6 +438,11 @@ else - --script $(LINKERFILE) $(BUILD_DIR)/build_message.o \ - $(OBJS) $(LDPATHS) $(LIBWRAPPER) $(LDLIBS) $(BL_LIBS) - endif -+ifeq ($(DISABLE_BIN_GENERATION),1) -+ @${ECHO_BLANK_LINE} -+ @echo "Built $$@ successfully" -+ @${ECHO_BLANK_LINE} -+endif - - $(DUMP): $(ELF) - $${ECHO} " OD $$@" -@@ -451,7 +456,11 @@ $(BIN): $(ELF) - @${ECHO_BLANK_LINE} - - .PHONY: bl$(1) -+ifeq ($(DISABLE_BIN_GENERATION),1) -+bl$(1): $(ELF) $(DUMP) -+else - bl$(1): $(BIN) $(DUMP) -+endif - - all: bl$(1) - -diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk -index be84f7791..dc797ed1f 100644 ---- a/make_helpers/defaults.mk -+++ b/make_helpers/defaults.mk -@@ -62,6 +62,9 @@ DEBUG := 0 - # Build platform - DEFAULT_PLAT := fvp - -+# Disable the generation of the binary image (ELF only). -+DISABLE_BIN_GENERATION := 0 -+ - # Enable capability to disable authentication dynamically. Only meant for - # development platforms. - DYN_DISABLE_AUTH := 0 --- -2.20.1 - diff --git a/gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch b/gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch deleted file mode 100644 index 8819a7cfad..0000000000 --- a/gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 42383dcf7db5debb9e183c7c5631974a4c2f91ea Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christoph=20M=C3=BCllner?= <christophm30@gmail.com> -Date: Wed, 24 Apr 2019 09:52:54 +0200 -Subject: [PATCH 2/2] rockchip: Disable binary generation for all SoCs. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -All supported Rockchip SoCs (RK3288, RK3328, RK3368 and RK3399) -have non-continuous memory areas in the linker script with a huge -gap between them. This results in extremely padded binary images -with a size of about 4 GiB. - -E.g. on the RK3399 we have the following memory areas (and base addresses): -RAM (0x1000), SRAM (0xFF8C0000), and PMUSRAM (0xFF3B0000). - -Consumers of the TF-A project (e.g. coreboot or U-Boot) therefore -use the ELF image instead, which has a size of a few hundred kBs. - -In order to prevent the generation of a huge and useless file, -this patch disables the binary generation for all affected Rockchip -SoCs. - -Signed-off-by: Christoph Müllner <christophm30@gmail.com> -Change-Id: I4ac65bdf1e598c3e1a59507897d183aee9a36916 ---- - plat/rockchip/rk3328/platform.mk | 2 ++ - plat/rockchip/rk3368/platform.mk | 2 ++ - plat/rockchip/rk3399/platform.mk | 2 ++ - 3 files changed, 6 insertions(+) - -diff --git a/plat/rockchip/rk3328/platform.mk b/plat/rockchip/rk3328/platform.mk -index 18b1b9419..01c5af6a2 100644 ---- a/plat/rockchip/rk3328/platform.mk -+++ b/plat/rockchip/rk3328/platform.mk -@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip - RK_PLAT_SOC := ${RK_PLAT}/${PLAT} - RK_PLAT_COMMON := ${RK_PLAT}/common - -+DISABLE_BIN_GENERATION := 1 -+ - include lib/libfdt/libfdt.mk - - PLAT_INCLUDES := -Idrivers/arm/gic/common/ \ -diff --git a/plat/rockchip/rk3368/platform.mk b/plat/rockchip/rk3368/platform.mk -index d1315fc58..4ec36ce06 100644 ---- a/plat/rockchip/rk3368/platform.mk -+++ b/plat/rockchip/rk3368/platform.mk -@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip - RK_PLAT_SOC := ${RK_PLAT}/${PLAT} - RK_PLAT_COMMON := ${RK_PLAT}/common - -+DISABLE_BIN_GENERATION := 1 -+ - include lib/libfdt/libfdt.mk - - PLAT_INCLUDES := -I${RK_PLAT_COMMON}/ \ -diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk -index 101359856..25c498da8 100644 ---- a/plat/rockchip/rk3399/platform.mk -+++ b/plat/rockchip/rk3399/platform.mk -@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip - RK_PLAT_SOC := ${RK_PLAT}/${PLAT} - RK_PLAT_COMMON := ${RK_PLAT}/common - -+DISABLE_BIN_GENERATION := 1 -+ - include lib/libfdt/libfdt.mk - - PLAT_INCLUDES := -I${RK_PLAT_COMMON}/ \ --- -2.20.1 - |