From e5ac16445f70486713b6533c2071c80eb66cc174 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Wed, 12 Mar 2008 11:54:51 +0000 Subject: Add --list-supported option which lists the supported ROM chips, chipsets, and mainboards Corresponding to flashrom svn r199 and coreboot v2 svn r3133. Signed-off-by: Uwe Hermann Acked-by: Ward Vandewege --- flashrom.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'flashrom.c') diff --git a/flashrom.c b/flashrom.c index 59196bc1..a176319d 100644 --- a/flashrom.c +++ b/flashrom.c @@ -193,9 +193,19 @@ int verify_flash(struct flashchip *flash, uint8_t *buf) return 0; } +void print_supported_chips(void) +{ + int i; + + printf("Supported ROM chips:\n\n"); + + for (i = 0; flashchips[i].name != NULL; i++) + printf("%s\n", flashchips[i].name); +} + void usage(const char *name) { - printf("usage: %s [-rwvEVfhR] [-c chipname] [-s exclude_start]\n", name); + printf("usage: %s [-rwvEVfLhR] [-c chipname] [-s exclude_start]\n", name); printf(" [-e exclude_end] [-m [vendor:]part] [-l file.layout] [-i imagename] [file]\n"); printf (" -r | --read: read flash and save into file\n" @@ -210,8 +220,10 @@ void usage(const char *name) " -f | --force: force write without checking image\n" " -l | --layout : read rom layout from file\n" " -i | --image : only flash image name from flash layout\n" + " -L | --list-supported: print supported devices\n" + " -h | --help: print this help text\n" " -R | --version: print the version (release)\n" - "\n" " If no file is specified, then all that happens" + "\n" " If no file is specified, then all that happens" " is that flash info is dumped.\n\n"); exit(1); } @@ -245,6 +257,7 @@ int main(int argc, char *argv[]) {"force", 0, 0, 'f'}, {"layout", 1, 0, 'l'}, {"image", 1, 0, 'i'}, + {"list-supported", 0, 0, 'L'}, {"help", 0, 0, 'h'}, {"version", 0, 0, 'R'}, {0, 0, 0, 0} @@ -264,7 +277,7 @@ int main(int argc, char *argv[]) } setbuf(stdout, NULL); - while ((opt = getopt_long(argc, argv, "rRwvVEfc:s:e:m:l:i:h", + while ((opt = getopt_long(argc, argv, "rRwvVEfc:s:e:m:l:i:Lh", long_options, &option_index)) != EOF) { switch (opt) { case 'r': @@ -317,6 +330,12 @@ int main(int argc, char *argv[]) tempstr = strdup(optarg); find_romentry(tempstr); break; + case 'L': + print_supported_chips(); + print_supported_chipsets(); + print_supported_boards(); + exit(0); + break; case 'R': print_version(); exit(0); -- cgit v1.2.3