mirror of
https://review.coreboot.org/flashrom.git
synced 2025-06-30 21:52:36 +02:00
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>
This commit is contained in:
25
flashrom.c
25
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);
|
||||
|
Reference in New Issue
Block a user