]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
tools: zynqmpimage: print all partition sizes
authorBrandon Maier <brandon.maier@collins.com>
Thu, 4 Jan 2024 18:50:07 +0000 (18:50 +0000)
committerMichal Simek <michal.simek@amd.com>
Wed, 10 Jan 2024 08:27:12 +0000 (09:27 +0100)
Two of the partition size fields are not printed. Currently only the
"total" size is displayed, which is the size of the image data
(encrypted), padding, expansion, and authentication data. Add the
"unencrypted data" size, which is the original size of the data before
being encrypted. And "encrypted data" size, which is just the encrypted
data.

To avoid printing useless information, only print the encrypted and
unencrypted sizes if they are different from the total.

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Link: https://lore.kernel.org/r/20240104185258.39465-2-brandon.maier@collins.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
tools/zynqmpimage.c

index 05af1e81a2451ad5b57543f71fe5c1a740ef0d7f..2795a2b9a778f616bceb0a2f70a6286a20ad8df1 100644 (file)
@@ -139,6 +139,8 @@ static void print_partition(const void *ptr, const struct partition_header *ph)
 {
        uint32_t attr = le32_to_cpu(ph->attributes);
        unsigned long len = le32_to_cpu(ph->len) * 4;
+       unsigned long len_enc = le32_to_cpu(ph->len_enc) * 4;
+       unsigned long len_unenc = le32_to_cpu(ph->len_unenc) * 4;
        const char *part_owner;
        const char *dest_devs[0x8] = {
                "none", "PS", "PL", "PMU", "unknown", "unknown", "unknown",
@@ -163,6 +165,10 @@ static void print_partition(const void *ptr, const struct partition_header *ph)
 
        printf("    Offset     : 0x%08x\n", le32_to_cpu(ph->offset) * 4);
        printf("    Size       : %lu (0x%lx) bytes\n", len, len);
+       if (len != len_unenc)
+               printf("    Size Data  : %lu (0x%lx) bytes\n", len_unenc, len_unenc);
+       if (len_unenc != len_enc)
+               printf("    Size Enc   : %lu (0x%lx) bytes\n", len_unenc, len_unenc);
        printf("    Load       : 0x%08llx",
               (unsigned long long)le64_to_cpu(ph->load_address));
        if (ph->load_address != ph->entry_point)