diff options
author | Edward O'Callaghan <quasisec@google.com> | 2021-11-15 15:47:15 +1100 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2022-05-13 02:34:43 +0000 |
commit | 086f0c8e4f32ade9c80f2a8b2889ce870467c398 (patch) | |
tree | f6adb49152812bbb232ccecc6ab33b70ae1bf247 /flashrom.c | |
parent | f3d09b5997a80a833b4a44ff922a132e8086556f (diff) | |
download | flashrom-086f0c8e4f32ade9c80f2a8b2889ce870467c398.tar.gz flashrom-086f0c8e4f32ade9c80f2a8b2889ce870467c398.tar.bz2 flashrom-086f0c8e4f32ade9c80f2a8b2889ce870467c398.zip |
flashrom: Drop read_flash_to_file() usage
Aspire towards a goal of making cli_classic more of just
a user of libflashrom than having quasi-parallel paths in
flashrom.c
This converts remaining read_flash_to_file() usage to the
do_read() provider wrapper around libflashrom.
BUG=b:208132085
TEST=`
sudo ./flashrom -p ft2232_spi:type=232H,divisor=1000 -f -r out -c W25X05
Flashrom output:
No EEPROM/flash device found.
Force read (-f -r -c) requested, pretending the chip is there:
Assuming Winbond flash chip "W25X05" (64 kB, SPI) on ft2232_spi.
Please note that forced reads most likely contain garbage.
Block protection could not be disabled!
Reading flash... done.
Data read:
xxd out-1khz
00000000: 0000 07ff ffff e000 0000 7fff fffe 0000 ................
00000010: 0007 ffff ffe0 0000 007f ffff fe00 0000 ................
00000020: 07ff ffff e000 0000 7fff fffe 0000 0007 ................
00000030: ffff ffe0 0000 007f ffff fe00 0000 0fff ................
xxd out-100khz
00000000: b6db 6db6 db6d b6db 6db6 db6d b6db 6db6 ..m..m..m..m..m.
00000010: db6d b6db 6db6 db6d b6db 6db6 db6d b6db .m..m..m..m..m..
00000020: 6db6 db6d b6db 6db6 db24 9249 2492 4924 m..m..m..$.I$.I$
00000030: 9249 2492 4924 9249 2492 4924 9249 2492 .I$.I$.I$.I$.I$.
`
Change-Id: I4b690b688acf9d5deb46e8642a252a2132ea8c73
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Tested-by: Nikolai Artemiev <nartemiev@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/59291
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Diffstat (limited to 'flashrom.c')
-rw-r--r-- | flashrom.c | 35 |
1 files changed, 0 insertions, 35 deletions
@@ -1070,41 +1070,6 @@ static int read_by_layout(struct flashctx *const flashctx, uint8_t *const buffer return 0; } -int read_flash_to_file(struct flashctx *flash, const char *filename) -{ - unsigned long size = flash->chip->total_size * 1024; - unsigned char *buf = calloc(size, sizeof(unsigned char)); - int ret = 0; - - msg_cinfo("Reading flash... "); - if (!buf) { - msg_gerr("Memory allocation failed!\n"); - msg_cinfo("FAILED.\n"); - return 1; - } - if (!flash->chip->read) { - msg_cerr("No read function available for this flash chip.\n"); - ret = 1; - goto out_free; - } - if (read_by_layout(flash, buf)) { - msg_cerr("Read operation failed!\n"); - ret = 1; - goto out_free; - } - if (write_buf_to_include_args(flash, buf)) { - ret = 1; - goto out_free; - } - - if (filename) - ret = write_buf_to_file(buf, size, filename); -out_free: - free(buf); - msg_cinfo("%s.\n", ret ? "FAILED" : "done"); - return ret; -} - /* Even if an error is found, the function will keep going and check the rest. */ static int selfcheck_eraseblocks(const struct flashchip *chip) { |