summaryrefslogtreecommitdiffstats
path: root/flashrom.c
diff options
context:
space:
mode:
authorPeter Stuge <peter@stuge.se>2008-05-03 04:34:37 +0000
committerPeter Stuge <peter@stuge.se>2008-05-03 04:34:37 +0000
commit1159d5864acbb4721ca5a0b77bb38284420e1194 (patch)
tree66d13a48051efcd6c9cf9fa7755af9a4d05933c8 /flashrom.c
parent9477c4eca5db12ebed4636547d00a237f3ad2b84 (diff)
downloadast2050-flashrom-1159d5864acbb4721ca5a0b77bb38284420e1194.zip
ast2050-flashrom-1159d5864acbb4721ca5a0b77bb38284420e1194.tar.gz
Add a tested bitmap field to the flash chip table
Two bits indicate OK and BAD for each operation PROBE READ ERASE WRITE. 8 bits out of 32 are in use now. No bits set means nothing has been tested. For chips with at least one operation that is not tested or not working, the user is asked to email a report to a special email adress so that the table can be updated. All chips are TEST_UNTESTED for now. Corresponding to flashrom svn r221 and coreboot v2 svn r3277. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Diffstat (limited to 'flashrom.c')
-rw-r--r--flashrom.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/flashrom.c b/flashrom.c
index c7d0bda..2f3d7c9 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -412,6 +412,36 @@ int main(int argc, char *argv[])
}
printf("Flash part is %s (%d KB).\n", flash->name, flash->total_size);
+ if (TEST_OK_MASK != (flash->tested & TEST_OK_MASK)) {
+ printf("===\n");
+ if (flash->tested & TEST_BAD_MASK) {
+ printf("This flash part has status NOT WORKING for operations:");
+ if (flash->tested & TEST_BAD_PROBE)
+ printf(" PROBE");
+ if (flash->tested & TEST_BAD_READ)
+ printf(" READ");
+ if (flash->tested & TEST_BAD_ERASE)
+ printf(" ERASE");
+ if (flash->tested & TEST_BAD_WRITE)
+ printf(" WRITE");
+ printf("\n");
+ } else {
+ printf("This flash part has status UNTESTED for operations:");
+ if (!(flash->tested & TEST_OK_PROBE))
+ printf(" PROBE");
+ if (!(flash->tested & TEST_OK_READ))
+ printf(" READ");
+ if (!(flash->tested & TEST_OK_ERASE))
+ printf(" ERASE");
+ if (!(flash->tested & TEST_OK_WRITE))
+ printf(" WRITE");
+ printf("\n");
+ }
+ printf("Please email a report to flashrom@coreboot.org if any of the above operations\n");
+ printf("work correctly for you with this flash part. Please include the full output\n");
+ printf("from the program, including chipset found. Thank you for your help!\n");
+ printf("===\n");
+ }
if (!(read_it | write_it | verify_it | erase_it)) {
printf("No operations were specified.\n");
OpenPOWER on IntegriCloud