diff options
author | Alexandru Gagniuc <mr.nuke.me@gmail.com> | 2014-02-02 22:37:28 -0600 |
---|---|---|
committer | Alexandru Gagniuc <mr.nuke.me@gmail.com> | 2014-02-04 19:37:48 +0100 |
commit | 35850ae88e0be8d05ab672d5badcd89ab8006389 (patch) | |
tree | a98922c5b96094848abcff0308ffd126667d44bd /util/cbfstool/cbfstool.c | |
parent | 2bdc0d0bd6de826588d5ceda139d021922db5e48 (diff) | |
download | coreboot-35850ae88e0be8d05ab672d5badcd89ab8006389.tar.xz |
cbfstool: Eliminate global variable "arch"
Now that unused functions have been removed, the global "arch" is only
used in very few places. We can pack "arch" in the "param" structure
and pass it down to where it is actually used.
Change-Id: I255d1e2bc6b5ead91b6b4e94a0202523c4ab53dc
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/5105
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'util/cbfstool/cbfstool.c')
-rw-r--r-- | util/cbfstool/cbfstool.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c index 9935f51f05..1d93981d72 100644 --- a/util/cbfstool/cbfstool.c +++ b/util/cbfstool/cbfstool.c @@ -56,6 +56,7 @@ static struct param { uint32_t pagesize; uint32_t offset; uint32_t top_aligned; + uint32_t arch; int fit_empty_entries; comp_algo algo; /* for linux payloads */ @@ -63,6 +64,7 @@ static struct param { char *cmdline; } param = { /* All variables not listed are initialized as zero. */ + .arch = CBFS_ARCHITECTURE_UNKNOWN, .algo = CBFS_COMPRESS_NONE, }; @@ -178,9 +180,13 @@ static int cbfs_add_component(const char *cbfs_name, return 0; } -static int cbfstool_convert_mkstage(struct buffer *buffer, uint32_t *offset) { +static int cbfstool_convert_mkstage(struct buffer *buffer, uint32_t *offset) +{ struct buffer output; - if (parse_elf_to_stage(buffer, &output, param.algo, offset) != 0) + int ret; + ret = parse_elf_to_stage(buffer, &output, param.arch, param.algo, + offset); + if (ret != 0) return -1; buffer_delete(buffer); // direct assign, no dupe. @@ -192,7 +198,7 @@ static int cbfstool_convert_mkpayload(struct buffer *buffer, uint32_t *offset) { struct buffer output; int ret; /* per default, try and see if payload is an ELF binary */ - ret = parse_elf_to_payload(buffer, &output, param.algo); + ret = parse_elf_to_payload(buffer, &output, param.arch, param.algo); /* If it's not an ELF, see if it's a UEFI FV */ if (ret != 0) @@ -334,8 +340,7 @@ static int cbfs_create(void) return 1; } - // TODO Remove arch or pack into param. - if (arch == CBFS_ARCHITECTURE_UNKNOWN) { + if (param.arch == CBFS_ARCHITECTURE_UNKNOWN) { ERROR("You need to specify -m/--machine arch.\n"); return 1; } @@ -368,7 +373,7 @@ static int cbfs_create(void) } if (cbfs_image_create(&image, - arch, + param.arch, param.size, param.alignment, &bootblock, @@ -701,7 +706,7 @@ int main(int argc, char **argv) verbose++; break; case 'm': - arch = string_to_arch(optarg); + param.arch = string_to_arch(optarg); break; case 'I': param.initrd = optarg; |