coreboot-kgpe-d16/payloads/coreinfo
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
..
COPYING
Kconfig
Makefile
README payloads/coreinfo/README: Remove trailing whitespace 2018-04-27 09:09:45 +00:00
bootlog_module.c Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
cbfs_module.c util/cbfstool: Support FIT payloads 2018-06-15 09:13:24 +00:00
coreboot_module.c payloads: change coreboot to lowercase 2017-06-07 12:08:55 +02:00
coreinfo.c coreinfo: Use regular `if` over `#if` for `IS_ENABLED` 2017-06-27 17:16:03 +00:00
coreinfo.h
cpuid.S
cpuinfo_module.c
multiboot_module.c
nvram_module.c
pci_module.c coreinfo: Skip unpopulated PCI functions 2018-06-14 07:59:05 +00:00
ramdump_module.c
timestamps_module.c payloads/coreinfo: Free buffer before returning 2017-09-11 16:23:52 +00:00

README

This is a silly little program that demonstrates how cool libpayload is
and also serves a purpose.  It is fun and educational!

Requirements
------------

You should use the coreboot reference cross compiler. If you insist on using
your system compiler, some Linux distributions might require you to install
a package called gcc-multilib if you are on a 64bit system.

Build
-----

You need libpayload to build coreinfo. So, first, you need follow the README of
libpayload to build it but install libpayload into its own directory by doing
this:

 $ make DESTDIR=/path/to/libpayload/install install

Then you can build coreinfo now:

 $ cd coreinfo

 $ make menuconfig
 
 $ make