From fbc66b9dc035bcd287d434363ce984c41118bf95 Mon Sep 17 00:00:00 2001 From: Jonathan Neuschäfer Date: Sun, 8 Apr 2018 15:05:09 +0200 Subject: util/cbfstool: Print all supported architectures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The list of supported architectures in the usage output of cbfstool is currently hardcoded and outdated. Use the arch_names array in common.c to provide and up-to-date list. Change-Id: I3e7ed67c3bfd928b304c314fcc8e1bea35561662 Signed-off-by: Jonathan Neuschäfer Reviewed-on: https://review.coreboot.org/25590 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- util/cbfstool/cbfstool.c | 7 ++++--- util/cbfstool/common.c | 12 ++++++++++++ util/cbfstool/common.h | 1 + 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c index 1f71906ef6..7156e00bc6 100644 --- a/util/cbfstool/cbfstool.c +++ b/util/cbfstool/cbfstool.c @@ -1350,10 +1350,11 @@ static void usage(char *name) " in two possible formats: if their value is greater than\n" " 0x80000000, they are interpreted as a top-aligned x86 memory\n" " address; otherwise, they are treated as an offset into flash.\n" - "ARCHes:\n" - " arm64, arm, mips, x86\n" - "TYPEs:\n", name, name + "ARCHes:\n", name, name ); + print_supported_architectures(); + + printf("TYPEs:\n"); print_supported_filetypes(); printf( diff --git a/util/cbfstool/common.c b/util/cbfstool/common.c index 72ff745f1d..14ccaa9584 100644 --- a/util/cbfstool/common.c +++ b/util/cbfstool/common.c @@ -168,6 +168,18 @@ const char *arch_to_string(uint32_t a) return ret; } +void print_supported_architectures(void) +{ + size_t i; + + for (i = 0; i < ARRAY_SIZE(arch_names); i++) { + printf(i == 0? " ":", "); + printf("%s", arch_names[i].name); + } + + printf("\n"); +} + void print_supported_filetypes(void) { int i, number = ARRAY_SIZE(filetypes); diff --git a/util/cbfstool/common.h b/util/cbfstool/common.h index 85dfdeb589..8bae63e08e 100644 --- a/util/cbfstool/common.h +++ b/util/cbfstool/common.h @@ -204,6 +204,7 @@ int parse_elf_to_stage(const struct buffer *input, struct buffer *output, int parse_elf_to_xip_stage(const struct buffer *input, struct buffer *output, uint32_t *location, const char *ignore_section); +void print_supported_architectures(void); void print_supported_filetypes(void); /* lzma/lzma.c */ -- cgit v1.2.3