summaryrefslogtreecommitdiff
path: root/meta-arm/meta-arm-bsp/recipes-bsp/u-boot
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2022-10-16 22:26:09 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-10-16 22:27:46 +0300
commit2194f503e17619bcd36b4289902d13457aac638e (patch)
treecafb71f7044ec9752543d5696295a7584927d249 /meta-arm/meta-arm-bsp/recipes-bsp/u-boot
parentbdfb8a9cebc292bab790500a6439e4d83ec57bdf (diff)
downloadopenbmc-2194f503e17619bcd36b4289902d13457aac638e.tar.xz
subtree updates
meta-arm: 0164b4ca7a..13199c55c0: Adam Johnston (1): arm-bsp/linux-yocto: Upgrade kernel to v5.19 for N1SDP Anton Antonov (4): meta-arm/trusted-services: Use GCC toolchain for specific TS recipes only. arm/trusted-services: Remove patches merged upstream arm/trusted-services: Remove remaining patches merged upstream arm/trusted-services: include documentation Davidson K (1): arm-bsp/linux-arm64-ack: make it compatible with gcc-12 for TC Emekcan (2): arm-bsp/linux-yocto: update RPMSG_CTRL config for corstone1000 arm-bsp/kernel: Fix TEE driver bug for corstone1000 Jon Mason (3): CI: trusted services as a feature instead of a machine CI: cleanups for targets and removed tests arm-bsp: zephyr removal Peter Hoyes (1): arm/lib: Do not log FVP return codes < 0 Ross Burton (2): arm/optee-spdevkit: remove CI: restrict compression threading Rui Miguel Silva (1): arm-bsp/corstone1000: bump kernel version to 5.19 Rupinderjit Singh (1): arm: update Android common kernel Satish Kumar (4): arm-bsp/u-boot: corstone1000: esrt support arm-bsp/trusted-firmware-m: corstone1000: bump tfm SHA arm-bsp/trusted-firmware-m: corstone1000: fix sournce dir of libmetal and openamp arm-bsp/trusted-firmware-m: corstone1000: secure debug code checkout from yocto Sumit Garg (2): arm-toolchain: update Arm GCC to 11.3 external-arm-toolchain: Enable 11.3.rel1 support Vishnu Banavath (1): arm-bsp/corstone500: upgrade kernel to v5.19 meta-raspberrypi: 45d56d82b7..fc5f80a47e: Devendra Tewari (3): rpi-cmdline: Leave cma value to kernel default libcamera: Tweak to build for Raspberry Pi rpi-libcamera-apps: add new recipe Martin Jansa (1): lirc: rename bbappend to match 0.10.% Zygmunt Krynicki (2): ci: fix typo: unconditionally ci: fix apparent typo in file patterns meta-openembedded: ce0b93fc12..6529e5f963: Alexander Kanavin (3): python3-cchardet: depend on cython python3-gevent: make compatible with python 3.11 python3-pybluez: add python 3.11 patch Anuj Mittal (1): opencv: fix reproducibility issues Devendra Tewari (2): libcamera: Bump SRCREV and add libyaml to DEPENDS libcamera: Remove boost from DEPENDS Fabio Estevam (1): spice: Include aarch64 to COMPATIBLE_HOST Federico Pellegrin (2): chrony: add pkgconfig class as pkg-config is explicitly searched for chrony: correct parameter to configure to disable readline usage Hao Jiang (1): mctp: install the .target files Jiaqing Zhao (1): openldap: Upgrade 2.5.12 -> 2.5.13 Khem Raj (2): open62541: Disable lto on riscv/clang python3-gevent: Upgrade to 22.8.0 Leon Anavi (10): python3-networkx: Upgrade 2.8.6 -> 2.8.7 python3-coverage: Upgrade 6.4.4 -> 6.5.0 python3-rdflib: Upgrade 6.1.1 -> 6.2.0 python3-tabulate: Upgrade 0.8.10 -> 0.9.0 python3-imageio: Upgrade 2.22.0 -> 2.22.1 python3-astroid: Upgrade 2.12.10 -> 2.12.11 python3-jsonref: Upgrade 0.2 -> 0.3.0 python3-sentry-sdk: Upgrade 1.5.12 -> 1.9.10 python3-greenlet: Upgrade 1.1.3 -> 1.1.3.post0 python3-xmltodict: Upgrade 0.12.0 -> 0.13.0 Markus Volk (2): blueman: upgrade 2.2.4 -> 2.3.2 gtkmm3: upgrade 3.24.5 -> 3.24.7 Martin Jansa (2): re2: fix branch name from master to main jack: fix compatibility with python-3.11 Mathieu Dubois-Briand (3): mbedtls: Fix CVE product name mbedtls: Update to 2.28.1 version mbedtls: Whitelist CVE-2021-43666, CVE-2021-45451 Matthias Klein (1): paho-mqtt-c: upgrade 1.3.10 -> 1.3.11 Michael Opdenacker (1): tio: correct license information Mingli Yu (1): mariadb: not use qemu to run cross-compiled binaries S. Lockwood-Childs (1): x265: support aarch64 Thomas Perrot (1): spitools: remove unused BPV variable Vyacheslav Yurkov (1): opcua: Add new recipe Wang Mingyu (20): ctags: upgrade 5.9.20220925.0 -> 5.9.20221002.0 dnfdragora: upgrade 2.1.2 -> 2.1.3 dool: upgrade 1.0.0 -> 1.1.0 freeglut: upgrade 3.2.1 -> 3.4.0 gspell: upgrade 1.11.1 -> 1.12.0 hwdata: upgrade 0.362 -> 0.363 iperf3: upgrade 3.11 -> 3.12 libnet-dns-perl: upgrade 1.34 -> 1.35 lirc: upgrade 0.10.1 -> 0.10.2 metacity: upgrade 3.44.0 -> 3.46.0 flatbuffers: upgrade 2.0.8 -> 22.9.29 opencl-headers: upgrade 2022.09.23 -> 2022.09.30 php: upgrade 8.1.10 -> 8.1.11 poppler: upgrade 22.09.0 -> 22.10.0 xfstests: upgrade 2022.09.04 -> 2022.09.25 links: upgrade 2.27 -> 2.28 st: upgrade 0.8.5 -> 0.9 python3-requests-toolbelt: upgrade 0.9.1 -> 0.10.0 Add nativesdk-systemd-systemctl as dependency of dnf-plugin-tui dnf-plugin-tui: Add nativesdk Yi Zhao (4): strongswan: upgrade 5.9.7 -> 5.9.8 open-vm-tools: upgrade 11.3.5 -> 12.1.0 dhcp-relay: upgrade 4.4.3 -> 4.4.3-P1 frr: Security fix CVE-2022-37032 zhengrq.fnst (5): python3-protobuf: upgrade 4.21.6 -> 4.21.7 stunnel: upgrade 5.65 -> 5.66 python3-web3: upgrade 5.31.0 -> 5.31.1 wolfssl: upgrade 5.5.0 -> 5.5.1 python3-xmlschema: upgrade 2.1.0 -> 2.1.1 meta-security: 824d2762f6..e8e7318189: Armin Kuster (3): apparmor: update to 3.0.7 libgssglue: update to 0.7 cryptmount: update to 6.0 Michael Haener (1): tpm: update the linux-yocto rule with the one from sanity-meta-tpm class poky: 5200799866..3e5faccfaf: Johan Korsnes (1): migration guides: 3.4: remove spurious space in example Lee Chee Yang (1): migration guides: add release notes for 4.0.4 Michael Opdenacker (35): manuals: improve initramfs details manuals: add references to the "do_fetch" task manuals: add reference to the "do_install" task manuals: add references to the "do_build" task manuals: add reference to "do_configure" task manuals: add reference to the "do_compile" task manuals: add references to the "do_deploy" task manuals: add references to the "do_image" task manuals: add references to the "do_package" task manuals: add references to the "do_package_qa" task overview-manual: concepts.rst: add reference to "do_packagedata" task manuals: add references to the "do_patch" task manuals: add references to "do_package_write_*" tasks ref-manual: variables.rst: add reference to "do_populate_lic" task manuals: add reference to the "do_populate_sdk" task overview-manual: concepts.rst: add reference to "do_populate_sdk_ext" task manuals: add references to "do_populate_sysroot" task manuals: add references to the "do_unpack" task dev-manual: common-tasks.rst: add reference to "do_clean" task manuals: add references to the "do_cleanall" task ref-manual: tasks.rst: add references to the "do_cleansstate" task manuals: add references to the "do_devshell" task dev-manual: common-tasks.rst: add reference to "do_listtasks" task manuals: add references to the "do_bundle_initramfs" task manuals: add references to the "do_rootfs" task ref-manual: tasks.rst: add reference to the "do_kernel_checkout" task manuals: add reference to the "do_kernel_configcheck" task manuals: add references to the "do_kernel_configme" task ref-manual: tasks.rst: add reference to the "do_kernel_metadata" task migration-guides: add reference to the "do_shared_workdir" task ref-manual: tasks.rst: add reference to the "do_validate_branches" task ref-manual: tasks.rst: add reference to the "do_image_complete" task ref-manual: system-requirements: Ubuntu 22.04 now supported overview-manual: concepts.rst: fix formating and add references ref-manual/faq.rst: update references to products built with OE / Yocto Project Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I14d679e25bd1c7545bc2d0f545f876aeb0a333b4
Diffstat (limited to 'meta-arm/meta-arm-bsp/recipes-bsp/u-boot')
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-arm-corstone1000-esrt-support.patch223
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend3
2 files changed, 225 insertions, 1 deletions
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-arm-corstone1000-esrt-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-arm-corstone1000-esrt-support.patch
new file mode 100644
index 0000000000..2db5c2a186
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-arm-corstone1000-esrt-support.patch
@@ -0,0 +1,223 @@
+From d8fca6ebd5917df9a12dbf1da6a97f99af06eee9 Mon Sep 17 00:00:00 2001
+From: Satish Kumar <satish.kumar01@arm.com>
+Date: Fri, 19 Aug 2022 09:18:33 +0100
+Subject: [PATCH] arm/corstone1000: esrt support
+
+The implementation is platform specific and would require
+change in future.
+
+The patch should not be upstreamed as it is to the u-boot.
+Redesign of FMP protocol for ESRT and Capsule Update interface
+is to be considered in the future.
+
+Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
+Upstream-Status: Inappropriate [Redesign of FMP protocol for ESRT and Capsule update interface is required]
+---
+ include/efi_api.h | 2 +-
+ lib/efi_loader/efi_firmware.c | 133 ++++++++++++++++++++++++++++++++++
+ lib/efi_loader/efi_setup.c | 16 ++--
+ 3 files changed, 142 insertions(+), 9 deletions(-)
+
+diff --git a/include/efi_api.h b/include/efi_api.h
+index 83c01085fd..26899afd01 100644
+--- a/include/efi_api.h
++++ b/include/efi_api.h
+@@ -2014,7 +2014,7 @@ struct efi_firmware_image_descriptor {
+ u32 last_attempt_status;
+ u64 hardware_instance;
+ efi_firmware_image_dep_t *dependencies;
+-};
++} __packed;
+
+ struct efi_firmware_management_protocol {
+ efi_status_t (EFIAPI *get_image_info)(
+diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
+index 28d9a19edb..aa4af8036b 100644
+--- a/lib/efi_loader/efi_firmware.c
++++ b/lib/efi_loader/efi_firmware.c
+@@ -14,6 +14,7 @@
+ #include <signatures.h>
+
+ #include <linux/list.h>
++#include <efi_variable.h>
+
+ #define FMP_PAYLOAD_HDR_SIGNATURE SIGNATURE_32('M', 'S', 'S', '1')
+
+@@ -416,8 +417,140 @@ efi_status_t EFIAPI efi_firmware_fit_set_image(
+ return EFI_EXIT(EFI_SUCCESS);
+ }
+
++#if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
++
++/**
++ * efi_firmware_corstone1000_get_image_info - return information about the current
++ firmware image
++ * @this: Protocol instance
++ * @image_info_size: Size of @image_info
++ * @image_info: Image information
++ * @descriptor_version: Pointer to version number
++ * @descriptor_count: Pointer to number of descriptors
++ * @descriptor_size: Pointer to descriptor size
++ * package_version: Package version
++ * package_version_name: Package version's name
++ *
++ * Return information bout the current firmware image in @image_info.
++ * @image_info will consist of a number of descriptors.
++ * Each descriptor will be created based on efi fetched variable.
++ *
++ * Return status code
++ */
++static
++efi_status_t EFIAPI efi_firmware_corstone1000_get_image_info(
++ struct efi_firmware_management_protocol *this,
++ efi_uintn_t *image_info_size,
++ struct efi_firmware_image_descriptor *image_info,
++ u32 *descriptor_version,
++ u8 *descriptor_count,
++ efi_uintn_t *descriptor_size,
++ u32 *package_version,
++ u16 **package_version_name)
++{
++ efi_uintn_t var_size;
++ efi_status_t ret = EFI_SUCCESS;
++ efi_uintn_t image_info_size_var = 0;
++ efi_uintn_t image_info_name_size_var;
++ efi_uintn_t image_info_version_size_var;
++ u8 *runner = (u8 *)image_info;
++ u16 fmp_image_name[14] = {'F', 'm', 'p', 'I', 'm', 'a', 'g', 'e', 'N', 'a', 'm', 'e', '1', '\0'};
++ u16 fmp_version_name[16] = {'F', 'm', 'p', 'V', 'e', 'r', 's', 'i', 'o', 'n', 'N', 'a', 'm', 'e', '1', '\0'};
++
++ EFI_ENTRY("%p %p %p %p %p %p %p %p\n", this,
++ image_info_size, image_info,
++ descriptor_version, descriptor_count, descriptor_size,
++ package_version, package_version_name);
++
++ if (!image_info_size)
++ return EFI_EXIT(EFI_INVALID_PARAMETER);
++
++ if (*image_info_size &&
++ (!image_info || !descriptor_version || !descriptor_count ||
++ !descriptor_size || !package_version || !package_version_name))
++ return EFI_EXIT(EFI_INVALID_PARAMETER);
++
++ var_size = sizeof(*descriptor_version);
++ ret = efi_get_variable(u"FmpDescriptorVersion",
++ &efi_guid_firmware_management_protocol, NULL,
++ &var_size, descriptor_version);
++ if (ret != EFI_SUCCESS)
++ return EFI_EXIT(ret);
++
++ if (*descriptor_version != EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION)
++ return EFI_EXIT(EFI_UNSUPPORTED);
++
++ var_size = sizeof(image_info_size_var);
++ ret = efi_get_variable(u"FmpImageInfoSize",
++ &efi_guid_firmware_management_protocol, NULL,
++ &var_size, &image_info_size_var);
++ if (ret != EFI_SUCCESS)
++ return EFI_EXIT(ret);
++
++ if (*image_info_size < image_info_size_var) {
++ *image_info_size = image_info_size_var;
++ return EFI_EXIT(EFI_BUFFER_TOO_SMALL);
++ }
++
++ image_info_name_size_var = image_info_size_var;
++
++ var_size = sizeof(*descriptor_count);
++ ret = efi_get_variable(u"FmpDescriptorCount",
++ &efi_guid_firmware_management_protocol, NULL,
++ &var_size, descriptor_count);
++ if (ret != EFI_SUCCESS) {
++ return EFI_EXIT(ret);
++ }
++
++ ret = efi_get_variable(u"FmpImageInfo",
++ &efi_guid_firmware_management_protocol, NULL,
++ &image_info_size_var, image_info);
++ if (ret != EFI_SUCCESS)
++ return EFI_EXIT(ret);
++
++ runner += image_info_size_var;
++
++ image_info_name_size_var -= image_info_size_var;
++ image_info_version_size_var = image_info_name_size_var;
++
++ /* Consider changing the string modfication logic */
++ fmp_image_name[12] = '0' + (u16)image_info->image_id;
++ ret = efi_get_variable(fmp_image_name,
++ &efi_guid_firmware_management_protocol, NULL,
++ &image_info_name_size_var, runner);
++ if (ret != EFI_SUCCESS)
++ return EFI_EXIT(ret);
++
++ image_info_version_size_var -= image_info_name_size_var;
++ image_info->image_id_name = runner;
++ runner += image_info_name_size_var;
++
++ /* Consider changing the string modfication logic */
++ fmp_version_name[14] = '0' + (u16)image_info->image_id;
++ ret = efi_get_variable(fmp_version_name,
++ &efi_guid_firmware_management_protocol, NULL,
++ &image_info_version_size_var, runner);
++ if (ret != EFI_SUCCESS)
++ return EFI_EXIT(ret);
++
++ image_info->version_name = runner;
++
++ *image_info_size = image_info_size_var;
++
++ *package_version = 0xffffffff; /* not supported */
++ *package_version_name = NULL; /* not supported */
++
++ return EFI_EXIT(ret);
++}
++
++#endif
++
+ const struct efi_firmware_management_protocol efi_fmp_fit = {
++#if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
++ .get_image_info = efi_firmware_corstone1000_get_image_info,
++#else
+ .get_image_info = efi_firmware_get_image_info,
++#endif
+ .get_image = efi_firmware_get_image_unsupported,
+ .set_image = efi_firmware_fit_set_image,
+ .check_image = efi_firmware_check_image_unsupported,
+diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
+index 6c9e14c37e..6ccda175ff 100644
+--- a/lib/efi_loader/efi_setup.c
++++ b/lib/efi_loader/efi_setup.c
+@@ -168,13 +168,6 @@ static efi_status_t efi_init_capsule(void)
+
+ #if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
+ int ffa_ret;
+-
+- ffa_ret = efi_corstone1000_uboot_efi_started_event();
+- if (ffa_ret)
+- debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
+- else
+- debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
+-
+ ret = efi_corstone1000_alloc_capsule_shared_buf();
+ if (ret != EFI_SUCCESS) {
+ printf("EFI: Corstone-1000: cannot allocate caspsule shared buffer\n");
+@@ -306,7 +299,14 @@ efi_status_t efi_init_obj_list(void)
+ if (ret != EFI_SUCCESS)
+ goto out;
+ }
+-
++#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
++ int ffa_ret;
++ ffa_ret = efi_corstone1000_uboot_efi_started_event();
++ if (ffa_ret)
++ debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
++ else
++ debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
++#endif
+ /* Initialize variable services */
+ ret = efi_init_variables();
+ if (ret != EFI_SUCCESS)
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
index 420cee6550..465f034933 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -47,7 +47,8 @@ SRC_URI:append:corstone1000 = " \
file://0027-corstone1000-use-a-compressed-kernel.patch \
file://0028-Introduce-external-sys-driver-to-device-tree.patch \
file://0029-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch \
- "
+ file://0030-arm-corstone1000-esrt-support.patch \
+ "
#
# FVP BASE