Skip to content

Commit

Permalink
Merge pull request #13405 from kaspar030/introduce_riotboot_slot_offset
Browse files Browse the repository at this point in the history
sys/riotboot: provide riotboot_slot_offset()
  • Loading branch information
bergzand committed Feb 20, 2020
2 parents ea3296d + 9ede06f commit 640cbfe
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 2 deletions.
5 changes: 5 additions & 0 deletions sys/include/riotboot/slot.h
Expand Up @@ -93,6 +93,11 @@ static inline void riotboot_slot_print_hdr(unsigned slot)
riotboot_hdr_print(riotboot_slot_get_hdr(slot));
}

/**
* @brief Get the offset (in flash, in bytes) for a given slot.
*/
size_t riotboot_slot_offset(unsigned slot);

/**
* @brief Dump the addresses of all configured slots
*
Expand Down
5 changes: 5 additions & 0 deletions sys/riotboot/slot.c
Expand Up @@ -93,3 +93,8 @@ const riotboot_hdr_t *riotboot_slot_get_hdr(unsigned slot)

return riotboot_slots[slot];
}

size_t riotboot_slot_offset(unsigned slot)
{
return (size_t)riotboot_slot_get_hdr(slot) - CPU_FLASH_BASE;
}
3 changes: 1 addition & 2 deletions sys/suit/v4/handlers.c
Expand Up @@ -85,8 +85,7 @@ static int _cond_comp_offset(suit_v4_manifest_t *manifest, int key, nanocbor_val
(void)key;
uint32_t offset;
nanocbor_get_uint32(it, &offset);
uint32_t other_offset = (uint32_t)riotboot_slot_get_hdr(riotboot_slot_other()) \
- CPU_FLASH_BASE;
uint32_t other_offset = (uint32_t)riotboot_slot_offset(riotboot_slot_other());
LOG_INFO("Comparing manifest offset %u with other slot offset %u\n",
(unsigned)offset, (unsigned)other_offset);
return other_offset == offset ? 0 : -1;
Expand Down

0 comments on commit 640cbfe

Please sign in to comment.