See patch.

Tested on one board, other tests are welcome.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
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 <[email protected]>

Index: flashrom.c
===================================================================
--- flashrom.c	(revision 630)
+++ flashrom.c	(working copy)
@@ -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));
 
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to