DistroKit Mailinglist
 help / color / mirror / Atom feed
From: Marco Felsch <m.felsch@pengutronix.de>
To: distrokit@pengutronix.de
Subject: [DistroKit] [PATCH 01/14] v7a: tf-a: version bump v2.7 -> 2.8/customers/pengutronix/distrokit/20230210-1
Date: Fri, 10 Feb 2023 20:35:59 +0100	[thread overview]
Message-ID: <20230210193612.2143905-2-m.felsch@pengutronix.de> (raw)
In-Reply-To: <20230210193612.2143905-1-m.felsch@pengutronix.de>

Do mainline version bump v2.7 -> v2.8

Drop upstreamed patch:
 - 0001-fix-stm32mp1-fdts-stm32mp1-align-DDR-regulators-with.patch

Squash patches:
 - 0003-feat-build-add-support-for-new-binutils-versions.patch
 - 0004-makefile-link-with-z-noexecstack.patch

Added patches:
 - i.MX8MQ PIE support
 - i.MX8MQ GCC-12 build fixes

Finally make use of umpf [1] for the patchstack management.

[1] https://github.com/pengutronix/umpf/pull/10

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
 configs/platform-v7a/platformconfig           |   4 +-
 ...s-stm32mp1-align-DDR-regulators-with.patch | 105 ------------------
 ...dd-support-for-new-binutils-versions.patch |  38 -------
 ...004-makefile-link-with-z-noexecstack.patch |  39 -------
 patches/tf-a-v2.7/series                      |   4 -
 ...add-helper-to-detect-linker-options.patch} |   8 +-
 ...dd-support-for-new-binutils-versions.patch |  54 +++++++++
 ...-IMX_BOOT_UART_BASE-configurable-via.patch |  41 +++++++
 ...remove-empty-bl31_plat_runtime_setup.patch |  30 +++++
 ...03-feat-imx8mq-always-set-up-console.patch |  51 +++++++++
 ...imx8mq-make-use-of-setup_page_tables.patch |  53 +++++++++
 ...-refactor-imx8mq-introduce-BL31_SIZE.patch |  54 +++++++++
 ...106-feat-imx8mq-add-BL31-PIE-support.patch |  55 +++++++++
 ...feat-imx8mq-add-support-for-gcc-12.x.patch |  45 ++++++++
 ...omers-pengutronix-distrokit-20230210.patch |  21 ++++
 patches/tf-a-v2.8/series                      |  22 ++++
 16 files changed, 430 insertions(+), 194 deletions(-)
 delete mode 100644 patches/tf-a-v2.7/0001-fix-stm32mp1-fdts-stm32mp1-align-DDR-regulators-with.patch
 delete mode 100644 patches/tf-a-v2.7/0003-feat-build-add-support-for-new-binutils-versions.patch
 delete mode 100644 patches/tf-a-v2.7/0004-makefile-link-with-z-noexecstack.patch
 delete mode 100644 patches/tf-a-v2.7/series
 rename patches/{tf-a-v2.7/0002-build-makefile-add-helper-to-detect-linker-options.patch => tf-a-v2.8/0001-build-makefile-add-helper-to-detect-linker-options.patch} (85%)
 create mode 100644 patches/tf-a-v2.8/0002-feat-build-add-support-for-new-binutils-versions.patch
 create mode 100644 patches/tf-a-v2.8/0101-feat-imx8mq-make-IMX_BOOT_UART_BASE-configurable-via.patch
 create mode 100644 patches/tf-a-v2.8/0102-feat-imx8mq-remove-empty-bl31_plat_runtime_setup.patch
 create mode 100644 patches/tf-a-v2.8/0103-feat-imx8mq-always-set-up-console.patch
 create mode 100644 patches/tf-a-v2.8/0104-refactor-imx8mq-make-use-of-setup_page_tables.patch
 create mode 100644 patches/tf-a-v2.8/0105-refactor-imx8mq-introduce-BL31_SIZE.patch
 create mode 100644 patches/tf-a-v2.8/0106-feat-imx8mq-add-BL31-PIE-support.patch
 create mode 100644 patches/tf-a-v2.8/0107-feat-imx8mq-add-support-for-gcc-12.x.patch
 create mode 100644 patches/tf-a-v2.8/0201-Release-2.8-customers-pengutronix-distrokit-20230210.patch
 create mode 100644 patches/tf-a-v2.8/series

diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index ac43dbf..8e90a32 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -198,8 +198,8 @@ PTXCONF_BOOTLOADER=y
 # PTXCONF_OPTEE is not set
 PTXCONF_TF_A=y
 PTXCONF_TF_A_URL="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot"
-PTXCONF_TF_A_VERSION="v2.7"
-PTXCONF_TF_A_MD5="1d609ceb2bc01d650366118c58ca7336"
+PTXCONF_TF_A_VERSION="v2.8"
+PTXCONF_TF_A_MD5="784a1e94d4b1e938927372e3bc12d12e"
 PTXCONF_TF_A_ARCH_STRING="aarch32"
 PTXCONF_TF_A_ARM_ARCH_MAJOR_7=y
 # PTXCONF_TF_A_ARM_ARCH_MAJOR_8_32_BIT is not set
diff --git a/patches/tf-a-v2.7/0001-fix-stm32mp1-fdts-stm32mp1-align-DDR-regulators-with.patch b/patches/tf-a-v2.7/0001-fix-stm32mp1-fdts-stm32mp1-align-DDR-regulators-with.patch
deleted file mode 100644
index 3ee7268..0000000
--- a/patches/tf-a-v2.7/0001-fix-stm32mp1-fdts-stm32mp1-align-DDR-regulators-with.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 02e0e6ae14a747031c6ba67517c9eee744f4d51d Mon Sep 17 00:00:00 2001
-From: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Date: Thu, 2 Jun 2022 06:28:31 +0200
-Subject: [PATCH 1/4] fix(stm32mp1): fdts: stm32mp1: align DDR regulators with
- new driver
-
-With recent changes, TF-A now panics on LXA MC1, Avernger96 and Odyssey:
-
-  NOTICE:  CPU: STM32MP157C?? Rev.B
-  NOTICE:  Model: Linux Automation MC-1 board
-  ERROR:   regul ldo3: max value 750 is invalid
-  PANIC at PC : 0x2ffeebb7
-
-as the driver takes great offense at the content of the device
-tree. The parts in question were copy-pasted from ST DTs, but those
-ST DTs were fixed by commit 67d95409baae
-("refactor(stm32mp1-fdts): update regulator description").
-
-Fix the breakage by transplanting the same changes into all STM32MP1 DTs.
-
-Fixes: bba9fdee589f ("feat(stm32mp1): add regulator framework compilation")
-Change-Id: I143d0091625f62c313b3b71449c9ad99583d01c8
-Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Origin: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/15370
----
- fdts/stm32mp157a-avenger96.dts    | 4 +---
- fdts/stm32mp157c-odyssey-som.dtsi | 4 +---
- fdts/stm32mp15xx-osd32.dtsi       | 4 +---
- 3 files changed, 3 insertions(+), 9 deletions(-)
-
-diff --git a/fdts/stm32mp157a-avenger96.dts b/fdts/stm32mp157a-avenger96.dts
-index b967736e4786..6ae97c7581d1 100644
---- a/fdts/stm32mp157a-avenger96.dts
-+++ b/fdts/stm32mp157a-avenger96.dts
-@@ -115,10 +115,9 @@
- 
- 			vtt_ddr: ldo3 {
- 				regulator-name = "vtt_ddr";
--				regulator-min-microvolt = <500000>;
--				regulator-max-microvolt = <750000>;
- 				regulator-always-on;
- 				regulator-over-current-protection;
-+				st,regulator-sink-source;
- 			};
- 
- 			vdd_usb: ldo4 {
-@@ -143,7 +142,6 @@
- 			vref_ddr: vref_ddr {
- 				regulator-name = "vref_ddr";
- 				regulator-always-on;
--				regulator-over-current-protection;
- 			};
- 
- 			bst_out: boost {
-diff --git a/fdts/stm32mp157c-odyssey-som.dtsi b/fdts/stm32mp157c-odyssey-som.dtsi
-index 6bed33968f73..c4e13985a3f7 100644
---- a/fdts/stm32mp157c-odyssey-som.dtsi
-+++ b/fdts/stm32mp157c-odyssey-som.dtsi
-@@ -140,10 +140,9 @@
- 
- 			vtt_ddr: ldo3 {
- 				regulator-name = "vtt_ddr";
--				regulator-min-microvolt = <500000>;
--				regulator-max-microvolt = <750000>;
- 				regulator-always-on;
- 				regulator-over-current-protection;
-+				st,regulator-sink-source;
- 			};
- 
- 			vdd_usb: ldo4 {
-@@ -170,7 +169,6 @@
- 			vref_ddr: vref_ddr {
- 				regulator-name = "vref_ddr";
- 				regulator-always-on;
--				regulator-over-current-protection;
- 			};
- 
- 			bst_out: boost {
-diff --git a/fdts/stm32mp15xx-osd32.dtsi b/fdts/stm32mp15xx-osd32.dtsi
-index 76a25613a14d..ca672356293c 100644
---- a/fdts/stm32mp15xx-osd32.dtsi
-+++ b/fdts/stm32mp15xx-osd32.dtsi
-@@ -81,10 +81,9 @@
- 
- 			vtt_ddr: ldo3 {
- 				regulator-name = "vtt_ddr";
--				regulator-min-microvolt = <500000>;
--				regulator-max-microvolt = <750000>;
- 				regulator-always-on;
- 				regulator-over-current-protection;
-+				st,regulator-sink-source;
- 			};
- 
- 			vdd_usb: ldo4 {
-@@ -110,7 +109,6 @@
- 			vref_ddr: vref_ddr {
- 				regulator-name = "vref_ddr";
- 				regulator-always-on;
--				regulator-over-current-protection;
- 			};
- 
- 			bst_out: boost {
--- 
-2.30.2
-
diff --git a/patches/tf-a-v2.7/0003-feat-build-add-support-for-new-binutils-versions.patch b/patches/tf-a-v2.7/0003-feat-build-add-support-for-new-binutils-versions.patch
deleted file mode 100644
index 35b2be9..0000000
--- a/patches/tf-a-v2.7/0003-feat-build-add-support-for-new-binutils-versions.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From b102865225c8db6a4ef60f346aded5959acc4d1c Mon Sep 17 00:00:00 2001
-From: Marco Felsch <m.felsch@pengutronix.de>
-Date: Wed, 9 Nov 2022 12:59:09 +0100
-Subject: [PATCH 3/4] feat(build): add support for new binutils versions
-
-The new ld.bfd linker version has added new warnings which are enabled by
-default to secure elf binaries:
- - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
- - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774
-
-Since the tf-a handles every warning as error we need to tell the linker
-to not warn about this. This is required to make the bl31 target
-buildable with newer toolchain versions.
-
-Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
-Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617
----
- Makefile | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 3941f869800a..af7fd1535694 100644
---- a/Makefile
-+++ b/Makefile
-@@ -444,6 +444,10 @@ TF_LDFLAGS		+=	$(TF_LDFLAGS_$(ARCH))
- endif
- endif
- 
-+# With ld.bfd version 2.29 and newer new warnings are added. Skip those since we
-+# are not loaded by a elf loader.
-+TF_LDFLAGS		+=	$(call ld_option, --no-warn-rwx-segments)
-+
- DTC_FLAGS		+=	-I dts -O dtb
- DTC_CPPFLAGS		+=	-P -nostdinc -Iinclude -Ifdts -undef \
- 				-x assembler-with-cpp $(DEFINES)
--- 
-2.30.2
-
diff --git a/patches/tf-a-v2.7/0004-makefile-link-with-z-noexecstack.patch b/patches/tf-a-v2.7/0004-makefile-link-with-z-noexecstack.patch
deleted file mode 100644
index 5c66e97..0000000
--- a/patches/tf-a-v2.7/0004-makefile-link-with-z-noexecstack.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 943df16d58ec8e31cb3e1726998ac6e4cd195284 Mon Sep 17 00:00:00 2001
-From: Robert Schwebel <r.schwebel@pengutronix.de>
-Date: Wed, 23 Nov 2022 09:02:59 +0100
-Subject: [PATCH 4/4] makefile: link with -z noexecstack
-
-Starting with binutils 2.39+, there is a new warning:
-
-  ld: warning: vmlinux: missing .note.GNU-stack section implies executable stack
-  ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
-  ld: warning: vmlinux has a LOAD segment with RWX permissions
-
-Fix it in a similar way to what the Linux kernel does, see:
-https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/
-
-Following the reasoning there, we set "-z noexecstack" for all linkers
-(although LLVM's LLD defaults to it).
-
-Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
----
- Makefile | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index af7fd1535694..e4cc77cd41ca 100644
---- a/Makefile
-+++ b/Makefile
-@@ -409,6 +409,9 @@ endif
- 
- GCC_V_OUTPUT		:=	$(shell $(CC) -v 2>&1)
- 
-+
-+TF_LDFLAGS		+=	-z noexecstack
-+
- # LD = armlink
- ifneq ($(findstring armlink,$(notdir $(LD))),)
- TF_LDFLAGS		+=	--diag_error=warning --lto_level=O1
--- 
-2.30.2
-
diff --git a/patches/tf-a-v2.7/series b/patches/tf-a-v2.7/series
deleted file mode 100644
index 4097cf1..0000000
--- a/patches/tf-a-v2.7/series
+++ /dev/null
@@ -1,4 +0,0 @@
-0001-fix-stm32mp1-fdts-stm32mp1-align-DDR-regulators-with.patch
-0002-build-makefile-add-helper-to-detect-linker-options.patch
-0003-feat-build-add-support-for-new-binutils-versions.patch
-0004-makefile-link-with-z-noexecstack.patch
diff --git a/patches/tf-a-v2.7/0002-build-makefile-add-helper-to-detect-linker-options.patch b/patches/tf-a-v2.8/0001-build-makefile-add-helper-to-detect-linker-options.patch
similarity index 85%
rename from patches/tf-a-v2.7/0002-build-makefile-add-helper-to-detect-linker-options.patch
rename to patches/tf-a-v2.8/0001-build-makefile-add-helper-to-detect-linker-options.patch
index d391112..e86f31b 100644
--- a/patches/tf-a-v2.7/0002-build-makefile-add-helper-to-detect-linker-options.patch
+++ b/patches/tf-a-v2.8/0001-build-makefile-add-helper-to-detect-linker-options.patch
@@ -1,7 +1,6 @@
-From e4e456405177add4df5e21528caa3d873847056a Mon Sep 17 00:00:00 2001
 From: Marco Felsch <m.felsch@pengutronix.de>
 Date: Thu, 24 Nov 2022 11:02:05 +0100
-Subject: [PATCH 2/4] build(makefile): add helper to detect linker options
+Subject: [PATCH] build(makefile): add helper to detect linker options
 
 This is a small helper to check for possible linker options. If the
 linker supports the requested option it is returned and if not nothing
@@ -18,7 +17,7 @@ Change-Id: I236800852ece49948ff53a0b91fddba53c8f0f95
  1 file changed, 6 insertions(+)
 
 diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk
-index a58caf565163..06caeea19787 100644
+index 426e344941d9..7d0b0a511226 100644
 --- a/make_helpers/build_macros.mk
 +++ b/make_helpers/build_macros.mk
 @@ -86,6 +86,12 @@ define assert_numerics
@@ -34,6 +33,3 @@ index a58caf565163..06caeea19787 100644
  # CREATE_SEQ is a recursive function to create sequence of numbers from 1 to
  # $(2) and assign the sequence to $(1)
  define CREATE_SEQ
--- 
-2.30.2
-
diff --git a/patches/tf-a-v2.8/0002-feat-build-add-support-for-new-binutils-versions.patch b/patches/tf-a-v2.8/0002-feat-build-add-support-for-new-binutils-versions.patch
new file mode 100644
index 0000000..b254a57
--- /dev/null
+++ b/patches/tf-a-v2.8/0002-feat-build-add-support-for-new-binutils-versions.patch
@@ -0,0 +1,54 @@
+From: Marco Felsch <m.felsch@pengutronix.de>
+Date: Wed, 9 Nov 2022 12:59:09 +0100
+Subject: [PATCH] feat(build): add support for new binutils versions
+
+Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces
+of a new warning when linking the bl*.elf in the form:
+
+  ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack
+  ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+  ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions
+  ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions
+
+These new warnings are enbaled by default to secure elf binaries:
+ - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+ - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774
+
+Fix it in a similar way to what the Linux kernel does, see:
+https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/
+
+Following the reasoning there, we set "-z noexecstack" for all linkers
+(although LLVM's LLD defaults to it) and optional add
+--no-warn-rwx-segments since this a ld.bfd related.
+
+Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
+Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
+Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617
+---
+ Makefile | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 1ddb7b84417d..1bfff716485a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -416,6 +416,8 @@ endif
+ 
+ GCC_V_OUTPUT		:=	$(shell $(CC) -v 2>&1)
+ 
++TF_LDFLAGS		+=	-z noexecstack
++
+ # LD = armlink
+ ifneq ($(findstring armlink,$(notdir $(LD))),)
+ TF_LDFLAGS		+=	--diag_error=warning --lto_level=O1
+@@ -451,6 +453,10 @@ TF_LDFLAGS		+=	$(TF_LDFLAGS_$(ARCH))
+ endif
+ endif
+ 
++# With ld.bfd version 2.29 and newer new warnings are added. Skip those since we
++# are not loaded by a elf loader.
++TF_LDFLAGS		+=	$(call ld_option, --no-warn-rwx-segments)
++
+ DTC_FLAGS		+=	-I dts -O dtb
+ DTC_CPPFLAGS		+=	-P -nostdinc -Iinclude -Ifdts -undef \
+ 				-x assembler-with-cpp $(DEFINES)
diff --git a/patches/tf-a-v2.8/0101-feat-imx8mq-make-IMX_BOOT_UART_BASE-configurable-via.patch b/patches/tf-a-v2.8/0101-feat-imx8mq-make-IMX_BOOT_UART_BASE-configurable-via.patch
new file mode 100644
index 0000000..958b7fd
--- /dev/null
+++ b/patches/tf-a-v2.8/0101-feat-imx8mq-make-IMX_BOOT_UART_BASE-configurable-via.patch
@@ -0,0 +1,41 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 8 Dec 2022 15:54:26 +0100
+Subject: [PATCH] feat(imx8mq): make IMX_BOOT_UART_BASE configurable via build
+ parameter
+
+This aligns the i.MX8MQ build with the other i.MX8M platforms by allowing
+to override the default IMX_BOOT_UART_BASE value via a make parameter.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Change-Id: Iad9b844517209fc7d051c61767f71ac9fa2b55c7
+---
+ plat/imx/imx8m/imx8mq/include/platform_def.h | 1 -
+ plat/imx/imx8m/imx8mq/platform.mk            | 3 +++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/plat/imx/imx8m/imx8mq/include/platform_def.h b/plat/imx/imx8m/imx8mq/include/platform_def.h
+index 1dd22d952305..4671cd3afa40 100644
+--- a/plat/imx/imx8m/imx8mq/include/platform_def.h
++++ b/plat/imx/imx8m/imx8mq/include/platform_def.h
+@@ -54,7 +54,6 @@
+ 
+ #define HAB_RVT_BASE			U(0x00000880) /* HAB_RVT for i.MX8MQ */
+ 
+-#define IMX_BOOT_UART_BASE		U(0x30860000)
+ #define IMX_BOOT_UART_CLK_IN_HZ		25000000 /* Select 25Mhz oscillator */
+ #define PLAT_CRASH_UART_BASE		IMX_BOOT_UART_BASE
+ #define PLAT_CRASH_UART_CLK_IN_HZ	25000000
+diff --git a/plat/imx/imx8m/imx8mq/platform.mk b/plat/imx/imx8m/imx8mq/platform.mk
+index 7b6df920c924..f62d3aa5be15 100644
+--- a/plat/imx/imx8m/imx8mq/platform.mk
++++ b/plat/imx/imx8m/imx8mq/platform.mk
+@@ -52,6 +52,9 @@ $(eval $(call add_define,BL32_BASE))
+ BL32_SIZE		?=	0x2000000
+ $(eval $(call add_define,BL32_SIZE))
+ 
++IMX_BOOT_UART_BASE	?=	0x30860000
++$(eval $(call add_define,IMX_BOOT_UART_BASE))
++
+ ifeq (${SPD},trusty)
+ 	BL31_CFLAGS    +=      -DPLAT_XLAT_TABLES_DYNAMIC=1
+ endif
diff --git a/patches/tf-a-v2.8/0102-feat-imx8mq-remove-empty-bl31_plat_runtime_setup.patch b/patches/tf-a-v2.8/0102-feat-imx8mq-remove-empty-bl31_plat_runtime_setup.patch
new file mode 100644
index 0000000..0b1bc7e
--- /dev/null
+++ b/patches/tf-a-v2.8/0102-feat-imx8mq-remove-empty-bl31_plat_runtime_setup.patch
@@ -0,0 +1,30 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 8 Dec 2022 17:51:17 +0100
+Subject: [PATCH] feat(imx8mq): remove empty bl31_plat_runtime_setup
+
+Having this empty definition is actively harmful, as it prevents the
+default weak function to be used, which does a switch of the console
+state.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Change-Id: I3b78e0c524c4907714036dba573a44d8f9c48b09
+---
+ plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+index 59c3779abb7f..0feb6d7fbad2 100644
+--- a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
++++ b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+@@ -227,11 +227,6 @@ unsigned int plat_get_syscnt_freq2(void)
+ 	return COUNTER_FREQUENCY;
+ }
+ 
+-void bl31_plat_runtime_setup(void)
+-{
+-	return;
+-}
+-
+ #ifdef SPD_trusty
+ void plat_trusty_set_boot_args(aapcs64_params_t *args)
+ {
diff --git a/patches/tf-a-v2.8/0103-feat-imx8mq-always-set-up-console.patch b/patches/tf-a-v2.8/0103-feat-imx8mq-always-set-up-console.patch
new file mode 100644
index 0000000..3a44ae3
--- /dev/null
+++ b/patches/tf-a-v2.8/0103-feat-imx8mq-always-set-up-console.patch
@@ -0,0 +1,51 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 8 Dec 2022 16:00:04 +0100
+Subject: [PATCH] feat(imx8mq): always set up console
+
+This aligns the i.MX8MQ platform behaviour with the other i.MX8M*
+platforms by always setting up the console UART.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Change-Id: I1279d9cb4feb6e789422b9844cab711b8daae74e
+---
+ plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c    | 7 +++----
+ plat/imx/imx8m/imx8mq/include/platform_def.h | 1 -
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+index 0feb6d7fbad2..0972c35e9554 100644
+--- a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
++++ b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+@@ -124,6 +124,7 @@ static void bl31_tz380_setup(void)
+ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
+ 			u_register_t arg2, u_register_t arg3)
+ {
++	static console_t console;
+ 	int i;
+ 	/* enable CSU NS access permission */
+ 	for (i = 0; i < 64; i++) {
+@@ -132,12 +133,10 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
+ 
+ 	imx_aipstz_init(aipstz);
+ 
+-#if DEBUG_CONSOLE
+-	static console_t console;
+-
+ 	console_imx_uart_register(IMX_BOOT_UART_BASE, IMX_BOOT_UART_CLK_IN_HZ,
+ 		IMX_CONSOLE_BAUDRATE, &console);
+-#endif
++	/* This console is only used for boot stage */
++	console_set_scope(&console, CONSOLE_FLAG_BOOT);
+ 
+ 	imx8m_caam_init();
+ 
+diff --git a/plat/imx/imx8m/imx8mq/include/platform_def.h b/plat/imx/imx8m/imx8mq/include/platform_def.h
+index 4671cd3afa40..103f2e4087e2 100644
+--- a/plat/imx/imx8m/imx8mq/include/platform_def.h
++++ b/plat/imx/imx8m/imx8mq/include/platform_def.h
+@@ -127,5 +127,4 @@
+ 
+ #define COUNTER_FREQUENCY		8333333 /* 25MHz / 3 */
+ 
+-#define DEBUG_CONSOLE			0
+ #define IMX_WDOG_B_RESET
diff --git a/patches/tf-a-v2.8/0104-refactor-imx8mq-make-use-of-setup_page_tables.patch b/patches/tf-a-v2.8/0104-refactor-imx8mq-make-use-of-setup_page_tables.patch
new file mode 100644
index 0000000..6cf2dc1
--- /dev/null
+++ b/patches/tf-a-v2.8/0104-refactor-imx8mq-make-use-of-setup_page_tables.patch
@@ -0,0 +1,53 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 8 Dec 2022 16:35:11 +0100
+Subject: [PATCH] refactor(imx8mq): make use of setup_page_tables()
+
+Improve code readability and align with other i.MX8M* platforms.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Change-Id: Ifd29b74872e3a567288d208de4827403078164e9
+---
+ plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c | 28 +++++++++++++---------------
+ 1 file changed, 13 insertions(+), 15 deletions(-)
+
+diff --git a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+index 0972c35e9554..c7eddf430197 100644
+--- a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
++++ b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+@@ -175,23 +175,21 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
+ 
+ void bl31_plat_arch_setup(void)
+ {
+-	mmap_add_region(BL31_BASE, BL31_BASE, (BL31_LIMIT - BL31_BASE),
+-		MT_MEMORY | MT_RW | MT_SECURE);
+-	mmap_add_region(BL_CODE_BASE, BL_CODE_BASE, (BL_CODE_END - BL_CODE_BASE),
+-		MT_MEMORY | MT_RO | MT_SECURE);
+-
+-	/* Map TEE memory */
+-	mmap_add_region(BL32_BASE, BL32_BASE, BL32_SIZE, MT_MEMORY | MT_RW);
+-
+-	mmap_add(imx_mmap);
+-
++	const mmap_region_t bl_regions[] = {
++        	MAP_REGION_FLAT(BL31_BASE, BL31_LIMIT - BL31_BASE,
++				MT_MEMORY | MT_RW | MT_SECURE),
++		MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE,
++				MT_MEMORY | MT_RO | MT_SECURE),
+ #if USE_COHERENT_MEM
+-	mmap_add_region(BL_COHERENT_RAM_BASE, BL_COHERENT_RAM_BASE,
+-		BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE,
+-		MT_DEVICE | MT_RW | MT_SECURE);
++		MAP_REGION_FLAT(BL_COHERENT_RAM_BASE,
++				BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE,
++				MT_DEVICE | MT_RW | MT_SECURE),
+ #endif
+-	/* setup xlat table */
+-	init_xlat_tables();
++		MAP_REGION_FLAT(BL32_BASE, BL32_SIZE, MT_MEMORY | MT_RW),
++		{0},
++	};
++
++	setup_page_tables(bl_regions, imx_mmap);
+ 	/* enable the MMU */
+ 	enable_mmu_el3(0);
+ }
diff --git a/patches/tf-a-v2.8/0105-refactor-imx8mq-introduce-BL31_SIZE.patch b/patches/tf-a-v2.8/0105-refactor-imx8mq-introduce-BL31_SIZE.patch
new file mode 100644
index 0000000..960d726
--- /dev/null
+++ b/patches/tf-a-v2.8/0105-refactor-imx8mq-introduce-BL31_SIZE.patch
@@ -0,0 +1,54 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 8 Dec 2022 16:37:44 +0100
+Subject: [PATCH] refactor(imx8mq): introduce BL31_SIZE
+
+No functional change.
+
+Introduce BL31_SIZE define and calculate the limits based on the
+BL31_BASE and the BL31_SIZE define. Also make use of SZ_64K to make it
+easier to read. This is required for later BL31 PIE support since it
+drops the calculation based on the BL31_LIMIT and BL31_BASE.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Change-Id: I517074b866b5bf11841b51777f87c926b304488d
+---
+ plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c    | 2 +-
+ plat/imx/imx8m/imx8mq/include/platform_def.h | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+index c7eddf430197..bbdb4d899a39 100644
+--- a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
++++ b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+@@ -176,7 +176,7 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
+ void bl31_plat_arch_setup(void)
+ {
+ 	const mmap_region_t bl_regions[] = {
+-        	MAP_REGION_FLAT(BL31_BASE, BL31_LIMIT - BL31_BASE,
++        	MAP_REGION_FLAT(BL31_BASE, BL31_SIZE,
+ 				MT_MEMORY | MT_RW | MT_SECURE),
+ 		MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE,
+ 				MT_MEMORY | MT_RO | MT_SECURE),
+diff --git a/plat/imx/imx8m/imx8mq/include/platform_def.h b/plat/imx/imx8m/imx8mq/include/platform_def.h
+index 103f2e4087e2..bb570748f573 100644
+--- a/plat/imx/imx8m/imx8mq/include/platform_def.h
++++ b/plat/imx/imx8m/imx8mq/include/platform_def.h
+@@ -4,6 +4,8 @@
+  * SPDX-License-Identifier: BSD-3-Clause
+  */
+ 
++#include <plat/common/common_def.h>
++
+ #define PLATFORM_LINKER_FORMAT		"elf64-littleaarch64"
+ #define PLATFORM_LINKER_ARCH		aarch64
+ 
+@@ -31,7 +33,8 @@
+ #define PLAT_STOP_OFF_STATE		U(3)
+ 
+ #define BL31_BASE			U(0x910000)
+-#define BL31_LIMIT			U(0x920000)
++#define BL31_SIZE			SZ_64K
++#define BL31_LIMIT			(BL31_BASE + BL31_SIZE)
+ 
+ /* non-secure uboot base */
+ #define PLAT_NS_IMAGE_OFFSET		U(0x40200000)
diff --git a/patches/tf-a-v2.8/0106-feat-imx8mq-add-BL31-PIE-support.patch b/patches/tf-a-v2.8/0106-feat-imx8mq-add-BL31-PIE-support.patch
new file mode 100644
index 0000000..25d2aaa
--- /dev/null
+++ b/patches/tf-a-v2.8/0106-feat-imx8mq-add-BL31-PIE-support.patch
@@ -0,0 +1,55 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 8 Dec 2022 16:44:00 +0100
+Subject: [PATCH] feat(imx8mq): add BL31 PIE support
+
+Enable PIE support so the BL31 firmware can be loaded from anywhere
+within the OCRAM (SRAM). For the PIE support we only need to replace the
+BL31_BASE define by the BL31_START symbol which is a relocatable and we
+need to enable it by setting ENABLE_PIE := 1.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Change-Id: Ie6a13e4ae0fdc6627a94798d7a86df7d5b310896
+---
+ plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c | 2 +-
+ plat/imx/imx8m/imx8mq/imx8mq_psci.c       | 2 +-
+ plat/imx/imx8m/imx8mq/platform.mk         | 1 +
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+index bbdb4d899a39..3c2d223fef21 100644
+--- a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
++++ b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
+@@ -176,7 +176,7 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
+ void bl31_plat_arch_setup(void)
+ {
+ 	const mmap_region_t bl_regions[] = {
+-        	MAP_REGION_FLAT(BL31_BASE, BL31_SIZE,
++        	MAP_REGION_FLAT(BL31_START, BL31_SIZE,
+ 				MT_MEMORY | MT_RW | MT_SECURE),
+ 		MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE,
+ 				MT_MEMORY | MT_RO | MT_SECURE),
+diff --git a/plat/imx/imx8m/imx8mq/imx8mq_psci.c b/plat/imx/imx8m/imx8mq/imx8mq_psci.c
+index 662017d6fe4a..01582afe490c 100644
+--- a/plat/imx/imx8m/imx8mq/imx8mq_psci.c
++++ b/plat/imx/imx8m/imx8mq/imx8mq_psci.c
+@@ -41,7 +41,7 @@ int imx_validate_power_state(unsigned int power_state,
+ 
+ void imx_domain_suspend(const psci_power_state_t *target_state)
+ {
+-	uint64_t base_addr = BL31_BASE;
++	uint64_t base_addr = BL31_START;
+ 	uint64_t mpidr = read_mpidr_el1();
+ 	unsigned int core_id = MPIDR_AFFLVL0_VAL(mpidr);
+ 
+diff --git a/plat/imx/imx8m/imx8mq/platform.mk b/plat/imx/imx8m/imx8mq/platform.mk
+index f62d3aa5be15..901a974a591e 100644
+--- a/plat/imx/imx8m/imx8mq/platform.mk
++++ b/plat/imx/imx8m/imx8mq/platform.mk
+@@ -38,6 +38,7 @@ BL31_SOURCES		+=	plat/imx/common/imx8_helpers.S			\
+ 				${XLAT_TABLES_LIB_SRCS}				\
+ 				${IMX_GIC_SOURCES}
+ 
++ENABLE_PIE		:=	1
+ USE_COHERENT_MEM	:=	1
+ RESET_TO_BL31		:=	1
+ A53_DISABLE_NON_TEMPORAL_HINT := 0
diff --git a/patches/tf-a-v2.8/0107-feat-imx8mq-add-support-for-gcc-12.x.patch b/patches/tf-a-v2.8/0107-feat-imx8mq-add-support-for-gcc-12.x.patch
new file mode 100644
index 0000000..24a5b80
--- /dev/null
+++ b/patches/tf-a-v2.8/0107-feat-imx8mq-add-support-for-gcc-12.x.patch
@@ -0,0 +1,45 @@
+From: Marco Felsch <m.felsch@pengutronix.de>
+Date: Fri, 10 Feb 2023 12:14:26 +0100
+Subject: [PATCH] feat(imx8mq): add support for gcc >= 12.x
+
+Starting with GCC >= 12.x the -Wall option includes -Werror=array-bounds
+checks. Per default GCC threads all memory accesses below 4096 as NULL,
+so access to ROMAPI causes the following warning:
+
+In file included from plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:20:
+In function 'mmio_read_8',
+    inlined from 'imx8mq_soc_info_init' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:70:16,
+    inlined from 'bl31_platform_setup' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:206:2:
+include/lib/mmio.h:19:16: error: array subscript 0 is outside array bounds of 'volatile uint8_t[0]' {aka 'volatile unsigned char[]'} [-Werror=array-bounds]
+   19 |         return *(volatile uint8_t*)addr;
+      |                ^~~~~~~~~~~~~~~~~~~~~~~~
+In function 'mmio_read_8',
+    inlined from 'imx8mq_soc_info_init' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:74:16,
+    inlined from 'bl31_platform_setup' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:206:2:
+include/lib/mmio.h:19:16: error: array subscript 0 is outside array bounds of 'volatile uint8_t[0]' {aka 'volatile unsigned char[]'} [-Werror=array-bounds]
+   19 |         return *(volatile uint8_t*)addr;
+      |                ^~~~~~~~~~~~~~~~~~~~~~~~
+cc1: all warnings being treated as errors
+
+Fix this by setting the default min-pagesize to 0 instead of 4096, so
+the ROMAPI access will not trigger the warning. Don't set this option
+for all files since it is unkown how it affects code
+generation/optimizations.
+
+Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
+Change-Id: Ibcca65ca69750e1a1bca3d528c80e5b445d2f90f
+---
+ plat/imx/imx8m/imx8mq/platform.mk | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/plat/imx/imx8m/imx8mq/platform.mk b/plat/imx/imx8m/imx8mq/platform.mk
+index 901a974a591e..985be71725f7 100644
+--- a/plat/imx/imx8m/imx8mq/platform.mk
++++ b/plat/imx/imx8m/imx8mq/platform.mk
+@@ -59,3 +59,6 @@ $(eval $(call add_define,IMX_BOOT_UART_BASE))
+ ifeq (${SPD},trusty)
+ 	BL31_CFLAGS    +=      -DPLAT_XLAT_TABLES_DYNAMIC=1
+ endif
++
++# Required with gcc version >= 12
++$(BUILD_PLAT)/bl31/imx8mq_bl31_setup.o: CFLAGS += --param=min-pagesize=0
diff --git a/patches/tf-a-v2.8/0201-Release-2.8-customers-pengutronix-distrokit-20230210.patch b/patches/tf-a-v2.8/0201-Release-2.8-customers-pengutronix-distrokit-20230210.patch
new file mode 100644
index 0000000..f230656
--- /dev/null
+++ b/patches/tf-a-v2.8/0201-Release-2.8-customers-pengutronix-distrokit-20230210.patch
@@ -0,0 +1,21 @@
+From: Marco Felsch <m.felsch@pengutronix.de>
+Date: Fri, 10 Feb 2023 12:51:49 +0100
+Subject: [PATCH] Release 2.8/customers/pengutronix/distrokit/20230210-1
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 1bfff716485a..cf80e5cac8f3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -327,7 +327,7 @@ endif
+ ifeq (${BUILD_STRING},)
+         BUILD_STRING  :=  $(shell git describe --always --dirty --tags 2> /dev/null)
+ endif
+-VERSION_STRING    :=  v${VERSION}(${BUILD_TYPE}):${BUILD_STRING}
++VERSION_STRING    :=  v${VERSION}(${BUILD_TYPE}):${BUILD_STRING}-20230210-1
+ 
+ ifeq (${AARCH32_INSTRUCTION_SET},A32)
+ TF_CFLAGS_aarch32	+=	-marm
diff --git a/patches/tf-a-v2.8/series b/patches/tf-a-v2.8/series
new file mode 100644
index 0000000..a29319d
--- /dev/null
+++ b/patches/tf-a-v2.8/series
@@ -0,0 +1,22 @@
+# umpf-base: v2.8
+# umpf-name: 2.8/customers/pengutronix/distrokit
+# umpf-version: 2.8/customers/pengutronix/distrokit/20230210-1
+# umpf-topic: v2.8/topic/fix-build-warnings
+# umpf-hashinfo: 4730b4b80206cf2fc27787f43cefd3169a6f8a2f
+# umpf-topic-range: 9881bb93a3bc0a3ea37e9f093e09ab4b360a9e48..da1b5e74dc7c2b3e7a2d9a1adb7e23beeba079e3
+0001-build-makefile-add-helper-to-detect-linker-options.patch
+0002-feat-build-add-support-for-new-binutils-versions.patch
+# umpf-topic: v2.8/topic/imx8mq
+# umpf-hashinfo: 651310b67fd269e8118285e9ed44e8ad6cc52941
+# umpf-topic-range: da1b5e74dc7c2b3e7a2d9a1adb7e23beeba079e3..be7bcbebf5b22958e8b88564ca0865b4591263e7
+0101-feat-imx8mq-make-IMX_BOOT_UART_BASE-configurable-via.patch
+0102-feat-imx8mq-remove-empty-bl31_plat_runtime_setup.patch
+0103-feat-imx8mq-always-set-up-console.patch
+0104-refactor-imx8mq-make-use-of-setup_page_tables.patch
+0105-refactor-imx8mq-introduce-BL31_SIZE.patch
+0106-feat-imx8mq-add-BL31-PIE-support.patch
+0107-feat-imx8mq-add-support-for-gcc-12.x.patch
+# umpf-release: 2.8/customers/pengutronix/distrokit/20230210-1
+# umpf-topic-range: be7bcbebf5b22958e8b88564ca0865b4591263e7..827865ee983d0c7cd4bb99d85d46f972386e5ea9
+0201-Release-2.8-customers-pengutronix-distrokit-20230210.patch
+# umpf-end
-- 
2.30.2




  reply	other threads:[~2023-02-10 19:36 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-10 19:35 [DistroKit] [PATCH 00/14] Mainline TF-A support and blspec-entry cleanups Marco Felsch
2023-02-10 19:35 ` Marco Felsch [this message]
2023-02-10 19:36 ` [DistroKit] [PATCH 02/14] v8a: tf-a: enable package Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 03/14] v8a: replace imx-atf with tf-a Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 04/14] v8a: firmware-imx: fix dest path Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 05/14] v8a: firmware-imx: fix destition path Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 06/14] v8a: barebox-imx8m: fix firmware-imx dependencies Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 07/14] v8a: barebox-imx8m: make use of the INJECT_FILES mechanism Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 08/14] v8a: barebox: version sync to 2023.01.0 Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 09/14] blspec-entry: import from upstream ptxdist-2022.12.0 Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 10/14] blspec-entry: add linux-appendroot support Marco Felsch
2023-02-13  9:00   ` Michael Olbrich
2023-02-13 10:20     ` Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 11/14] v8a: blspec: switch to default blspec entry Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 12/14] v7a: blspec: drop incomplete Gute Fee support Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 13/14] v7a: vexpress: remove console from blspec config Marco Felsch
2023-02-10 19:36 ` [DistroKit] [PATCH 14/14] v7a: blspec: convert to ptxdist default entries Marco Felsch
2023-02-11 20:59 ` [DistroKit] [PATCH 00/14] Mainline TF-A support and blspec-entry cleanups Robert Schwebel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230210193612.2143905-2-m.felsch@pengutronix.de \
    --to=m.felsch@pengutronix.de \
    --cc=distrokit@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox