mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
gnu: arm-trusted-firmware: Add backported patches to disable .bin generation
for rockchip platforms. * gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch: New patch. * gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch: New patch. * gnu/packages/firmware (make-arm-trusted-firmware): Add patches. * gnu/local.mk (dist_patch_DATA): Add patches. Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
This commit is contained in:
parent
c37c8efb2b
commit
475dac08a0
4 changed files with 164 additions and 0 deletions
|
@ -694,6 +694,8 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
|
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
|
||||||
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
|
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
|
||||||
%D%/packages/patches/apr-skip-getservbyname-test.patch \
|
%D%/packages/patches/apr-skip-getservbyname-test.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-default-dict-dir.patch \
|
||||||
%D%/packages/patches/aspell-gcc-compat.patch \
|
%D%/packages/patches/aspell-gcc-compat.patch \
|
||||||
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
|
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
|
||||||
|
|
|
@ -389,6 +389,9 @@ (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64"))
|
||||||
(url "https://github.com/ARM-software/arm-trusted-firmware.git")
|
(url "https://github.com/ARM-software/arm-trusted-firmware.git")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name "arm-trusted-firmware" 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"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1gy5qskrjy8n3kxdcm1dx8b45l5b75n0pm8pq80wl6xic1ycy24r"))))
|
"1gy5qskrjy8n3kxdcm1dx8b45l5b75n0pm8pq80wl6xic1ycy24r"))))
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
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
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
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
|
||||||
|
|
Loading…
Reference in a new issue