Am Dienstag, 22. Januar 2008 15:59:28 schrieb Carl-Daniel Hailfinger:
> Flashrom did not use the read function for verifying, it used direct memory
> access instead. That fails if the flash chip is not mapped completely.
> If the read function is set in struct flashchip, use it for verification
> as well.
>
> This fixes verification of all SPI flash chips >512 kByte behind an
> IT8716F flash translation chip.
>
> Signed-off-by: Carl-Daniel Hailfinger <[EMAIL PROTECTED]>
Acked-by: Harald Gutmann <[EMAIL PROTECTED]>

"MX25L8005 found at physical address 0xfff00000.
Flash part is MX25L8005 (1024 KB).
Flash image seems to be a legacy BIOS. Disabling checks.
Verifying flash... VERIFIED."

regards, harald
>
> Index: flashrom-big/flashrom.c
> ===================================================================
> --- flashrom-big/flashrom.c   (Revision 3069)
> +++ flashrom-big/flashrom.c   (Arbeitskopie)
> @@ -159,7 +159,11 @@
>  {
>       int idx;
>       int total_size = flash->total_size * 1024;
> -     volatile uint8_t *bios = flash->virtual_memory;
> +     uint8_t *buf2 = (uint8_t *) calloc(total_size, sizeof(char));
> +     if (flash->read == NULL)
> +             memcpy(buf2, (const char *)flash->virtual_memory, total_size);
> +     else
> +             flash->read(flash, buf2);
>
>       printf("Verifying flash... ");
>
> @@ -170,7 +174,7 @@
>               if (verbose && ((idx & 0xfff) == 0xfff))
>                       printf("0x%08x", idx);
>
> -             if (*(bios + idx) != *(buf + idx)) {
> +             if (*(buf2 + idx) != *(buf + idx)) {
>                       if (verbose) {
>                               printf("0x%08x ", idx);
>                       }



-- 
coreboot mailing list
coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to