Add flash_area_read_is_empty to sim
Signed-off-by: Fabio Utzig <utzig@apache.org>
diff --git a/sim/mcuboot-sys/csupport/run.c b/sim/mcuboot-sys/csupport/run.c
index 8238b39..17a10f1 100644
--- a/sim/mcuboot-sys/csupport/run.c
+++ b/sim/mcuboot-sys/csupport/run.c
@@ -200,6 +200,29 @@
len);
}
+int flash_area_read_is_empty(const struct flash_area *area, uint32_t off,
+ void *dst, uint32_t len)
+{
+ uint8_t i;
+ uint8_t *u8dst;
+ int rc;
+
+ BOOT_LOG_DBG("%s: area=%d, off=%x, len=%x", __func__, area->fa_id, off, len);
+
+ rc = hal_flash_read(area->fa_device_id, area->fa_off + off, dst, len);
+ if (rc) {
+ return -1;
+ }
+
+ for (i = 0, u8dst = (uint8_t *)dst; i < len; i++) {
+ if (u8dst[i] != sim_flash_erased_val) {
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
int flash_area_to_sectors(int idx, int *cnt, struct flash_area *ret)
{
uint32_t i;