coreboot-kgpe-d16/payloads/libpayload/include
Patrick Rudolph 7ee05eddf1 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>
2018-06-15 09:13:24 +00:00
..
arm/arch Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
arm64/arch libpayload: Add raw_read_ functions 2018-05-01 23:34:03 +00:00
arpa Refactor the endianness conversion functions and header files. 2012-11-08 19:49:51 +01:00
mips/arch Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
pci libpayload: Add pci_free_dev() and some boilerplate 2017-12-07 21:51:24 +00:00
storage libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
sys libpayload: Start using only internal and compiler headers. 2013-03-13 22:04:44 +01:00
udc tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
usb Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
x86/arch Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
archive.h libpayload: add archive.h 2015-12-16 19:00:53 +01:00
assert.h libpayload: Fix the format string of the assert macro. 2012-11-07 18:36:05 +01:00
cbfs.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
cbfs_core.h util/cbfstool: Support FIT payloads 2018-06-15 09:13:24 +00:00
cbfs_ram.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
cbgfx.h detachables: Add invert parameter 2017-05-25 18:23:56 +02:00
compiler.h add __must_check to */compiler.h 2017-08-08 18:18:03 +00:00
coreboot_tables.h libpayload: Add SKU ID coreboot table support 2017-12-07 01:19:38 +00:00
ctype.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
die.h libpayload: Add a new "die" function to fatally signal programming errors. 2014-09-15 17:37:13 +02:00
endian.h endian: Fix bebitenc() to actually encode big-endian 2017-11-06 20:46:37 +00:00
errno.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
exception.h libpayload: Rework exception hook interface 2015-01-09 07:05:15 +01:00
fmap_serialized.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
gdb.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
getopt.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
inttypes.h libpayload: Start using only internal and compiler headers. 2013-03-13 22:04:44 +01:00
ipchksum.h libpayload: Add a new "die" function to fatally signal programming errors. 2014-09-15 17:37:13 +02:00
kconfig.h libpayload: Change CONFIG_* to CONFIG_LP_* in the kconfig. 2014-08-05 18:44:08 +02:00
keycodes.h libpayload: Make keycode constants available outside of curses.h. 2013-03-18 20:45:48 +01:00
libpayload.h libpayload-x86: Export keyboard modifiers 2018-05-31 15:31:47 +00:00
limits.h libpayload: Improve compatibility 2011-07-16 11:09:28 +02:00
lz4.h cbfs: Add LZ4 in-place decompression support for pre-RAM stages 2016-02-22 21:38:37 +01:00
lzma.h LZMA: Add a version of ulzma which takes the input and output buffer sizes. 2014-08-10 22:29:51 +02:00
malloc.h libpayload: Provide atol(), malloc.h 2011-07-07 22:29:53 +02:00
multiboot_tables.h libpayload: multiboot - support meminfo flag 2017-02-17 18:20:38 +01:00
panel.h libpayload: Add PDCurses and ncurses' libform/libmenu 2011-08-04 08:10:41 +02:00
pci.h libpayload: Add definitions for more config space registers. 2012-11-07 18:36:27 +01:00
queue.h libpayload/include/queue.h: Remove trailing whitespace 2018-04-27 09:11:16 +00:00
stdarg.h libpayload: Don't sneak in compiler includes 2013-04-18 02:50:28 +02:00
stddef.h libpayload: add *SECS_PER_SEC macros to stddef.h 2017-08-14 18:06:33 +00:00
stdint.h libpayload: Add ptrdiff_t typedef 2015-10-20 16:50:25 +02:00
stdio.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
stdlib.h libpayload: Move GDB functions to stdlib.h 2018-04-19 20:39:29 +00:00
string.h libpayload: UTF-16LE to ASCII conversion 2015-03-20 09:59:48 +01:00
strings.h libpayload: Revive ffs() 2015-09-10 20:11:33 +00:00
swab.h libpayload: arch/mips: Add basic MIPS architecture support 2015-03-21 11:07:50 +01:00
sysinfo.h libpayload: Add SKU ID coreboot table support 2017-12-07 01:19:38 +00:00
term.h libpayload: remove trailing whitespace and run dos2unix 2011-11-01 19:08:23 +01:00
time.h libpayload: add time() 2017-08-21 16:53:20 +00:00
unistd.h libpayload: Don't sneak in compiler includes 2013-04-18 02:50:28 +02:00
video_console.h Add coreboot framebuffer support to libpayload 2010-03-25 18:56:26 +00:00