mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 22:21:16 +02:00
Support reads of arbitrary range
That means you can tell flashrom to read exactly bytes 12345-56789 (start 12345, length 44445) and it will not fetch a single byte more. Uwe tested this on one LPC, one SPI, and one parallel flash board. Corresponding to flashrom svn r596. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
This commit is contained in:
@ -257,15 +257,15 @@ int it8716f_spi_chip_write_1(struct flashchip *flash, uint8_t *buf)
|
||||
* IT8716F only allows maximum of 512 kb SPI mapped to LPC memory cycles
|
||||
* Need to read this big flash using firmware cycles 3 byte at a time.
|
||||
*/
|
||||
int it8716f_spi_chip_read(struct flashchip *flash, uint8_t *buf)
|
||||
int it8716f_spi_chip_read(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||
{
|
||||
int total_size = 1024 * flash->total_size;
|
||||
fast_spi = 0;
|
||||
|
||||
if ((programmer == PROGRAMMER_IT87SPI) || (total_size > 512 * 1024)) {
|
||||
spi_read_chunked(flash, buf, 3);
|
||||
spi_read_chunked(flash, buf, start, len, 3);
|
||||
} else {
|
||||
read_memmapped(flash, buf);
|
||||
read_memmapped(flash, buf, start, len);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user