[coreboot-gerrit] Change in coreboot[master]: payloads: Add an option to compress secondary payloads

Arthur Heymans (Code Review) gerrit at coreboot.org
Wed Feb 7 13:06:20 CET 2018


Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/23639


Change subject: payloads: Add an option to compress secondary payloads
......................................................................

payloads: Add an option to compress secondary payloads

Both grub and SeaBIOS can chainload lzma compressed
payloads. Therefore it is beneficiary to compress secondary payloads
like memtest86+, coreinfo, nvramcui,... for both size reasons and
often also speed reasons since the limiting factor is generally the
IO of the boot device.

Tested with SeaBIOS and memtest86+ master on Thinkpad X220.

Change-Id: Iddfd6fcf4112d255cc7b2b49b99bf5ea4d6f8db4
Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
M Makefile.inc
M payloads/Kconfig
M payloads/Makefile.inc
M payloads/external/Makefile.inc
4 files changed, 16 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/39/23639/1

diff --git a/Makefile.inc b/Makefile.inc
index 0593d31..379215b 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -350,6 +350,11 @@
 CBFS_PAYLOAD_COMPRESS_FLAG:=LZ4
 endif
 
+CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG:=none
+ifeq ($(CONFIG_COMPRESS_SECONDARY_PAYLOAD),y)
+CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG:=LZMA
+endif
+
 CBFS_PRERAM_COMPRESS_FLAG:=none
 ifeq ($(CONFIG_COMPRESS_PRERAM_STAGES),y)
 CBFS_PRERAM_COMPRESS_FLAG:=LZ4
diff --git a/payloads/Kconfig b/payloads/Kconfig
index 125ca61..4dd733f 100644
--- a/payloads/Kconfig
+++ b/payloads/Kconfig
@@ -82,6 +82,13 @@
 	  Add the payload to cbfs as a flat binary type instead of as an
 	  elf payload
 
+config COMPRESS_SECONDARY_PAYLOAD
+	bool "Use LZMA compression for secondary payloads"
+	default y
+	help
+	  In order to reduce the size secondary payloads take up in the
+	  ROM chip coreboot can compress them using the LZMA algorithm.
+
 menu "Secondary Payloads"
 
 config COREINFO_SECONDARY_PAYLOAD
diff --git a/payloads/Makefile.inc b/payloads/Makefile.inc
index b27d7fe..d894dec 100644
--- a/payloads/Makefile.inc
+++ b/payloads/Makefile.inc
@@ -16,10 +16,12 @@
 cbfs-files-$(CONFIG_COREINFO_SECONDARY_PAYLOAD) += img/coreinfo
 img/coreinfo-file := payloads/coreinfo/build/coreinfo.elf
 img/coreinfo-type := payload
+img/coreinfo-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
 
 cbfs-files-$(CONFIG_NVRAMCUI_SECONDARY_PAYLOAD) += img/nvramcui
 img/nvramcui-file := payloads/nvramcui/nvramcui.elf
 img/nvramcui-type := payload
+img/nvramcui-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
 
 PAYLOADS_LIST=\
 payloads/coreinfo \
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc
index 62d8a44..ec7d9a8 100644
--- a/payloads/external/Makefile.inc
+++ b/payloads/external/Makefile.inc
@@ -185,12 +185,14 @@
 cbfs-files-$(CONFIG_TINT_SECONDARY_PAYLOAD) += img/tint
 img/tint-file := payloads/external/tint/tint/tint.elf
 img/tint-type := payload
+img/tint-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
 
 # Memtest86+
 
 cbfs-files-$(CONFIG_MEMTEST_SECONDARY_PAYLOAD) += img/memtest
 img/memtest-file := payloads/external/Memtest86Plus/memtest86plus/memtest
 img/memtest-type := payload
+img/memtest-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
 
 ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
 	MEMTEST_SERIAL_OPTIONS=SERIAL_CONSOLE_DEFAULT=1 \

-- 
To view, visit https://review.coreboot.org/23639
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iddfd6fcf4112d255cc7b2b49b99bf5ea4d6f8db4
Gerrit-Change-Number: 23639
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur at aheymans.xyz>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180207/a60aa3a4/attachment.html>


More information about the coreboot-gerrit mailing list