[flashrom] [PATCH] Always read chip before writing, avoid emergency messages
David Hendricks
dhendrix at google.com
Tue Oct 19 02:59:04 CEST 2010
Overall the patch looks good and didn't cause any failures with some testing
when I ran thru a basic set of read / erase / write / partial write tests.
On Fri, Oct 15, 2010 at 6:22 AM, Carl-Daniel Hailfinger <
c-d.hailfinger.devel.2006 at gmx.net> wrote:
> Always read the flash chip before writing. This will allow flashrom to
> skip erase of already-erased blocks and to skip write of blocks which
> already have the wanted contents.
>
Good idea in general IMHO, however as you mention a config option would be
nice.
Also, perhaps oldcontents should be written out if verification fails. That
could wait for a follow-up patch.
On Fri, Oct 15, 2010 at 6:22 AM, Carl-Daniel Hailfinger <
c-d.hailfinger.devel.2006 at gmx.net> wrote:
> -int handle_romentries(uint8_t *buffer, struct flashchip *flash)
> +int handle_romentries(struct flashchip *flash, uint8_t *oldcontents,
> uint8_t *newcontents)
> {
> int i;
>
> @@ -225,13 +225,12 @@
> // normal will be updated and the rest will be kept.
>
> for (i = 0; i < romimages; i++) {
> -
> if (rom_entries[i].included)
> continue;
>
> - flash->read(flash, buffer + rom_entries[i].start,
> - rom_entries[i].start,
> - rom_entries[i].end - rom_entries[i].start + 1);
> + memcpy(newcontents + rom_entries[i].start,
> + oldcontents + rom_entries[i].start,
> + rom_entries[i].end - rom_entries[i].start + 1);
> }
>
As discussed on IRC, this function can probably use a better name and
comments... in another patch :-)
On Fri, Oct 15, 2010 at 6:22 AM, Carl-Daniel Hailfinger <
c-d.hailfinger.devel.2006 at gmx.net> wrote:
> @@ -1634,33 +1651,71 @@
> }
> }
>
> + newcontents = (uint8_t *) calloc(size, sizeof(char));
>
+1 on Stefan's comment here... malloc / memset is probably considered better
form by some. But that's just a matter of preference.
--
David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20101018/cf83b2c4/attachment.html>
More information about the flashrom
mailing list