* [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot @ 2022-07-27 15:56 adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 1/5] " adam.johnston ` (7 more replies) 0 siblings, 8 replies; 9+ messages in thread From: adam.johnston @ 2022-07-27 15:56 UTC (permalink / raw) To: meta-arm, Ross.Burton; +Cc: nd, Adam Johnston From: Adam Johnston <adam.johnston@arm.com> This patch re-configures the N1SDP for trusted boot, using the changes published by the Silicon Solutions team in N1SDP-2022.02.04 and up-streamed to trusted-firmware-a and scp-firmware. arm-bsp/trusted-firmware-a: For N1SDP only, upgraded to 2.7.0 and configured for trusted boot arm-bsp/scp-firmware: For N1SDP only, source is updated to master at 3e4c34ceccc1c960eb3a4adaa922f2a0c6b36be3 arm-bsp/scp-firmware: BL1 replaces BL31 in scp_fw.bin for N1SDP arm-bsp/sdcard-image-n1sdp: fip.bin replaces uefi.bin. Now depends on trusted-firmware-a rather than edk2-firmware arm-bsp/edk2-firmware: Add support for NT_FW_CONFIG DTB to N1SDP. Note: This patch contains CRLF line endings which must be preserved. arm-bsp/scp-firmware should be updated to next SCP firmware release (2.11.0?) when available Adam Johnston (5): arm-bsp/trusted-firmware-a: N1SDP trusted boot arm-bsp/scp-firmware: N1SDP trusted boot arm-bsp/sdcard-image-n1sdp: N1SDP trusted boot arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies meta-arm-bsp/conf/machine/n1sdp.conf | 2 + .../images/sdcard-image-n1sdp_0.1.bb | 11 +- .../scp-firmware/scp-firmware-n1sdp.inc | 6 +- .../scp-firmware/scp-firmware_2.10.%.bbappend | 7 + .../scp-firmware/scp-firmware_2.9.%.bbappend | 1 - .../files/n1sdp/bl_size.patch | 40 ++ .../trusted-firmware-a-n1sdp.inc | 27 +- .../trusted-firmware-a_2.6.bbappend | 1 - .../trusted-firmware-a_2.7.bbappend | 6 + .../recipes-bsp/uefi/edk2-firmware-n1sdp.inc | 6 + .../edk2-platforms/add-nt-fw-config.patch | 474 ++++++++++++++++++ .../trusted-firmware-a_2.7.bb | 15 + 12 files changed, 587 insertions(+), 9 deletions(-) create mode 100644 meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.10.%.bbappend create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bbappend create mode 100644 meta-arm-bsp/recipes-bsp/uefi/files/edk2-platforms/add-nt-fw-config.patch create mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bb -- 2.17.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH kirkstone 1/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston @ 2022-07-27 15:56 ` adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 2/5] arm-bsp/scp-firmware: " adam.johnston ` (6 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: adam.johnston @ 2022-07-27 15:56 UTC (permalink / raw) To: meta-arm, Ross.Burton; +Cc: nd, Adam Johnston From: Adam Johnston <adam.johnston@arm.com> This commit configures trusted-firmware-a for TBBR bootflow on N1SDP as follows: * Trusted Firmware is upgraded to 2.7.0 for the N1SDP only * Trusted boot is enabled. * Generation of root-of-trust is enabled * All TB images (BLx, DTBs) are built * uefi.bin is specified as the BL33 image * BL2, BL31, BL33 are signed and stored in the FIP * N1SDP platform sources are patched to increase max size BL2 and reduce max size of BL1 Signed-off-by: Adam Johnston <adam.johnston@arm.com> --- meta-arm-bsp/conf/machine/n1sdp.conf | 2 + .../files/n1sdp/bl_size.patch | 40 +++++++++++++++++++ .../trusted-firmware-a-n1sdp.inc | 27 +++++++++++-- .../trusted-firmware-a_2.6.bbappend | 1 - .../trusted-firmware-a_2.7.bbappend | 6 +++ .../trusted-firmware-a_2.7.bb | 15 +++++++ 6 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bbappend create mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bb diff --git a/meta-arm-bsp/conf/machine/n1sdp.conf b/meta-arm-bsp/conf/machine/n1sdp.conf index 5e87e61d..4a867135 100644 --- a/meta-arm-bsp/conf/machine/n1sdp.conf +++ b/meta-arm-bsp/conf/machine/n1sdp.conf @@ -25,6 +25,8 @@ PREFERRED_VERSION_linux-yocto ?= "5.15%" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-firmware-rtl8168" EXTRA_IMAGEDEPENDS += "trusted-firmware-a" +PREFERRED_VERSION_trusted-firmware-a ?= "2.7%" + EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware" #UEFI EDK2 firmware diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch new file mode 100644 index 00000000..a5b30195 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch @@ -0,0 +1,40 @@ +From 80b1efa92486a87f9e82dbf665ef612291148de8 Mon Sep 17 00:00:00 2001 +From: Adam Johnston <adam.johnston@arm.com> +Date: Tue, 14 Jun 2022 11:19:30 +0000 +Subject: [PATCH] arm-bsp/trusted-firmware-a: N1SDP trusted boot + +Increase max size of BL2 on N1SDP by 4KB to enable trusted boot +Decrease max size of BL1 on N1SDP by 8KB so BL1/BL2 fits above BL31 progbits + +Signed-off-by: Adam Johnston <adam.johnston@arm.com> +Upstream-Status: Pending [Flagged to upstream] + +--- + plat/arm/board/n1sdp/include/platform_def.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plat/arm/board/n1sdp/include/platform_def.h b/plat/arm/board/n1sdp/include/platform_def.h +index c9b81bafa..7468a31ed 100644 +--- a/plat/arm/board/n1sdp/include/platform_def.h ++++ b/plat/arm/board/n1sdp/include/platform_def.h +@@ -91,7 +91,7 @@ + * PLAT_ARM_MAX_BL1_RW_SIZE is calculated using the current BL1 RW debug size + * plus a little space for growth. + */ +-#define PLAT_ARM_MAX_BL1_RW_SIZE 0xE000 ++#define PLAT_ARM_MAX_BL1_RW_SIZE 0xC000 + + /* + * PLAT_ARM_MAX_ROMLIB_RW_SIZE is define to use a full page +@@ -110,7 +110,7 @@ + * little space for growth. + */ + #if TRUSTED_BOARD_BOOT +-# define PLAT_ARM_MAX_BL2_SIZE 0x20000 ++# define PLAT_ARM_MAX_BL2_SIZE 0x21000 + #else + # define PLAT_ARM_MAX_BL2_SIZE 0x14000 + #endif +-- +2.35.1 + diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc index 112fac8b..d47f2572 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc @@ -2,8 +2,29 @@ COMPATIBLE_MACHINE = "n1sdp" TFA_PLATFORM = "n1sdp" -TFA_BUILD_TARGET = "bl31 dtbs" -TFA_INSTALL_TARGET = "bl31 n1sdp-multi-chip n1sdp-single-chip" +TFA_BUILD_TARGET = "all fip" +TFA_INSTALL_TARGET = "bl1 bl2 bl31 n1sdp-multi-chip n1sdp-single-chip n1sdp_fw_config n1sdp_tb_fw_config fip" TFA_DEBUG = "1" -TFA_MBEDTLS = "0" +TFA_MBEDTLS = "1" TFA_UBOOT = "0" +TFA_UEFI = "1" + +SRC_URI:remove = " \ + file://ssl.patch \ + " + +SRC_URI:append = " \ + file://bl_size.patch \ + " + +TFA_ROT_KEY= "plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem" + +EXTRA_OEMAKE:append = "\ + TRUSTED_BOARD_BOOT=1 \ + GENERATE_COT=1 \ + CREATE_KEYS=1 \ + ENABLE_PIE=0 \ + ARM_ROTPK_LOCATION="devel_rsa" \ + ROT_KEY="${TFA_ROT_KEY}" \ + BL33=${RECIPE_SYSROOT}/firmware/uefi.bin \ + " diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.6.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.6.bbappend index f8b2ac1b..d18c5252 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.6.bbappend +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.6.bbappend @@ -6,7 +6,6 @@ MACHINE_TFA_REQUIRE:corstone1000 = "trusted-firmware-a-corstone1000.inc" MACHINE_TFA_REQUIRE:fvp-base = "trusted-firmware-a-fvp.inc" MACHINE_TFA_REQUIRE:fvp-base-arm32 = "trusted-firmware-a-fvp-arm32.inc" MACHINE_TFA_REQUIRE:juno = "trusted-firmware-a-juno.inc" -MACHINE_TFA_REQUIRE:n1sdp = "trusted-firmware-a-n1sdp.inc" MACHINE_TFA_REQUIRE:sgi575 = "trusted-firmware-a-sgi575.inc" MACHINE_TFA_REQUIRE:tc = "trusted-firmware-a-tc.inc" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bbappend new file mode 100644 index 00000000..301f5fde --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bbappend @@ -0,0 +1,6 @@ +# Machine specific TFAs + +MACHINE_TFA_REQUIRE ?= "" +MACHINE_TFA_REQUIRE:n1sdp = "trusted-firmware-a-n1sdp.inc" + +require ${MACHINE_TFA_REQUIRE} diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bb new file mode 100644 index 00000000..13785a0a --- /dev/null +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.bb @@ -0,0 +1,15 @@ +require trusted-firmware-a.inc + +# TF-A v2.7 +SRCREV_tfa = "35f4c7295bafeb32c8bcbdfb6a3f2e74a57e732b" + +LIC_FILES_CHKSUM += "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde" + +# mbed TLS v2.28.0 +SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=mbedtls-2.28" +SRCREV_mbedtls = "8b3f26a5ac38d4fdccbc5c5366229f3e01dafcc0" + +LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +# Disable by default +DEFAULT_PREFERENCE = "-1" -- 2.17.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH kirkstone 2/5] arm-bsp/scp-firmware: N1SDP trusted boot 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 1/5] " adam.johnston @ 2022-07-27 15:56 ` adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 3/5] arm-bsp/sdcard-image-n1sdp: " adam.johnston ` (5 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: adam.johnston @ 2022-07-27 15:56 UTC (permalink / raw) To: meta-arm, Ross.Burton; +Cc: nd, Adam Johnston From: Adam Johnston <adam.johnston@arm.com> This commit configures scp-firmware for TBBR bootflow as follows: * SCP FW upgraded to 2.10 for the N1SDP only * Updates SCP FW src to master * BL31 replaced in the SCP firmware image with BL1 Signed-off-by: Adam Johnston <adam.johnston@arm.com> --- .../recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc | 6 +++++- .../recipes-bsp/scp-firmware/scp-firmware_2.10.%.bbappend | 7 +++++++ .../recipes-bsp/scp-firmware/scp-firmware_2.9.%.bbappend | 1 - 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.10.%.bbappend diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc index 0352539a..e66469c3 100644 --- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc @@ -3,6 +3,10 @@ SCP_PLATFORM = "n1sdp" SCP_LOG_LEVEL = "INFO" +# master branch at n1sdp: Introduce trusted board boot +SRCREV = "3e4c34ceccc1c960eb3a4adaa922f2a0c6b36be3" +PV .= "+git${SRCPV}" + COMPATIBLE_MACHINE:n1sdp = "n1sdp" DEPENDS += "fiptool-native" @@ -12,7 +16,7 @@ do_install:append() { fiptool \ create \ --scp-fw "${D}/firmware/scp_ramfw.bin" \ - --soc-fw "${RECIPE_SYSROOT}/firmware/bl31.bin" \ + --blob uuid=cfacc2c4-15e8-4668-82be-430a38fad705,file="${RECIPE_SYSROOT}/firmware/bl1.bin" \ "scp_fw.bin" # This UUID is FIP_UUID_MCP_BL2 in SCP-Firmware. diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.10.%.bbappend b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.10.%.bbappend new file mode 100644 index 00000000..5e1e6efe --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.10.%.bbappend @@ -0,0 +1,7 @@ +# Include machine specific SCP configurations + +MACHINE_SCP_REQUIRE ?= "" + +MACHINE_SCP_REQUIRE:n1sdp = "scp-firmware-n1sdp.inc" + +require ${MACHINE_SCP_REQUIRE} diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.9.%.bbappend b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.9.%.bbappend index bb1a48c7..4421e79c 100644 --- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.9.%.bbappend +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_2.9.%.bbappend @@ -3,7 +3,6 @@ MACHINE_SCP_REQUIRE ?= "" MACHINE_SCP_REQUIRE:juno = "scp-firmware-juno.inc" -MACHINE_SCP_REQUIRE:n1sdp = "scp-firmware-n1sdp.inc" MACHINE_SCP_REQUIRE:sgi575 = "scp-firmware-sgi575.inc" MACHINE_SCP_REQUIRE:tc = "scp-firmware-tc.inc" -- 2.17.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH kirkstone 3/5] arm-bsp/sdcard-image-n1sdp: N1SDP trusted boot 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 1/5] " adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 2/5] arm-bsp/scp-firmware: " adam.johnston @ 2022-07-27 15:56 ` adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 4/5] arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory adam.johnston ` (4 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: adam.johnston @ 2022-07-27 15:56 UTC (permalink / raw) To: meta-arm, Ross.Burton; +Cc: nd, Adam Johnston From: Adam Johnston <adam.johnston@arm.com> This commit configures N1SDP firmware for TBBR bootflow as follows: * uefi.bin replaced with with fip.bin * load address adjusted for FIP image Signed-off-by: Adam Johnston <adam.johnston@arm.com> --- .../recipes-bsp/images/sdcard-image-n1sdp_0.1.bb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb b/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb index 6f74159c..84498a63 100644 --- a/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb +++ b/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb @@ -27,8 +27,8 @@ prepare_package() { cp -av ${RECIPE_SYSROOT}/${FIRMWARE_DIR}/* ${PRIMARY_DIR} mkdir -p ${PRIMARY_DIR}/SOFTWARE/ - # Copy uefi binary - cp -v ${RECIPE_SYSROOT}/firmware/uefi.bin ${PRIMARY_DIR}/SOFTWARE/ + # Copy FIP binary + cp -v ${RECIPE_SYSROOT}/firmware/fip.bin ${PRIMARY_DIR}/SOFTWARE/ # Copy SOC binaries for f in ${SOC_BINARIES}; do @@ -42,6 +42,11 @@ prepare_package() { sed -i -e 's|.*SOCCON: 0x1170.*PLATFORM_CTRL.*|SOCCON: 0x1170 0x00000100 ;SoC SCC PLATFORM_CTRL|' \ ${PRIMARY_DIR}/MB/HBI0316A/io_v123f.txt + # Update load address for trusted boot + sed -i -e '/^IMAGE4ADDRESS:/ s|0x60200000|0x64200000|' ${PRIMARY_DIR}/MB/HBI0316A/images.txt + sed -i -e '/^IMAGE4UPDATE:/ s|FORCE |SCP_AUTO|' ${PRIMARY_DIR}/MB/HBI0316A/images.txt + sed -i -e '/^IMAGE4FILE: \\SOFTWARE\\/s|uefi.bin|fip.bin |' ${PRIMARY_DIR}/MB/HBI0316A/images.txt + # Slave/Secondary cp -av ${RECIPE_SYSROOT}/${FIRMWARE_DIR}/* ${SECONDARY_DIR} mkdir -p ${SECONDARY_DIR}/SOFTWARE/ -- 2.17.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH kirkstone 4/5] arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston ` (2 preceding siblings ...) 2022-07-27 15:56 ` [PATCH kirkstone 3/5] arm-bsp/sdcard-image-n1sdp: " adam.johnston @ 2022-07-27 15:56 ` adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 5/5] arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies adam.johnston ` (3 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: adam.johnston @ 2022-07-27 15:56 UTC (permalink / raw) To: meta-arm, Ross.Burton; +Cc: nd, Adam Johnston From: Adam Johnston <adam.johnston@arm.com> NT_FW_CONFIG DTB contains platform information passed by TF-A boot stage. This information is used for Virtual memory map generation during PEI phase and passed on to DXE phase as a HOB, where it is used in ConfigurationManagerDxe. Signed-off-by: Adam Johnston <adam.johnston@arm.com> --- .../recipes-bsp/uefi/edk2-firmware-n1sdp.inc | 6 + .../edk2-platforms/add-nt-fw-config.patch | 474 ++++++++++++++++++ 2 files changed, 480 insertions(+) create mode 100644 meta-arm-bsp/recipes-bsp/uefi/files/edk2-platforms/add-nt-fw-config.patch diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc index 8930c040..90c3f2ae 100644 --- a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc @@ -11,6 +11,12 @@ COMPATIBLE_MACHINE = "n1sdp" EFIDIR = "/EFI/BOOT" EFI_BOOT_IMAGE = "bootaa64.efi" +FILESEXTRAPATHS:prepend := "${THISDIR}/files/edk2-platforms:" + +SRC_URI:append = "\ + file://add-nt-fw-config.patch;patchdir=edk2-platforms \ +" + do_deploy:append() { EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g') printf 'FS2:%s\%s\n' "$EFIPATH" "${EFI_BOOT_IMAGE}" > ${DEPLOYDIR}/startup.nsh diff --git a/meta-arm-bsp/recipes-bsp/uefi/files/edk2-platforms/add-nt-fw-config.patch b/meta-arm-bsp/recipes-bsp/uefi/files/edk2-platforms/add-nt-fw-config.patch new file mode 100644 index 00000000..f6f18951 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/files/edk2-platforms/add-nt-fw-config.patch @@ -0,0 +1,474 @@ +From cc58709b32d74273736886ccfc08e4723a436ea4 Mon Sep 17 00:00:00 2001 +From: sahil <sahil@arm.com> +Date: Thu, 17 Mar 2022 16:28:05 +0530 +Subject: [PATCH] Platform/ARM/N1sdp: Add support to parse NT_FW_CONFIG + +NT_FW_CONFIG DTB contains platform information passed by +Tf-A boot stage. +This information is used for Virtual memory map generation +during PEI phase and passed on to DXE phase as a HOB, where +it is used in ConfigurationManagerDxe. + +Upstream-Status: Pending +Signed-off-by: Adam Johnston <adam.johnston@arm.com> +Signed-off-by: sahil <sahil@arm.com> +Change-Id: Ib82571280bf1ca5febe5766e618de09e7b70bb02 + +--- + .../ConfigurationManager.c | 24 ++-- + .../ConfigurationManagerDxe.inf | 3 +- + .../ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h | 16 +-- + .../Library/PlatformLib/AArch64/Helper.S | 4 +- + .../Library/PlatformLib/PlatformLib.c | 12 +- + .../Library/PlatformLib/PlatformLib.inf | 8 +- + .../Library/PlatformLib/PlatformLibMem.c | 103 +++++++++++++++++- + Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec | 7 +- + 8 files changed, 152 insertions(+), 25 deletions(-) + +diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c +index f50623ae3f..e023d47cfd 100644 +--- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c ++++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c +@@ -1,7 +1,7 @@ + /** @file + Configuration Manager Dxe + +- Copyright (c) 2021, ARM Limited. All rights reserved.<BR> ++ Copyright (c) 2021 - 2022, ARM Limited. All rights reserved.<BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent + +@@ -16,6 +16,7 @@ + #include <IndustryStandard/SerialPortConsoleRedirectionTable.h> + #include <Library/ArmLib.h> + #include <Library/DebugLib.h> ++#include <Library/HobLib.h> + #include <Library/IoLib.h> + #include <Library/PcdLib.h> + #include <Library/UefiBootServicesTableLib.h> +@@ -28,6 +29,7 @@ + #include "Platform.h" + + extern struct EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE Hmat; ++static NEOVERSEN1SOC_PLAT_INFO *PlatInfo; + + /** The platform configuration repository information. + */ +@@ -1242,13 +1244,11 @@ InitializePlatformRepository ( + IN EDKII_PLATFORM_REPOSITORY_INFO * CONST PlatRepoInfo + ) + { +- NEOVERSEN1SOC_PLAT_INFO *PlatInfo; + UINT64 Dram2Size; + UINT64 RemoteDdrSize; + + RemoteDdrSize = 0; + +- PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE; + Dram2Size = ((PlatInfo->LocalDdrSize - 2) * SIZE_1GB); + + PlatRepoInfo->MemAffInfo[LOCAL_DDR_REGION2].Length = Dram2Size; +@@ -1512,7 +1512,6 @@ GetGicCInfo ( + ) + { + EDKII_PLATFORM_REPOSITORY_INFO * PlatformRepo; +- NEOVERSEN1SOC_PLAT_INFO *PlatInfo; + UINT32 TotalObjCount; + UINT32 ObjIndex; + +@@ -1523,7 +1522,6 @@ GetGicCInfo ( + } + + PlatformRepo = This->PlatRepoInfo; +- PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE; + + if (PlatInfo->MultichipMode == 1) { + TotalObjCount = PLAT_CPU_COUNT * 2; +@@ -1623,7 +1621,6 @@ GetStandardNameSpaceObject ( + { + EFI_STATUS Status; + EDKII_PLATFORM_REPOSITORY_INFO * PlatformRepo; +- NEOVERSEN1SOC_PLAT_INFO *PlatInfo; + UINT32 AcpiTableCount; + + if ((This == NULL) || (CmObject == NULL)) { +@@ -1634,7 +1631,7 @@ GetStandardNameSpaceObject ( + + Status = EFI_NOT_FOUND; + PlatformRepo = This->PlatRepoInfo; +- PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE; ++ + AcpiTableCount = ARRAY_SIZE (PlatformRepo->CmAcpiTableList); + if (PlatInfo->MultichipMode == 0) + AcpiTableCount -= 1; +@@ -1697,7 +1694,6 @@ GetArmNameSpaceObject ( + { + EFI_STATUS Status; + EDKII_PLATFORM_REPOSITORY_INFO * PlatformRepo; +- NEOVERSEN1SOC_PLAT_INFO *PlatInfo; + UINT32 GicRedistCount; + UINT32 GicCpuCount; + UINT32 ProcHierarchyInfoCount; +@@ -1718,8 +1714,6 @@ GetArmNameSpaceObject ( + Status = EFI_NOT_FOUND; + PlatformRepo = This->PlatRepoInfo; + +- // Probe for multi chip information +- PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE; + if (PlatInfo->MultichipMode == 1) { + GicRedistCount = 2; + GicCpuCount = PLAT_CPU_COUNT * 2; +@@ -2162,8 +2156,18 @@ ConfigurationManagerDxeInitialize ( + IN EFI_SYSTEM_TABLE * SystemTable + ) + { ++ VOID *PlatInfoHob; + EFI_STATUS Status; + ++ PlatInfoHob = GetFirstGuidHob (&gArmNeoverseN1SocPlatformInfoDescriptorGuid); ++ ++ if (PlatInfoHob == NULL) { ++ DEBUG ((DEBUG_ERROR, "Platform HOB is NULL\n")); ++ return EFI_NOT_FOUND; ++ } ++ ++ PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)GET_GUID_HOB_DATA (PlatInfoHob); ++ + // Initialize the Platform Configuration Repository before installing the + // Configuration Manager Protocol + Status = InitializePlatformRepository ( +diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf +index 4f8e7f1302..fb59c29501 100644 +--- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf ++++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf +@@ -1,7 +1,7 @@ + ## @file + # Configuration Manager Dxe + # +-# Copyright (c) 2021, ARM Limited. All rights reserved.<BR> ++# Copyright (c) 2021 - 2022, ARM Limited. All rights reserved.<BR> + # + # SPDX-License-Identifier: BSD-2-Clause-Patent + # +@@ -42,6 +42,7 @@ + + [LibraryClasses] + ArmPlatformLib ++ HobLib + PrintLib + UefiBootServicesTableLib + UefiDriverEntryPoint +diff --git a/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h b/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h +index 097160c7e2..63cebaf0e0 100644 +--- a/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h ++++ b/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h +@@ -1,6 +1,6 @@ + /** @file + * +-* Copyright (c) 2018 - 2020, ARM Limited. All rights reserved. ++* Copyright (c) 2018 - 2022, ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause-Patent + * +@@ -41,11 +41,6 @@ + #define NEOVERSEN1SOC_EXP_PERIPH_BASE0 0x1C000000 + #define NEOVERSEN1SOC_EXP_PERIPH_BASE0_SZ 0x1300000 + +-// Base address to a structure of type NEOVERSEN1SOC_PLAT_INFO which is +-// pre-populated by a earlier boot stage +-#define NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE (NEOVERSEN1SOC_NON_SECURE_SRAM_BASE + \ +- 0x00008000) +- + /* + * Platform information structure stored in Non-secure SRAM. Platform + * information are passed from the trusted firmware with the below structure +@@ -55,12 +50,17 @@ + typedef struct { + /*! 0 - Single Chip, 1 - Chip to Chip (C2C) */ + UINT8 MultichipMode; +- /*! Slave count in C2C mode */ +- UINT8 SlaveCount; ++ /*! Secondary chip count in C2C mode */ ++ UINT8 SecondaryChipCount; + /*! Local DDR memory size in GigaBytes */ + UINT8 LocalDdrSize; + /*! Remote DDR memory size in GigaBytes */ + UINT8 RemoteDdrSize; + } NEOVERSEN1SOC_PLAT_INFO; + ++// NT_FW_CONFIG DT structure ++typedef struct { ++ UINT64 NtFwConfigDtAddr; ++} NEOVERSEN1SOC_NT_FW_CONFIG_INFO_PPI; ++ + #endif +diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/AArch64/Helper.S b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/AArch64/Helper.S +index 8d2069dea8..88ed640d29 100644 +--- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/AArch64/Helper.S ++++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/AArch64/Helper.S +@@ -1,6 +1,6 @@ + /** @file + * +-* Copyright (c) 2019 - 2020, ARM Limited. All rights reserved. ++* Copyright (c) 2019 - 2022, ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause-Patent + * +@@ -25,6 +25,8 @@ GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore) + // the UEFI firmware through the CPU registers. + // + ASM_PFX(ArmPlatformPeiBootAction): ++ adr x10, NtFwConfigDtBlob ++ str x0, [x10] + ret + + // +diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c +index c0effd37f3..fabe902cd0 100644 +--- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c ++++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c +@@ -1,6 +1,6 @@ + /** @file + +- Copyright (c) 2018-2021, ARM Limited. All rights reserved.<BR> ++ Copyright (c) 2018 - 2022, ARM Limited. All rights reserved.<BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent + +@@ -8,8 +8,12 @@ + + #include <Library/ArmPlatformLib.h> + #include <Library/BaseLib.h> ++#include <NeoverseN1Soc.h> + #include <Ppi/ArmMpCoreInfo.h> + ++UINT64 NtFwConfigDtBlob; ++STATIC NEOVERSEN1SOC_NT_FW_CONFIG_INFO_PPI mNtFwConfigDtInfoPpi; ++ + STATIC ARM_CORE_INFO mCoreInfoTable[] = { + { 0x0, 0x0 }, // Cluster 0, Core 0 + { 0x0, 0x1 }, // Cluster 0, Core 1 +@@ -46,6 +50,7 @@ ArmPlatformInitialize ( + IN UINTN MpId + ) + { ++ mNtFwConfigDtInfoPpi.NtFwConfigDtAddr = NtFwConfigDtBlob; + return RETURN_SUCCESS; + } + +@@ -80,6 +85,11 @@ EFI_PEI_PPI_DESCRIPTOR gPlatformPpiTable[] = { + EFI_PEI_PPI_DESCRIPTOR_PPI, + &gArmMpCoreInfoPpiGuid, + &mMpCoreInfoPpi ++ }, ++ { ++ EFI_PEI_PPI_DESCRIPTOR_PPI, ++ &gNtFwConfigDtInfoPpiGuid, ++ &mNtFwConfigDtInfoPpi + } + }; + +diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf +index 96e590cdd8..6f9c9d5ab6 100644 +--- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf ++++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf +@@ -1,7 +1,7 @@ + ## @file + # Platform Library for N1Sdp. + # +-# Copyright (c) 2018-2021, ARM Limited. All rights reserved.<BR> ++# Copyright (c) 2018 - 2022, ARM Limited. All rights reserved.<BR> + # + # SPDX-License-Identifier: BSD-2-Clause-Patent + # +@@ -18,10 +18,14 @@ + [Packages] + ArmPkg/ArmPkg.dec + ArmPlatformPkg/ArmPlatformPkg.dec ++ EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec + ++[LibraryClasses] ++ FdtLib ++ + [Sources.common] + PlatformLibMem.c + PlatformLib.c +@@ -59,7 +63,9 @@ + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress + + [Guids] ++ gArmNeoverseN1SocPlatformInfoDescriptorGuid + gEfiHobListGuid ## CONSUMES ## SystemTable + + [Ppis] + gArmMpCoreInfoPpiGuid ++ gNtFwConfigDtInfoPpiGuid +diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c +index 339fa07b32..b58bda4b76 100644 +--- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c ++++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c +@@ -1,6 +1,6 @@ + /** @file + +- Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR> ++ Copyright (c) 2018 - 2022, ARM Limited. All rights reserved.<BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent + +@@ -10,11 +10,95 @@ + #include <Library/DebugLib.h> + #include <Library/HobLib.h> + #include <Library/MemoryAllocationLib.h> ++#include <Library/PeiServicesLib.h> ++#include <libfdt.h> + #include <NeoverseN1Soc.h> + + // The total number of descriptors, including the final "end-of-table" descriptor. + #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 19 + ++/** A helper function to locate the NtFwConfig PPI and get the base address of ++ NT_FW_CONFIG DT from which values are obtained using FDT helper functions. ++ ++ @param [out] plat_info Pointer to the NeoverseN1Soc PLATFORM_INFO HOB ++ ++ @retval EFI_SUCCESS Success. ++ returns EFI_INVALID_PARAMETER A parameter is invalid. ++**/ ++EFI_STATUS ++GetNeoverseN1SocPlatInfo ( ++ OUT NEOVERSEN1SOC_PLAT_INFO *plat_info ++ ) ++{ ++ CONST UINT32 *Property; ++ INT32 Offset; ++ CONST VOID *NtFwCfgDtBlob; ++ NEOVERSEN1SOC_NT_FW_CONFIG_INFO_PPI *NtFwConfigInfoPpi; ++ EFI_STATUS Status; ++ ++ Status = PeiServicesLocatePpi ( ++ &gNtFwConfigDtInfoPpiGuid, ++ 0, ++ NULL, ++ (VOID **)&NtFwConfigInfoPpi ++ ); ++ ++ if (EFI_ERROR (Status)) { ++ DEBUG (( ++ DEBUG_ERROR, ++ "PeiServicesLocatePpi failed with error %r\n", ++ Status ++ )); ++ return EFI_INVALID_PARAMETER; ++ } ++ ++ NtFwCfgDtBlob = (VOID *)(UINTN)NtFwConfigInfoPpi->NtFwConfigDtAddr; ++ if (fdt_check_header (NtFwCfgDtBlob) != 0) { ++ DEBUG ((DEBUG_ERROR, "Invalid DTB file %p passed\n", NtFwCfgDtBlob)); ++ return EFI_INVALID_PARAMETER; ++ } ++ ++ Offset = fdt_subnode_offset (NtFwCfgDtBlob, 0, "platform-info"); ++ if (Offset == -FDT_ERR_NOTFOUND) { ++ DEBUG ((DEBUG_ERROR, "Invalid DTB : platform-info node not found\n")); ++ return EFI_INVALID_PARAMETER; ++ } ++ ++ Property = fdt_getprop (NtFwCfgDtBlob, Offset, "local-ddr-size", NULL); ++ if (Property == NULL) { ++ DEBUG ((DEBUG_ERROR, "local-ddr-size property not found\n")); ++ return EFI_INVALID_PARAMETER; ++ } ++ ++ plat_info->LocalDdrSize = fdt32_to_cpu (*Property); ++ ++ Property = fdt_getprop (NtFwCfgDtBlob, Offset, "remote-ddr-size", NULL); ++ if (Property == NULL) { ++ DEBUG ((DEBUG_ERROR, "remote-ddr-size property not found\n")); ++ return EFI_INVALID_PARAMETER; ++ } ++ ++ plat_info->RemoteDdrSize = fdt32_to_cpu (*Property); ++ ++ Property = fdt_getprop (NtFwCfgDtBlob, Offset, "secondary-chip-count", NULL); ++ if (Property == NULL) { ++ DEBUG ((DEBUG_ERROR, "secondary-chip-count property not found\n")); ++ return EFI_INVALID_PARAMETER; ++ } ++ ++ plat_info->SecondaryChipCount = fdt32_to_cpu (*Property); ++ ++ Property = fdt_getprop (NtFwCfgDtBlob, Offset, "multichip-mode", NULL); ++ if (Property == NULL) { ++ DEBUG ((DEBUG_ERROR, "multichip-mode property not found\n")); ++ return EFI_INVALID_PARAMETER; ++ } ++ ++ plat_info->MultichipMode = fdt32_to_cpu (*Property); ++ ++ return EFI_SUCCESS; ++} ++ + /** + Returns the Virtual Memory Map of the platform. + +@@ -36,9 +120,24 @@ ArmPlatformGetVirtualMemoryMap ( + NEOVERSEN1SOC_PLAT_INFO *PlatInfo; + UINT64 DramBlock2Size; + UINT64 RemoteDdrSize; ++ EFI_STATUS Status; + + Index = 0; +- PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE; ++ ++ // Create platform info HOB ++ PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)BuildGuidHob ( ++ &gArmNeoverseN1SocPlatformInfoDescriptorGuid, ++ sizeof (NEOVERSEN1SOC_PLAT_INFO) ++ ); ++ ++ if (PlatInfo == NULL) { ++ DEBUG ((DEBUG_ERROR, "Platform HOB is NULL\n")); ++ ASSERT (FALSE); ++ return; ++ } ++ ++ Status = GetNeoverseN1SocPlatInfo (PlatInfo); ++ ASSERT (Status == 0); + DramBlock2Size = ((UINT64)(PlatInfo->LocalDdrSize - + NEOVERSEN1SOC_DRAM_BLOCK1_SIZE / SIZE_1GB) * + (UINT64)SIZE_1GB); +diff --git a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec +index d59f25a5b9..4dea8fe1e8 100644 +--- a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec ++++ b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec +@@ -1,7 +1,7 @@ + ## @file + # Describes the entire platform configuration. + # +-# Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR> ++# Copyright (c) 2018 - 2022, ARM Limited. All rights reserved.<BR> + # + # SPDX-License-Identifier: BSD-2-Clause-Patent + # +@@ -22,6 +22,8 @@ + Include # Root include for the package + + [Guids.common] ++ # ARM NeoverseN1Soc Platform Info descriptor ++ gArmNeoverseN1SocPlatformInfoDescriptorGuid = { 0x095cb024, 0x1e00, 0x4d6f, { 0xaa, 0x34, 0x4a, 0xf8, 0xaf, 0x0e, 0xad, 0x99 } } + gArmNeoverseN1SocTokenSpaceGuid = { 0xab93eb78, 0x60d7, 0x4099, { 0xac, 0xeb, 0x6d, 0xb5, 0x02, 0x58, 0x7c, 0x24 } } + + [PcdsFixedAtBuild] +@@ -83,3 +85,6 @@ + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio32Translation|0x40000000000|UINT64|0x0000004F + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio64Translation|0x40000000000|UINT64|0x00000050 + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieSegmentNumber|2|UINT32|0x00000051 ++ ++[Ppis] ++ gNtFwConfigDtInfoPpiGuid = { 0xb50dee0e, 0x577f, 0x47fb, { 0x83, 0xd0, 0x41, 0x78, 0x61, 0x8b, 0x33, 0x8a } } +-- +2.17.1 + -- 2.17.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH kirkstone 5/5] arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston ` (3 preceding siblings ...) 2022-07-27 15:56 ` [PATCH kirkstone 4/5] arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory adam.johnston @ 2022-07-27 15:56 ` adam.johnston 2022-07-27 21:36 ` [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot Jon Mason ` (2 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: adam.johnston @ 2022-07-27 15:56 UTC (permalink / raw) To: meta-arm, Ross.Burton; +Cc: nd, Adam Johnston From: Adam Johnston <adam.johnston@arm.com> When enabling trusted boot, the UEFI binary was replaced with a FIP image (which contains the UEFI binary), therefore the SD card image should depend on trusted-firmware-a rather than edk2-firmware. Signed-off-by: Adam Johnston <adam.johnston@arm.com> --- meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb b/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb index 84498a63..3ed71c57 100644 --- a/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb +++ b/meta-arm-bsp/recipes-bsp/images/sdcard-image-n1sdp_0.1.bb @@ -2,7 +2,7 @@ SUMMARY = "Firmware image recipe for generating SD-Card artifacts." inherit deploy nopackages -DEPENDS = "edk2-firmware \ +DEPENDS = "trusted-firmware-a \ virtual/control-processor-firmware \ n1sdp-board-firmware" -- 2.17.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston ` (4 preceding siblings ...) 2022-07-27 15:56 ` [PATCH kirkstone 5/5] arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies adam.johnston @ 2022-07-27 21:36 ` Jon Mason 2022-07-29 19:15 ` Jon Mason 2022-07-31 3:05 ` Jon Mason 7 siblings, 0 replies; 9+ messages in thread From: Jon Mason @ 2022-07-27 21:36 UTC (permalink / raw) To: meta-arm, adam.johnston, Ross.Burton; +Cc: nd On Wed, 27 Jul 2022 16:56:38 +0100, adam.johnston@arm.com wrote: > This patch re-configures the N1SDP for trusted boot, using the changes > published by the Silicon Solutions team in N1SDP-2022.02.04 and up-streamed > to trusted-firmware-a and scp-firmware. > > arm-bsp/trusted-firmware-a: For N1SDP only, upgraded to 2.7.0 and configured > for trusted boot > > [...] Applied, thanks! [1/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot commit: d9c6ff98c316da14d225290471c586da824797a2 [2/5] arm-bsp/scp-firmware: N1SDP trusted boot commit: 1e13b8b419d119a133882aa6db9d5ab17e4cb96c [3/5] arm-bsp/sdcard-image-n1sdp: N1SDP trusted boot commit: 01aa5431d66c1dbcd5d8f87de16f49af5ccbb9ca [4/5] arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory commit: 2b392ebd3cf92cf1f62b53a13774649ca6be11dd [5/5] arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies commit: 6301b32aec4ff3b1c1545df6a0a5247a15491d14 Best regards, -- Jon Mason <jon.mason@arm.com> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston ` (5 preceding siblings ...) 2022-07-27 21:36 ` [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot Jon Mason @ 2022-07-29 19:15 ` Jon Mason 2022-07-31 3:05 ` Jon Mason 7 siblings, 0 replies; 9+ messages in thread From: Jon Mason @ 2022-07-29 19:15 UTC (permalink / raw) To: meta-arm, adam.johnston, Ross.Burton; +Cc: nd On Wed, 27 Jul 2022 16:56:38 +0100, adam.johnston@arm.com wrote: > This patch re-configures the N1SDP for trusted boot, using the changes > published by the Silicon Solutions team in N1SDP-2022.02.04 and up-streamed > to trusted-firmware-a and scp-firmware. > > arm-bsp/trusted-firmware-a: For N1SDP only, upgraded to 2.7.0 and configured > for trusted boot > > [...] Applied, thanks! [1/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot commit: d9c6ff98c316da14d225290471c586da824797a2 [2/5] arm-bsp/scp-firmware: N1SDP trusted boot commit: 1e13b8b419d119a133882aa6db9d5ab17e4cb96c [3/5] arm-bsp/sdcard-image-n1sdp: N1SDP trusted boot commit: 01aa5431d66c1dbcd5d8f87de16f49af5ccbb9ca [4/5] arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory commit: 2b392ebd3cf92cf1f62b53a13774649ca6be11dd [5/5] arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies commit: 6301b32aec4ff3b1c1545df6a0a5247a15491d14 Best regards, -- Jon Mason <jon.mason@arm.com> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston ` (6 preceding siblings ...) 2022-07-29 19:15 ` Jon Mason @ 2022-07-31 3:05 ` Jon Mason 7 siblings, 0 replies; 9+ messages in thread From: Jon Mason @ 2022-07-31 3:05 UTC (permalink / raw) To: meta-arm, adam.johnston, Ross.Burton; +Cc: nd On Wed, 27 Jul 2022 16:56:38 +0100, adam.johnston@arm.com wrote: > This patch re-configures the N1SDP for trusted boot, using the changes > published by the Silicon Solutions team in N1SDP-2022.02.04 and up-streamed > to trusted-firmware-a and scp-firmware. > > arm-bsp/trusted-firmware-a: For N1SDP only, upgraded to 2.7.0 and configured > for trusted boot > > [...] Applied, thanks! [1/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot commit: d9c6ff98c316da14d225290471c586da824797a2 [2/5] arm-bsp/scp-firmware: N1SDP trusted boot commit: 1e13b8b419d119a133882aa6db9d5ab17e4cb96c [3/5] arm-bsp/sdcard-image-n1sdp: N1SDP trusted boot commit: 01aa5431d66c1dbcd5d8f87de16f49af5ccbb9ca [4/5] arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory commit: 2b392ebd3cf92cf1f62b53a13774649ca6be11dd [5/5] arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies commit: 6301b32aec4ff3b1c1545df6a0a5247a15491d14 Best regards, -- Jon Mason <jon.mason@arm.com> ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-07-31 3:06 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-07-27 15:56 [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 1/5] " adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 2/5] arm-bsp/scp-firmware: " adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 3/5] arm-bsp/sdcard-image-n1sdp: " adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 4/5] arm-bsp/edk2-firmware: Add NT_FW_CONFIG to N1SDP to fix aborts when accessing virtual memory adam.johnston 2022-07-27 15:56 ` [PATCH kirkstone 5/5] arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies adam.johnston 2022-07-27 21:36 ` [PATCH kirkstone 0/5] arm-bsp/trusted-firmware-a: N1SDP trusted boot Jon Mason 2022-07-29 19:15 ` Jon Mason 2022-07-31 3:05 ` Jon Mason
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.