coreboot-kgpe-d16/util/cbfstool
Marshall Dawson 30cf155168 util/cbfstool: Add AMD BIOS compression tool for PSP
Add a utility to generate a compressed BIOS image for AMD Family 17h.

If the input is an elf file, the utility extracts the program portion
for compression.  Otherwise the file is compressed as-is.

In modern AMD systems, the PSP brings up DRAM then uncompresses the
BIOS image into memory prior to x86 beginning execution.  The PSP
supports a zlib engine, and interprets the first 256 bytes as a
header, where offset 0x14 containing the uncompressed size.  For
further details, see AMD Platform Security Processor BIOS Architecture
Design Guide for AMD Family 17h Processors (NDA only, #55758).

BUG=b:127766506
TEST=Use with WIP Picasso

Change-Id: Id1c54e0a6dae9e4a0362c6635fe8b8aa48a369d8
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33401
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
2019-07-03 21:28:43 +00:00
..
console Remove extra newlines from the end of all coreboot files. 2016-07-31 18:19:33 +02:00
flashmap util/cbfstool/flashmap: Correct local includes 2019-06-24 10:52:53 +00:00
lz4 util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
lzma util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
EXAMPLE
Makefile cbfstool: Add ifittool 2019-06-24 09:42:31 +00:00
Makefile.inc util/cbfstool: Add AMD BIOS compression tool for PSP 2019-07-03 21:28:43 +00:00
ProcessorBind.h Remove extra newlines from the end of all coreboot files. 2016-07-31 18:19:33 +02:00
amdcompress.c util/cbfstool: Add AMD BIOS compression tool for PSP 2019-07-03 21:28:43 +00:00
cbfs-mkpayload.c util/cbfstool: fix build with clang 2018-07-20 16:06:29 +00:00
cbfs-mkstage.c util/cbfstool/cbfs-mkstage: Support x86_64 2018-12-19 06:06:49 +00:00
cbfs-payload-linux.c util/cbfstool: Fix to build with latest llvm 2017-01-04 21:37:39 +01:00
cbfs.h Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
cbfs_image.c vboot: include vb2_sha.h when required 2019-05-09 06:32:44 +00:00
cbfs_image.h cbfstool: add unprocessed flag for file exporting 2018-11-16 09:47:35 +00:00
cbfs_sections.c Klocwork: Fix the Null pointer derefernce found by klocwork 2019-04-23 09:56:37 +00:00
cbfs_sections.h
cbfscomptool.c cbfstool: fix implicit declaration of strcasecmp 2018-07-27 10:48:17 +00:00
cbfstool.c cbfstool: show "preserved" flag in cbfstool layout output 2019-07-02 18:48:02 +00:00
coff.h
common.c util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
common.h util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
compress.c cbfs: Add LZ4 in-place decompression support for pre-RAM stages 2016-02-22 21:38:37 +01:00
default-x86.fmd Makefile.inc: Create a default SMMSTORE region 2019-02-06 18:15:59 +00:00
default.fmd drivers/mrc_cache: Always generate an FMAP region 2018-01-20 16:11:44 +00:00
description.md util: Add description.md to each util 2018-07-26 13:26:50 +00:00
elf.h util/cbfstool: Support AMD64 rmodules 2018-12-19 06:05:52 +00:00
elfheaders.c util/cbfstool: Support AMD64 rmodules 2018-12-19 06:05:52 +00:00
elfparsing.h util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
fdt.h util/cbfstool: Support FIT payloads 2018-06-15 09:13:24 +00:00
fit.c cbfstool/fit: need inttypes.h for PRIx64 2019-06-26 09:19:00 +00:00
fit.h cbfstool: Drop update-fit option 2019-06-24 09:45:00 +00:00
flashmap_tests.c
fmap_from_fmd.c cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmap_from_fmd.h
fmaptool.c fmaptool: Make base offsets absolute in fmap_config.h 2016-06-21 17:14:27 +02:00
fmd.c util/cbfstool: avoid memleaks and off-by-ones 2017-03-20 20:05:09 +01:00
fmd.h cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_parser.c_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_parser.h_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_parser.y cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_scanner.c_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_scanner.h_shipped cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fmd_scanner.l cbfstool: Support new FMD flag "PRESERVE" 2019-03-05 20:51:39 +00:00
fv.h
ifittool.c util/cbfstool/ifittool: use strtol function instead of atoi 2019-07-01 13:44:48 +00:00
ifwitool.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
linux.h util/cbfstool: Fix typos 2018-08-28 14:20:15 +00:00
linux_trampoline.S linux_trampoline: use trampoline RAM for the GDT 2018-07-18 21:32:26 +00:00
linux_trampoline.c linux_trampoline: use trampoline RAM for the GDT 2018-07-18 21:32:26 +00:00
linux_trampoline.h
option.h
partitioned_file.c util/cbfstool: Check for NULL before dereference 2017-12-20 16:35:13 +00:00
partitioned_file.h cbfstool: accept read-only files when possible 2016-01-19 18:14:44 +01:00
rmodtool.c
rmodule.c rmodule: Add support for R_X86_64_PLT32 2019-03-05 19:36:52 +00:00
rmodule.h util/cbfstool/rmodule.{c,h}: Fix typo and correct header 2018-11-22 14:58:38 +00:00
swab.h cbfstool: Add header file for ntohl & htonl on Apple 2016-01-20 16:10:20 +01:00
xdr.c