u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Sughosh Ganu <sughosh.ganu@linaro.org>
Cc: u-boot@lists.denx.de, Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Takahiro Akashi <takahiro.akashi@linaro.org>,
	Patrick Delaunay <patrick.delaunay@foss.st.com>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Simon Glass <sjg@chromium.org>, Bin Meng <bmeng.cn@gmail.com>,
	Tom Rini <trini@konsulko.com>,
	Etienne Carriere <etienne.carriere@linaro.org>,
	Michal Simek <monstr@monstr.eu>,
	Jassi Brar <jaswinder.singh@linaro.org>
Subject: Re: [PATCH v9 12/15] test: dm: Add test cases for FWU Metadata uclass
Date: Sun, 4 Sep 2022 10:10:24 +0300	[thread overview]
Message-ID: <YxRPYJzJezi3sy3P@hera> (raw)
In-Reply-To: <20220826095716.1676150-13-sughosh.ganu@linaro.org>

On Fri, Aug 26, 2022 at 03:27:13PM +0530, Sughosh Ganu wrote:
> Add test cases for accessing the FWU Metadata on the sandbox
> platform. The sandbox platform also uses the metadata access driver
> for GPT partitioned block devices.
> 
> The FWU feature will be tested on the sandbox64 variant with a raw
> capsule. Remove the FIT capsule testing from sandbox64 defconfig --
> the FIT capsule test will be run on the sandbox_flattree variant.
> 
> Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
> Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
> Changes since V8: New patch
> 
>  arch/sandbox/Kconfig                          |   6 +
>  arch/sandbox/dts/test.dts                     |   7 +-
>  board/sandbox/sandbox.c                       |  10 ++
>  configs/sandbox64_defconfig                   |   5 +-
>  lib/fwu_updates/fwu.c                         |   6 +
>  test/dm/Makefile                              |   1 +
>  test/dm/fwu_mdata.c                           | 149 ++++++++++++++++++
>  test/dm/fwu_mdata_disk_image.h                | 112 +++++++++++++
>  .../test_capsule_firmware_fit.py              |   1 -
>  .../test_capsule_firmware_signed_fit.py       |   1 -
>  tools/Makefile                                |   2 +-
>  11 files changed, 295 insertions(+), 5 deletions(-)
>  create mode 100644 test/dm/fwu_mdata.c
>  create mode 100644 test/dm/fwu_mdata_disk_image.h
> 
> diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig
> index 852a7c8bf2..40cdea7d46 100644
> --- a/arch/sandbox/Kconfig
> +++ b/arch/sandbox/Kconfig
> @@ -84,3 +84,9 @@ config SYS_FDT_LOAD_ADDR
>  	  See `doc/arch/sandbox.rst` for more information.
>  
>  endmenu
> +
> +config FWU_NUM_BANKS
> +	default 2
> +
> +config FWU_NUM_IMAGES_PER_BANK
> +	default 2
> diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
> index 2761588f0d..2cba13e98d 100644
> --- a/arch/sandbox/dts/test.dts
> +++ b/arch/sandbox/dts/test.dts
> @@ -948,7 +948,7 @@
>  	};
>  
>  	/* This is used for the fastboot tests */
> -	mmc0 {
> +	mmc0: mmc0 {
>  		compatible = "sandbox,mmc";
>  	};
>  
> @@ -1683,6 +1683,11 @@
>  			compatible = "sandbox,regmap_test";
>  		};
>  	};
> +
> +	fwu-mdata {
> +		compatible = "u-boot,fwu-mdata-gpt";
> +		fwu-mdata-store = <&mmc0>;
> +	};
>  };
>  
>  #include "sandbox_pmic.dtsi"
> diff --git a/board/sandbox/sandbox.c b/board/sandbox/sandbox.c
> index ca9a2ca5b1..76170f4cc8 100644
> --- a/board/sandbox/sandbox.c
> +++ b/board/sandbox/sandbox.c
> @@ -164,3 +164,13 @@ int init_addr_map(void)
>  
>  	return 0;
>  }
> +
> +#if defined(CONFIG_FWU_MULTI_BANK_UPDATE)
> +void fwu_plat_get_bootidx(void *boot_idx)
> +{
> +	u32 *idx = boot_idx;
> +
> +	/* Dummy value */
> +	*idx = 0;
> +}
> +#endif
> diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
> index 290d1506c2..8d456e33d9 100644
> --- a/configs/sandbox64_defconfig
> +++ b/configs/sandbox64_defconfig
> @@ -242,9 +242,12 @@ CONFIG_LZ4=y
>  CONFIG_ERRNO_STR=y
>  CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
>  CONFIG_EFI_CAPSULE_ON_DISK=y
> -CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
> +CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
>  CONFIG_EFI_SECURE_BOOT=y
>  CONFIG_TEST_FDTDEC=y
>  CONFIG_UNIT_TEST=y
>  CONFIG_UT_TIME=y
>  CONFIG_UT_DM=y
> +CONFIG_FWU_MDATA=y
> +CONFIG_FWU_MDATA_GPT_BLK=y
> +CONFIG_FWU_MULTI_BANK_UPDATE=y
> diff --git a/lib/fwu_updates/fwu.c b/lib/fwu_updates/fwu.c
> index de2412785d..1fb6feabfd 100644
> --- a/lib/fwu_updates/fwu.c
> +++ b/lib/fwu_updates/fwu.c
> @@ -542,6 +542,12 @@ static int fwu_boottime_checks(void *ctx, struct event *event)
>  	struct udevice *dev;
>  	u32 boot_idx, active_idx;
>  
> +	/* Don't have boot time checks on sandbox */
> +	if (IS_ENABLED(CONFIG_SANDBOX)) {
> +		boottime_check = 1;
> +		return 0;
> +	}
> +
>  	ret = fwu_get_dev(&dev);
>  	if (ret)
>  		return ret;
> diff --git a/test/dm/Makefile b/test/dm/Makefile
> index 52fe178a82..61837703e8 100644
> --- a/test/dm/Makefile
> +++ b/test/dm/Makefile
> @@ -47,6 +47,7 @@ ifneq ($(CONFIG_EFI_PARTITION),)
>  obj-$(CONFIG_FASTBOOT_FLASH_MMC) += fastboot.o
>  endif
>  obj-$(CONFIG_FIRMWARE) += firmware.o
> +obj-$(CONFIG_FWU_MDATA_GPT_BLK) += fwu_mdata.o
>  obj-$(CONFIG_DM_HWSPINLOCK) += hwspinlock.o
>  obj-$(CONFIG_DM_I2C) += i2c.o
>  obj-$(CONFIG_SOUND) += i2s.o
> diff --git a/test/dm/fwu_mdata.c b/test/dm/fwu_mdata.c
> new file mode 100644
> index 0000000000..8120af334e
> --- /dev/null
> +++ b/test/dm/fwu_mdata.c
> @@ -0,0 +1,149 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (c) 2022, Linaro Limited
> + * Copyright (c) 2022, Heinrich Schuchardt <xypron.glpk@gmx.de>
> + */
> +
> +#include <blk.h>
> +#include <common.h>
> +#include <dm.h>
> +#include <fwu.h>
> +#include <fwu_mdata.h>
> +#include <log.h>
> +#include <malloc.h>
> +#include <memalign.h>
> +#include <part.h>
> +
> +#include <dm/test.h>
> +#include <test/ut.h>
> +
> +#include "fwu_mdata_disk_image.h"
> +
> +/* Block size of compressed disk image */
> +#define COMPRESSED_DISK_IMAGE_BLOCK_SIZE 8
> +
> +static struct udevice *mmc_dev;
> +static struct blk_desc *dev_desc;
> +
> +/* One 8 byte block of the compressed disk image */
> +struct line {
> +	size_t addr;
> +	char *line;
> +};
> +
> +/* Compressed disk image */
> +struct compressed_disk_image {
> +	size_t length;
> +	struct line lines[];
> +};
> +
> +static const struct compressed_disk_image img = FWU_MDATA_DISK_IMG;
> +
> +/* Decompressed disk image */
> +static u8 *image;
> +
> +static int setup_blk_device(struct unit_test_state *uts)
> +{
> +	ut_assertok(uclass_get_device(UCLASS_MMC, 0, &mmc_dev));
> +	ut_assertok(blk_get_device_by_str("mmc", "0", &dev_desc));
> +
> +	return 0;
> +}
> +
> +static int populate_mmc_disk_image(struct unit_test_state *uts)
> +{
> +	u8 *buf;
> +	size_t i;
> +	size_t addr;
> +	size_t len;
> +
> +	buf = malloc(img.length);
> +	if (!buf)
> +		return -ENOMEM;
> +
> +	memset(buf, 0, img.length);
> +
> +	for (i = 0; ; i++) {
> +		if (!img.lines[i].line)
> +			break;
> +		addr = img.lines[i].addr;
> +		len = COMPRESSED_DISK_IMAGE_BLOCK_SIZE;
> +		if (addr + len > img.length)
> +			len = img.length - addr;
> +		memcpy(buf + addr, img.lines[i].line, len);
> +	}
> +	image = buf;
> +
> +	return 0;
> +}
> +
> +static int write_mmc_blk_device(struct unit_test_state *uts)
> +{
> +	lbaint_t blkcnt;
> +
> +	blkcnt = BLOCK_CNT(img.length, dev_desc);
> +
> +	ut_asserteq(blkcnt, blk_dwrite(dev_desc, 0, blkcnt, image));
> +
> +	return 0;
> +}
> +
> +static int dm_test_fwu_mdata_read(struct unit_test_state *uts)
> +{
> +	struct udevice *dev;
> +	struct fwu_mdata mdata = { 0 };
> +
> +	ut_assertok(uclass_first_device(UCLASS_FWU_MDATA, &dev));
> +	ut_assertok(setup_blk_device(uts));
> +	ut_assertok(populate_mmc_disk_image(uts));
> +	ut_assertok(write_mmc_blk_device(uts));
> +
> +	ut_assertok(fwu_get_mdata(dev, &mdata));
> +
> +	ut_asserteq(mdata.version, 0x1);
> +
> +	return 0;
> +}
> +DM_TEST(dm_test_fwu_mdata_read, UT_TESTF_SCAN_FDT);
> +
> +static int dm_test_fwu_mdata_write(struct unit_test_state *uts)
> +{
> +	u32 active_idx;
> +	struct udevice *dev;
> +	struct fwu_mdata mdata = { 0 };
> +
> +	ut_assertok(setup_blk_device(uts));
> +	ut_assertok(populate_mmc_disk_image(uts));
> +	ut_assertok(write_mmc_blk_device(uts));
> +
> +	ut_assertok(uclass_first_device(UCLASS_FWU_MDATA, &dev));
> +	ut_assertnonnull(dev);
> +
> +	ut_assertok(fwu_get_mdata(dev, &mdata));
> +
> +	active_idx = (mdata.active_index + 1) % CONFIG_FWU_NUM_BANKS;
> +	ut_assertok(fwu_update_active_index(active_idx));
> +
> +	ut_assertok(fwu_get_mdata(dev, &mdata));
> +	ut_asserteq(mdata.active_index, active_idx);
> +
> +	return 0;
> +}
> +DM_TEST(dm_test_fwu_mdata_write, UT_TESTF_SCAN_FDT);
> +
> +static int dm_test_fwu_mdata_check(struct unit_test_state *uts)
> +{
> +	struct udevice *dev;
> +
> +	ut_assertok(setup_blk_device(uts));
> +	ut_assertok(populate_mmc_disk_image(uts));
> +	ut_assertok(write_mmc_blk_device(uts));
> +
> +	ut_assertok(uclass_first_device(UCLASS_FWU_MDATA, &dev));
> +	ut_assertnonnull(dev);
> +
> +	ut_assertok(fwu_mdata_check(dev));
> +
> +	return 0;
> +}
> +DM_TEST(dm_test_fwu_mdata_check, UT_TESTF_SCAN_FDT);
> diff --git a/test/dm/fwu_mdata_disk_image.h b/test/dm/fwu_mdata_disk_image.h
> new file mode 100644
> index 0000000000..b9803417c8
> --- /dev/null
> +++ b/test/dm/fwu_mdata_disk_image.h
> @@ -0,0 +1,112 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + *  Non-zero 8 byte strings of a disk image
> + *
> + *  Generated with tools/file2include
> + */
> +
> +#define FWU_MDATA_DISK_IMG { 0x00010000, { \
> +	{0x000001c0, "\x02\x00\xee\x02\x02\x00\x01\x00"}, /* ........ */ \
> +	{0x000001c8, "\x00\x00\x7f\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x000001f8, "\x00\x00\x00\x00\x00\x00\x55\xaa"}, /* ......U. */ \
> +	{0x00000200, "\x45\x46\x49\x20\x50\x41\x52\x54"}, /* EFI PART */ \
> +	{0x00000208, "\x00\x00\x01\x00\x5c\x00\x00\x00"}, /* ....\... */ \
> +	{0x00000210, "\xa6\xf6\x92\x20\x00\x00\x00\x00"}, /* ... .... */ \
> +	{0x00000218, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00000220, "\x7f\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00000228, "\x22\x00\x00\x00\x00\x00\x00\x00"}, /* "....... */ \
> +	{0x00000230, "\x5e\x00\x00\x00\x00\x00\x00\x00"}, /* ^....... */ \
> +	{0x00000238, "\xde\x99\xa2\x7e\x46\x34\xeb\x47"}, /* ...~F4.G */ \
> +	{0x00000240, "\x87\xf6\x4f\x75\xe8\xd5\x7d\xc7"}, /* ..Ou..}. */ \
> +	{0x00000248, "\x02\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00000250, "\x80\x00\x00\x00\x80\x00\x00\x00"}, /* ........ */ \
> +	{0x00000258, "\x2a\x64\x03\x83\x00\x00\x00\x00"}, /* .d...... */ \
> +	{0x00000400, "\xa0\x84\x7a\x8a\x87\x83\xf6\x40"}, /* ..z....@ */ \
> +	{0x00000408, "\xab\x41\xa8\xb9\xa5\xa6\x0d\x23"}, /* .A.....# */ \
> +	{0x00000410, "\x3d\x6c\xb9\xaa\x20\xb2\x18\x4c"}, /* =l.. ..L */ \
> +	{0x00000418, "\xbc\x87\x1c\x9f\xe0\x35\x9b\x73"}, /* .....5.s */ \
> +	{0x00000420, "\x22\x00\x00\x00\x00\x00\x00\x00"}, /* "....... */ \
> +	{0x00000428, "\x31\x00\x00\x00\x00\x00\x00\x00"}, /* 1....... */ \
> +	{0x00000438, "\x55\x00\x6e\x00\x6b\x00\x6e\x00"}, /* U.n.k.n. */ \
> +	{0x00000440, "\x6f\x00\x77\x00\x6e\x00\x00\x00"}, /* o.w.n... */ \
> +	{0x00000480, "\xa0\x84\x7a\x8a\x87\x83\xf6\x40"}, /* ..z....@ */ \
> +	{0x00000488, "\xab\x41\xa8\xb9\xa5\xa6\x0d\x23"}, /* .A.....# */ \
> +	{0x00000490, "\x57\x24\xf6\xe6\x0b\x6f\x66\x4e"}, /* W$...ofN */ \
> +	{0x00000498, "\xb3\xd5\x99\x50\xa5\xc6\x4e\xc1"}, /* ...P..N. */ \
> +	{0x000004a0, "\x32\x00\x00\x00\x00\x00\x00\x00"}, /* 2....... */ \
> +	{0x000004a8, "\x41\x00\x00\x00\x00\x00\x00\x00"}, /* A....... */ \
> +	{0x000004b8, "\x55\x00\x6e\x00\x6b\x00\x6e\x00"}, /* U.n.k.n. */ \
> +	{0x000004c0, "\x6f\x00\x77\x00\x6e\x00\x00\x00"}, /* o.w.n... */ \
> +	{0x00004400, "\x4e\xd5\x3f\x43\x01\x00\x00\x00"}, /* N.?C.... */ \
> +	{0x00004408, "\x00\x00\x00\x00\x01\x00\x00\x00"}, /* ........ */ \
> +	{0x00004410, "\x52\xcf\xd7\x09\x20\x07\x10\x47"}, /* R... ..G */ \
> +	{0x00004418, "\x91\xd1\x08\x46\x9b\x7f\xe9\xc8"}, /* ...F.... */ \
> +	{0x00004420, "\xeb\x2b\x27\x49\xd8\x8d\xdf\x46"}, /* .+'I...F */ \
> +	{0x00004428, "\x8d\x75\x35\x6c\x65\xef\xf4\x17"}, /* .u5le... */ \
> +	{0x00004430, "\x86\x7a\x05\x10\xf1\xda\x93\x4f"}, /* .z.....O */ \
> +	{0x00004438, "\xba\x7f\xb1\x95\xf7\xfa\x41\x70"}, /* ......Ap */ \
> +	{0x00004440, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00004448, "\x3e\xed\x62\xdb\x37\x62\xb4\x4f"}, /* >.b.7b.O */ \
> +	{0x00004450, "\x80\xc4\x1b\x74\xd8\x46\xa8\xe7"}, /* ...t.F.. */ \
> +	{0x00004458, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00004460, "\xf5\x21\x70\x5a\xf2\xfe\xb4\x48"}, /* .!pZ...H */ \
> +	{0x00004468, "\xaa\xba\x83\x2e\x77\x74\x18\xc0"}, /* ....wt.. */ \
> +	{0x00004470, "\xeb\x2b\x27\x49\xd8\x8d\xdf\x46"}, /* .+'I...F */ \
> +	{0x00004478, "\x8d\x75\x35\x6c\x65\xef\xf4\x17"}, /* .u5le... */ \
> +	{0x00004480, "\x3b\x0e\xd2\x0b\x9f\xab\x86\x49"}, /* ;......I */ \
> +	{0x00004488, "\xb7\x90\x8d\xf3\x9c\x9c\xa3\x82"}, /* ........ */ \
> +	{0x00004490, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00004498, "\x6d\xe4\x25\x0e\x15\xb6\xd3\x4c"}, /* m.%....L */ \
> +	{0x000044a0, "\x94\xda\x51\x79\x8f\xb1\x9e\xb1"}, /* ..Qy.... */ \
> +	{0x000044a8, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00006400, "\x4e\xd5\x3f\x43\x01\x00\x00\x00"}, /* N.?C.... */ \
> +	{0x00006408, "\x00\x00\x00\x00\x01\x00\x00\x00"}, /* ........ */ \
> +	{0x00006410, "\x52\xcf\xd7\x09\x20\x07\x10\x47"}, /* R... ..G */ \
> +	{0x00006418, "\x91\xd1\x08\x46\x9b\x7f\xe9\xc8"}, /* ...F.... */ \
> +	{0x00006420, "\xeb\x2b\x27\x49\xd8\x8d\xdf\x46"}, /* .+'I...F */ \
> +	{0x00006428, "\x8d\x75\x35\x6c\x65\xef\xf4\x17"}, /* .u5le... */ \
> +	{0x00006430, "\x86\x7a\x05\x10\xf1\xda\x93\x4f"}, /* .z.....O */ \
> +	{0x00006438, "\xba\x7f\xb1\x95\xf7\xfa\x41\x70"}, /* ......Ap */ \
> +	{0x00006440, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00006448, "\x3e\xed\x62\xdb\x37\x62\xb4\x4f"}, /* >.b.7b.O */ \
> +	{0x00006450, "\x80\xc4\x1b\x74\xd8\x46\xa8\xe7"}, /* ...t.F.. */ \
> +	{0x00006458, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00006460, "\xf5\x21\x70\x5a\xf2\xfe\xb4\x48"}, /* .!pZ...H */ \
> +	{0x00006468, "\xaa\xba\x83\x2e\x77\x74\x18\xc0"}, /* ....wt.. */ \
> +	{0x00006470, "\xeb\x2b\x27\x49\xd8\x8d\xdf\x46"}, /* .+'I...F */ \
> +	{0x00006478, "\x8d\x75\x35\x6c\x65\xef\xf4\x17"}, /* .u5le... */ \
> +	{0x00006480, "\x3b\x0e\xd2\x0b\x9f\xab\x86\x49"}, /* ;......I */ \
> +	{0x00006488, "\xb7\x90\x8d\xf3\x9c\x9c\xa3\x82"}, /* ........ */ \
> +	{0x00006490, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x00006498, "\x6d\xe4\x25\x0e\x15\xb6\xd3\x4c"}, /* m.%....L */ \
> +	{0x000064a0, "\x94\xda\x51\x79\x8f\xb1\x9e\xb1"}, /* ..Qy.... */ \
> +	{0x000064a8, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x0000be00, "\xa0\x84\x7a\x8a\x87\x83\xf6\x40"}, /* ..z....@ */ \
> +	{0x0000be08, "\xab\x41\xa8\xb9\xa5\xa6\x0d\x23"}, /* .A.....# */ \
> +	{0x0000be10, "\x3d\x6c\xb9\xaa\x20\xb2\x18\x4c"}, /* =l.. ..L */ \
> +	{0x0000be18, "\xbc\x87\x1c\x9f\xe0\x35\x9b\x73"}, /* .....5.s */ \
> +	{0x0000be20, "\x22\x00\x00\x00\x00\x00\x00\x00"}, /* "....... */ \
> +	{0x0000be28, "\x31\x00\x00\x00\x00\x00\x00\x00"}, /* 1....... */ \
> +	{0x0000be38, "\x55\x00\x6e\x00\x6b\x00\x6e\x00"}, /* U.n.k.n. */ \
> +	{0x0000be40, "\x6f\x00\x77\x00\x6e\x00\x00\x00"}, /* o.w.n... */ \
> +	{0x0000be80, "\xa0\x84\x7a\x8a\x87\x83\xf6\x40"}, /* ..z....@ */ \
> +	{0x0000be88, "\xab\x41\xa8\xb9\xa5\xa6\x0d\x23"}, /* .A.....# */ \
> +	{0x0000be90, "\x57\x24\xf6\xe6\x0b\x6f\x66\x4e"}, /* W$...ofN */ \
> +	{0x0000be98, "\xb3\xd5\x99\x50\xa5\xc6\x4e\xc1"}, /* ...P..N. */ \
> +	{0x0000bea0, "\x32\x00\x00\x00\x00\x00\x00\x00"}, /* 2....... */ \
> +	{0x0000bea8, "\x41\x00\x00\x00\x00\x00\x00\x00"}, /* A....... */ \
> +	{0x0000beb8, "\x55\x00\x6e\x00\x6b\x00\x6e\x00"}, /* U.n.k.n. */ \
> +	{0x0000bec0, "\x6f\x00\x77\x00\x6e\x00\x00\x00"}, /* o.w.n... */ \
> +	{0x0000fe00, "\x45\x46\x49\x20\x50\x41\x52\x54"}, /* EFI PART */ \
> +	{0x0000fe08, "\x00\x00\x01\x00\x5c\x00\x00\x00"}, /* ....\... */ \
> +	{0x0000fe10, "\xa2\xce\x23\xfc\x00\x00\x00\x00"}, /* ..#..... */ \
> +	{0x0000fe18, "\x7f\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x0000fe20, "\x01\x00\x00\x00\x00\x00\x00\x00"}, /* ........ */ \
> +	{0x0000fe28, "\x22\x00\x00\x00\x00\x00\x00\x00"}, /* "....... */ \
> +	{0x0000fe30, "\x5e\x00\x00\x00\x00\x00\x00\x00"}, /* ^....... */ \
> +	{0x0000fe38, "\xde\x99\xa2\x7e\x46\x34\xeb\x47"}, /* ...~F4.G */ \
> +	{0x0000fe40, "\x87\xf6\x4f\x75\xe8\xd5\x7d\xc7"}, /* ..Ou..}. */ \
> +	{0x0000fe48, "\x5f\x00\x00\x00\x00\x00\x00\x00"}, /* _....... */ \
> +	{0x0000fe50, "\x80\x00\x00\x00\x80\x00\x00\x00"}, /* ........ */ \
> +	{0x0000fe58, "\x2a\x64\x03\x83\x00\x00\x00\x00"}, /* .d...... */ \
> +	{0, NULL} } }
> diff --git a/test/py/tests/test_efi_capsule/test_capsule_firmware_fit.py b/test/py/tests/test_efi_capsule/test_capsule_firmware_fit.py
> index 8f75b554ad..d28b53a1a1 100644
> --- a/test/py/tests/test_efi_capsule/test_capsule_firmware_fit.py
> +++ b/test/py/tests/test_efi_capsule/test_capsule_firmware_fit.py
> @@ -13,7 +13,6 @@ import pytest
>  from capsule_defs import *
>  
>  
> -@pytest.mark.boardspec('sandbox64')
>  @pytest.mark.boardspec('sandbox_flattree')
>  @pytest.mark.buildconfigspec('efi_capsule_firmware_fit')
>  @pytest.mark.buildconfigspec('efi_capsule_on_disk')
> diff --git a/test/py/tests/test_efi_capsule/test_capsule_firmware_signed_fit.py b/test/py/tests/test_efi_capsule/test_capsule_firmware_signed_fit.py
> index d6ca9b1674..8c2d616fd0 100644
> --- a/test/py/tests/test_efi_capsule/test_capsule_firmware_signed_fit.py
> +++ b/test/py/tests/test_efi_capsule/test_capsule_firmware_signed_fit.py
> @@ -14,7 +14,6 @@ with signed capsule files containing FIT images
>  import pytest
>  from capsule_defs import CAPSULE_DATA_DIR, CAPSULE_INSTALL_DIR
>  
> -@pytest.mark.boardspec('sandbox64')
>  @pytest.mark.boardspec('sandbox_flattree')
>  @pytest.mark.buildconfigspec('efi_capsule_firmware_fit')
>  @pytest.mark.buildconfigspec('efi_capsule_authenticate')
> diff --git a/tools/Makefile b/tools/Makefile
> index 3626919633..c479d3cb4c 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -74,7 +74,7 @@ mkenvimage-objs := mkenvimage.o os_support.o lib/crc32.o
>  hostprogs-y += dumpimage mkimage
>  hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fit_info fit_check_sign
>  
> -hostprogs-$(CONFIG_CMD_BOOTEFI_SELFTEST) += file2include
> +hostprogs-$(CONFIG_CMD_BOOTEFI_SELFTEST)$(CONFIG_FWU_MDATA_GPT_BLK) += file2include
>  
>  FIT_OBJS-y := fit_common.o fit_image.o image-host.o boot/image-fit.o
>  FIT_SIG_OBJS-$(CONFIG_TOOLS_LIBCRYPTO) := image-sig-host.o boot/image-fit-sig.o
> -- 
> 2.34.1
> 

Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>

  reply	other threads:[~2022-09-04  7:10 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-26  9:57 [PATCH v9 00/15] FWU: Add FWU Multi Bank Update feature support Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 01/15] dt/bindings: Add bindings for GPT based FWU Metadata storage device Sughosh Ganu
2022-09-04  7:09   ` Ilias Apalodimas
2022-09-06  7:35   ` Etienne Carriere
2022-08-26  9:57 ` [PATCH v9 02/15] FWU: Add FWU metadata structure and driver for accessing metadata Sughosh Ganu
2022-09-06  7:36   ` Etienne Carriere
2022-09-07  6:45   ` Ilias Apalodimas
2022-09-07 11:02     ` Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 03/15] FWU: Add FWU metadata access driver for GPT partitioned block devices Sughosh Ganu
2022-09-06  7:01   ` Etienne Carriere
2022-09-06  7:12     ` Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 04/15] stm32mp1: dk2: Add a node for the FWU metadata device Sughosh Ganu
2022-09-06  7:37   ` Etienne Carriere
2022-08-26  9:57 ` [PATCH v9 05/15] stm32mp1: dk2: Add image information for capsule updates Sughosh Ganu
2022-09-04  7:11   ` Ilias Apalodimas
2022-09-05 19:18   ` Etienne Carriere
2022-09-06  7:08     ` Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 06/15] FWU: Add helper functions for accessing FWU metadata Sughosh Ganu
2022-09-06  7:39   ` Etienne Carriere
2022-09-07  5:59   ` Ilias Apalodimas
2022-09-07 11:05     ` Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 07/15] FWU: STM32MP1: Add support to read boot index from backup register Sughosh Ganu
2022-09-06  7:27   ` Etienne Carriere
2022-09-06  7:37     ` Sughosh Ganu
2022-09-06  7:44       ` Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 08/15] event: Add an event for main_loop Sughosh Ganu
2022-08-27  0:20   ` Simon Glass
2022-08-26  9:57 ` [PATCH v9 09/15] FWU: Add boot time checks as highlighted by the FWU specification Sughosh Ganu
2022-09-06  6:58   ` Etienne Carriere
2022-09-06  7:01   ` Etienne Carriere
2022-09-06  7:11     ` Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 10/15] FWU: Add support for the FWU Multi Bank Update feature Sughosh Ganu
2022-09-07 13:34   ` Ilias Apalodimas
2022-09-08  2:15   ` Takahiro Akashi
2022-09-08  6:34     ` Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 11/15] FWU: cmd: Add a command to read FWU metadata Sughosh Ganu
2022-09-06  7:59   ` Etienne Carriere
2022-08-26  9:57 ` [PATCH v9 12/15] test: dm: Add test cases for FWU Metadata uclass Sughosh Ganu
2022-09-04  7:10   ` Ilias Apalodimas [this message]
2022-08-26  9:57 ` [PATCH v9 13/15] mkeficapsule: Add support for generating empty capsules Sughosh Ganu
2022-09-22 13:26   ` Ilias Apalodimas
2022-08-26  9:57 ` [PATCH v9 14/15] mkeficapsule: Add support for setting OEM flags in capsule header Sughosh Ganu
2022-08-26  9:57 ` [PATCH v9 15/15] FWU: doc: Add documentation for the FWU feature Sughosh Ganu

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=YxRPYJzJezi3sy3P@hera \
    --to=ilias.apalodimas@linaro.org \
    --cc=bmeng.cn@gmail.com \
    --cc=etienne.carriere@linaro.org \
    --cc=jaswinder.singh@linaro.org \
    --cc=monstr@monstr.eu \
    --cc=patrice.chotard@foss.st.com \
    --cc=patrick.delaunay@foss.st.com \
    --cc=sjg@chromium.org \
    --cc=sughosh.ganu@linaro.org \
    --cc=takahiro.akashi@linaro.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.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;
as well as URLs for NNTP newsgroup(s).