summaryrefslogtreecommitdiffstats
path: root/flashrom.c
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2008-03-12 11:54:51 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2008-03-12 11:54:51 +0000
commite5ac16445f70486713b6533c2071c80eb66cc174 (patch)
tree3e6343a00bfd9a05e644467f9e8e990816c865f5 /flashrom.c
parent75f510768d65acfefb0813873992449f4d186f35 (diff)
downloadast2050-flashrom-e5ac16445f70486713b6533c2071c80eb66cc174.zip
ast2050-flashrom-e5ac16445f70486713b6533c2071c80eb66cc174.tar.gz
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 <uwe@hermann-uwe.de> Acked-by: Ward Vandewege <ward@gnu.org>
Diffstat (limited to 'flashrom.c')
-rw-r--r--flashrom.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/flashrom.c b/flashrom.c
index 59196bc..a176319 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 <file.layout>: read rom layout from file\n"
" -i | --image <name>: 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);
OpenPOWER on IntegriCloud