Author: uwe Date: 2009-06-24 19:31:08 +0200 (Wed, 24 Jun 2009) New Revision: 631
Modified: trunk/flashrom.8 trunk/flashrom.c Log: Always verify write operations automatically.
Should this be undesireable because of speed reasons, --noverify can be used to suppress an auto-verify.
Signed-off-by: Uwe Hermann uwe@hermann-uwe.de Acked-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net Acked-by: Harald Gutmann harald.gutmann@gmx.net
Modified: trunk/flashrom.8 =================================================================== --- trunk/flashrom.8 2009-06-24 08:28:39 UTC (rev 630) +++ trunk/flashrom.8 2009-06-24 17:31:08 UTC (rev 631) @@ -2,9 +2,8 @@ .SH NAME flashrom - detect, read, write, verify and erase flash chips .SH SYNOPSIS -.B flashrom \fR[\fB-VfLzhR\fR] [\fB-E\fR|\fB-r\fR file|\fB-w\fR file|\fB-v\fR file] - [\fB-c\fR chipname] [\fB-m\fR [vendor:]part] - [\fB-l\fR file] [\fB-i\fR image] [\fB-p\fR programmer] +.B flashrom \fR[\fB-VfLzhRn\fR] [\fB-E\fR|\fB-r\fR file|\fB-w\fR file|\fB-v\fR file] [\fB-c\fR chipname] + [\fB-m\fR [vendor:]part] [\fB-l\fR file] [\fB-i\fR image] [\fB-p\fR programmer] .SH DESCRIPTION .B flashrom is a utility for detecting, reading, writing, verifying and erasing flash @@ -38,6 +37,21 @@ .B <file> is specified). .TP +.B "-n, --noverify" +Do +.B not +verify the flash ROM contents after writing them to the chip. Using this +option is +.B not +recommended, you should only use it if you know what you are doing and you +feel that the time for verification takes too long. +.sp +Typical usage is: +.B "flashrom -wn file" +.sp +This option is only useful in combination with +.BR --write . +.TP .B "-v, --verify <file>" Verify the flash ROM contents against the given .BR <file> .
Modified: trunk/flashrom.c =================================================================== --- trunk/flashrom.c 2009-06-24 08:28:39 UTC (rev 630) +++ trunk/flashrom.c 2009-06-24 17:31:08 UTC (rev 631) @@ -480,6 +480,7 @@ (" -r | --read: read flash and save into file\n" " -w | --write: write file into flash\n" " -v | --verify: verify flash against file\n" + " -n | --noverify: don't verify flash against file\n" " -E | --erase: erase flash device\n" " -V | --verbose: more verbose output\n" " -c | --chip <chipname>: probe only for specified flash chip\n" @@ -515,7 +516,7 @@ int option_index = 0; int force = 0; int read_it = 0, write_it = 0, erase_it = 0, verify_it = 0; - int list_supported = 0, list_supported_wiki = 0; + int dont_verify_it = 0, list_supported = 0, list_supported_wiki = 0; int operation_specified = 0; int ret = 0, i;
@@ -524,6 +525,7 @@ {"write", 0, 0, 'w'}, {"erase", 0, 0, 'E'}, {"verify", 0, 0, 'v'}, + {"noverify", 0, 0, 'n'}, {"chip", 1, 0, 'c'}, {"mainboard", 1, 0, 'm'}, {"verbose", 0, 0, 'V'}, @@ -553,7 +555,7 @@ }
setbuf(stdout, NULL); - while ((opt = getopt_long(argc, argv, "rRwvVEfc:m:l:i:p:Lzh", + while ((opt = getopt_long(argc, argv, "rRwvnVEfc:m:l:i:p:Lzh", long_options, &option_index)) != EOF) { switch (opt) { case 'r': @@ -580,6 +582,9 @@ } verify_it = 1; break; + case 'n': + dont_verify_it = 1; + break; case 'c': chip_to_probe = strdup(optarg); break; @@ -779,6 +784,10 @@ exit(1); }
+ /* Always verify write operations unless -n is used. */ + if (write_it && !dont_verify_it) + verify_it = 1; + size = flash->total_size * 1024; buf = (uint8_t *) calloc(size, sizeof(char));