[flashrom] [PATCH] Allow bus override with forced read

stephen at hyarros.com stephen at hyarros.com
Thu Jul 15 00:39:53 CEST 2010

Acked-by: Stephen Kou <stephen at hyarros.com>

Dump of "successful" forced read:

flashrom v0.9.2-r1075 on Linux 2.6.32-23-generic (x86_64), built with
libpci 3.0.0, GCC 4.4.3, little endian
flashrom is free software, get the source code at

Calibrating delay loop... OK.
No coreboot table found.
Found chipset "Intel ICH10R", enabling flash write... tried to set 0xdc
to 0xb on ICH10R failed (WARNING ONLY)
WARNING: SPI Configuration Lockdown activated.
This chipset supports the following protocols: FWH,SPI.
No EEPROM/flash device found.
Force read (-f -r -c) requested, pretending the chip is there:
Assuming chip "AMD Am29F016D" (2048 KB, Parallel) at physical address
Please note that forced reads most likely contain garbage.
Reading flash... done.

On Wed, 14 Jul 2010 11:53:03 +0200, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2006 at gmx.net> wrote:
> If someone wants to perform a forced read of a chip via mmap, we should
> allow that even if the host doesn't support the bus this chip needs.
> Example:
> flashrom -p dummy:bus=spi -V -c Am29F016D -f -r foo.rom
> This won't work right now because -f won't override probe skipping. So
> far the only use of this bus override is for the internal programmer,
> and as such I wonder whether we should make the bus override conditional
> on the internal programmer. It's pointless for other programmers anyway.
> Comments welcome.
> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
> Index: flashrom-force_chip_incompatible_bus/flashrom.c
> ===================================================================
> --- flashrom-force_chip_incompatible_bus/flashrom.c	(Revision 1079)
> +++ flashrom-force_chip_incompatible_bus/flashrom.c	(Arbeitskopie)
> @@ -1007,7 +1007,7 @@
>  			continue;
>  		}
>  		buses_common = buses_supported & flash->bustype;
> -		if (!buses_common) {
> +		if (!buses_common && !force) {
>  			tmp = flashbuses_to_text(buses_supported);
>  			msg_gdbg("skipped.");
>  			msg_gspew(" Host bus type %s ", tmp);

More information about the flashrom mailing list