[PATCH v3 11/14] bloblist: Adjust the bloblist header

Ilias Apalodimas ilias.apalodimas at linaro.org
Wed Dec 27 11:17:37 CET 2023


[...]

> - * @chksum: checksum for the entire bloblist allocated area. Since any of the
> - *	blobs can be altered after being created, this checksum is only valid
> - *	when the bloblist is finalised before jumping to the next stage of boot.
> - *	This is the value needed to make all checksummed bytes sum to 0
>   */
>  struct bloblist_hdr {
>  	u32 magic;
> -	u32 version;
> -	u32 hdr_size;
> -	u32 flags;
> -
> -	u32 size;
> +	u8 chksum;
> +	u8 version;
> +	u8 hdr_size;
> +	u8 align_log2;
>  	u32 alloced;
> +	u32 size;
> +	u32 flags;
>  	u32 spare;
> -	u32 chksum;
>  };
>

Aren't fields still missing from the current version?
e.g max_size and reserved?

>  /**
> diff --git a/test/bloblist.c b/test/bloblist.c
> index e6070041d3..a083259d0c 100644
> --- a/test/bloblist.c
> +++ b/test/bloblist.c
> @@ -78,7 +78,7 @@ static int bloblist_test_init(struct unit_test_state *uts)
>  	ut_asserteq(-EPROTONOSUPPORT, bloblist_check(TEST_ADDR,
>  						     TEST_BLOBLIST_SIZE));
>
> -	ut_asserteq(-ENOSPC, bloblist_new(TEST_ADDR, 0x10, 0));
> +	ut_asserteq(-ENOSPC, bloblist_new(TEST_ADDR, 0xc, 0));
>  	ut_asserteq(-EFAULT, bloblist_new(1, TEST_BLOBLIST_SIZE, 0));
>  	ut_assertok(bloblist_new(TEST_ADDR, TEST_BLOBLIST_SIZE, 0));
>
> @@ -272,8 +272,8 @@ static int bloblist_test_cmd_info(struct unit_test_state *uts)
>  	run_command("bloblist info", 0);
>  	ut_assert_nextline("base:     %lx", (ulong)map_to_sysmem(hdr));
>  	ut_assert_nextline("size:     400    1 KiB");
> -	ut_assert_nextline("alloced:  58     88 Bytes");
> -	ut_assert_nextline("free:     3a8    936 Bytes");
> +	ut_assert_nextline("alloced:  50     80 Bytes");
> +	ut_assert_nextline("free:     3b0    944 Bytes");
>  	ut_assert_console_end();
>  	ut_unsilence_console(uts);
>
> --
> 2.25.1
>


More information about the U-Boot mailing list