diff mbox series

[RFC,u-boot-mvebu,40/59] tools: kwbimage: Print image data offset when printing kwbimage header

Message ID 20230221201925.9644-41-pali@kernel.org
State Accepted
Commit 443894a8215102873b9b653503dc9af79b50247e
Delegated to: Stefan Roese
Headers show
Series arm: mvebu: Various fixes | expand

Commit Message

Pali Rohár Feb. 21, 2023, 8:19 p.m. UTC
For all images except SATA is data offset in bytes. For SATA it is in LBA
format (number of sectors). This is how Marvell BootROM interprets it.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
 tools/kwbimage.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index a5de9855aa56..5f62ed159c4b 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -1929,6 +1929,12 @@  static void kwbimage_print_header(const void *ptr)
 
 	printf("Data Size:    ");
 	genimg_print_size(le32_to_cpu(mhdr->blocksize) - sizeof(uint32_t));
+	printf("Data Offset:  ");
+	if (mhdr->blockid == IBR_HDR_SATA_ID)
+		printf("%u Sector%s (LBA)\n", le32_to_cpu(mhdr->srcaddr),
+		       le32_to_cpu(mhdr->srcaddr) != 1 ? "s" : "");
+	else
+		genimg_print_size(le32_to_cpu(mhdr->srcaddr));
 	printf("Load Address: %08x\n", le32_to_cpu(mhdr->destaddr));
 	printf("Entry Point:  %08x\n", le32_to_cpu(mhdr->execaddr));
 }