diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2018-04-26 09:35:13 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-06-15 09:13:24 +0000 |
commit | 7ee05eddf184764de8aa1e015936a42d069893f2 (patch) | |
tree | bab7d92178e35e35b4f60f496243b0f58099beab /util/cbfstool/cbfs.h | |
parent | 31ff06a2da7380ecfe56365992d013b8ad0f7760 (diff) | |
download | coreboot-7ee05eddf184764de8aa1e015936a42d069893f2.tar.gz coreboot-7ee05eddf184764de8aa1e015936a42d069893f2.tar.bz2 coreboot-7ee05eddf184764de8aa1e015936a42d069893f2.zip |
util/cbfstool: Support FIT payloads
In order to support booting a GNU/Linux payload on non x86, the FIT format
should be used, as it is the defacto standard on ARM.
Due to greater complexity of FIT it is not converted to simple ELF format.
Add support for autodecting FIT payloads and add them as new CBFS_TYPE 'fit'.
The payload is included as is, with no special header.
The code can determine the type at runtime using the CBFS_TYPE field.
Support for parsing FIT payloads in coreboot is added in a follow on
commit.
Compression of FIT payloads is not supported, as the FIT sections might be
compressed itself.
Starting at this point a CBFS payload/ can be either of type FIT or SELF.
Tested on Cavium SoC.
Change-Id: Ic5fc30cd5419eb76c4eb50cca3449caea60270de
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/25860
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'util/cbfstool/cbfs.h')
-rw-r--r-- | util/cbfstool/cbfs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/util/cbfstool/cbfs.h b/util/cbfstool/cbfs.h index 1a4f101b57ef..fd2457a5732d 100644 --- a/util/cbfstool/cbfs.h +++ b/util/cbfstool/cbfs.h @@ -172,6 +172,7 @@ struct cbfs_payload { #define CBFS_COMPONENT_CBFSHEADER 0x02 #define CBFS_COMPONENT_STAGE 0x10 #define CBFS_COMPONENT_SELF 0x20 +#define CBFS_COMPONENT_FIT 0x21 #define CBFS_COMPONENT_OPTIONROM 0x30 #define CBFS_COMPONENT_BOOTSPLASH 0x40 #define CBFS_COMPONENT_RAW 0x50 @@ -205,6 +206,7 @@ static struct typedesc_t filetypes[] unused = { {CBFS_COMPONENT_CBFSHEADER, "cbfs header"}, {CBFS_COMPONENT_STAGE, "stage"}, {CBFS_COMPONENT_SELF, "simple elf"}, + {CBFS_COMPONENT_FIT, "fit"}, {CBFS_COMPONENT_OPTIONROM, "optionrom"}, {CBFS_COMPONENT_BOOTSPLASH, "bootsplash"}, {CBFS_COMPONENT_RAW, "raw"}, |