diff options
| author | Pali Rohár <[email protected]> | 2022-02-13 01:04:33 +0100 |
|---|---|---|
| committer | Stefan Roese <[email protected]> | 2022-02-17 14:17:07 +0100 |
| commit | a2389213f2877967d2108dee61b86327048d0e18 (patch) | |
| tree | fff0eb0ee28bf157b72ac40ca1a77f29445926d7 /tools | |
| parent | 2a9059aef5e07baadf6a003c884bdb6056728783 (diff) | |
tools: kwbimage: Fix dumping DATA registers for v0 images
End of DATA register section is indicated by zero value in both raddr and
rdata.
So do not stop dumping registers with non-zero address and zero value.
And also print end of DATA registers section.
Fixes: 1a8e6b63e24f ("tools: kwbimage: Dump kwbimage config file on '-p -1' option")
Signed-off-by: Pali Rohár <[email protected]>
Reported-by: Tony Dinh <[email protected]>
Tested-by: Tony Dinh <[email protected]>
Reviewed-by: Stefan Roese <[email protected]>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/kwbimage.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/kwbimage.c b/tools/kwbimage.c index 9b63ce80ff4..99d38cd1cfb 100644 --- a/tools/kwbimage.c +++ b/tools/kwbimage.c @@ -2226,11 +2226,13 @@ static int kwbimage_generate_config(void *ptr, struct image_tool_params *params) ehdr0 = (struct ext_hdr_v0 *)(mhdr0 + 1); if (ehdr0->offset) { for (regdata = (struct ext_hdr_v0_reg *)((uint8_t *)ptr + ehdr0->offset); - (uint8_t *)regdata < (uint8_t *)ptr + header_size && regdata->raddr && - regdata->rdata; + (uint8_t *)regdata < (uint8_t *)ptr + header_size && + (regdata->raddr || regdata->rdata); regdata++) fprintf(f, "DATA 0x%08x 0x%08x\n", le32_to_cpu(regdata->raddr), le32_to_cpu(regdata->rdata)); + if ((uint8_t *)regdata != (uint8_t *)ptr + ehdr0->offset) + fprintf(f, "DATA 0x0 0x0\n"); } } |
