summaryrefslogtreecommitdiffstats
path: root/flashrom.c
diff options
context:
space:
mode:
authorDaniel Campello <campello@chromium.org>2021-04-16 15:26:42 -0600
committerEdward O'Callaghan <quasisec@chromium.org>2021-05-02 23:45:43 +0000
commitce983bccaab450d358854494f15c2d8a1846d56b (patch)
tree79d41a980587c2a1ebe40b65f837edd16232d387 /flashrom.c
parent0969e43b3fae48c90aaf1df284560f6b76f84efd (diff)
downloadflashrom-ce983bccaab450d358854494f15c2d8a1846d56b.tar.gz
flashrom-ce983bccaab450d358854494f15c2d8a1846d56b.tar.bz2
flashrom-ce983bccaab450d358854494f15c2d8a1846d56b.zip
cli_classic.c: add -x option for do_extract()
This change introduces a new option to extract all layout regions to files with the name of each region (or with the provided filename via -i region:file). It is implemented by mutating the flash layout to include all regions and backfilling the entry->file with entry->name (replacing spaces with underscores) Signed-off-by: Daniel Campello <campello@chromium.org> Change-Id: I8c69223fa92cf5b50abe070f1ab9f19d3b42f6ff Reviewed-on: https://review.coreboot.org/c/flashrom/+/52450 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Diffstat (limited to 'flashrom.c')
-rw-r--r--flashrom.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/flashrom.c b/flashrom.c
index e1121d86e..0af505757 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -2695,6 +2695,12 @@ int do_read(struct flashctx *const flash, const char *const filename)
return ret;
}
+int do_extract(struct flashctx *const flash)
+{
+ prepare_layout_for_extraction(flash);
+ return do_read(flash, NULL);
+}
+
int do_erase(struct flashctx *const flash)
{
const int ret = flashrom_flash_erase(flash);