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 < [email protected]> 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 < [email protected]> 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 < [email protected]> 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.
_______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
