Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36613 )
Change subject: Kconfig: Allow x86 to compress pre-ram stages if not run XIP ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/36613/1/src/Kconfig File src/Kconfig:
https://review.coreboot.org/c/coreboot/+/36613/1/src/Kconfig@1220 PS1, Line 1220: depends on NO_XIP_EARLY_STAGES
LZ4 is really tiny (on the order of a few hundred bytes). Even with a 20k romstage and an 80% compression ratio, you're coming out way ahead (and real numbers should be much better than that).
Sizewise it indeed seem like a big win. Any idea how compute intensive decompressing is?
Everything's already baked that LZ4 is only compression scheme to use for early stages? Looks that way:
ifeq ($(CONFIG_COMPRESS_PRERAM_STAGES),y) CBFS_PRERAM_COMPRESS_FLAG:=LZ4 endif
Numbers would be good for comparison purposes.
In bytes
On the intel/glkrvp compressed: - romstage: 29659 - verstage: 31303
non compressed: - romstage: 46244 - verstage: 47012
On qemu (with some additional patch to not run XIP) compressed: - romstage: 11203
non compressed: - romstage: 13924