coreboot-kgpe-d16/payloads/coreinfo
Jacob Garber 5e6c30bc42 coreinfo: Add support for link time optimization
This introduces a Kconfig option for compiling coreinfo with LTO.
This option can be used independently of LTO in libpayload, though will
benefit most if that is enabled as well. If both are enabled, the
final size of coreinfo.elf is reduced from 95 KiB to 92 KiB.

Tested in QEMU and on Thinkpad T500.

Change-Id: I6feacdb911b52b946869bff369e03dcf72897c9f
Signed-off-by: Jacob Garber <jgarber1@ualberta.ca>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38293
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-11-02 22:10:23 +00:00
..
.gitignore .gitignore: Split into subdirectory files 2020-10-30 07:05:27 +00:00
AUTHORS coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
COPYING
Kconfig coreinfo: Add support for link time optimization 2020-11-02 22:10:23 +00:00
Makefile coreinfo: Add support for link time optimization 2020-11-02 22:10:23 +00:00
README
bootlog_module.c payloads: Drop unneeded empty lines 2020-09-21 16:20:57 +00:00
cbfs_module.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
coreboot_module.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
coreinfo.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
coreinfo.h coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
cpuid.S coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
cpuinfo_module.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
multiboot_module.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
nvram_module.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
pci_module.c payloads/coreinfo: Rename pci_scan_bus() 2020-10-20 20:34:35 +00:00
ramdump_module.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +00:00
timestamps_module.c coreinfo: Use SPDX license identifiers 2020-09-14 07:05:27 +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