Kconfig: Allow x86 to compress pre-ram stages if not run XIP

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

Even with a small romstage the size improvements are substantial,
which should result in a speedup when loading the stage. On the
up/squared loading romstage is sped up by 9ms.

TESTED: successfully boot the up/squared & google/vilboz.

Change-Id: I6906c8b6df45f2433d92d2ff1d1748cc4926c73a
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67749
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
This commit is contained in:
Arthur Heymans 2019-11-04 18:57:06 +01:00 committed by Felix Held
parent 9efb0c0825
commit e146fbd60c
1 changed files with 4 additions and 4 deletions

View File

@ -179,14 +179,14 @@ config COMPRESS_RAMSTAGE
config COMPRESS_PRERAM_STAGES config COMPRESS_PRERAM_STAGES
bool "Compress romstage and verstage with LZ4" bool "Compress romstage and verstage with LZ4"
depends on !ARCH_X86 && (HAVE_ROMSTAGE || HAVE_VERSTAGE) depends on (HAVE_ROMSTAGE || HAVE_VERSTAGE) && NO_XIP_EARLY_STAGES
# Default value set at the end of the file # Default value set at the end of the file
help help
Compress romstage and (if it exists) verstage with LZ4 to save flash Compress romstage and (if it exists) verstage with LZ4 to save flash
space and speed up boot, since the time for reading the image from SPI space and speed up boot, since the time for reading the image from SPI
(and in the vboot case verifying it) is usually much greater than the (and in the vboot case verifying it) is usually much greater than the
time spent decompressing. Doesn't work for XIP stages (assume all time spent decompressing. Doesn't work for XIP stages for obvious
ARCH_X86 for now) for obvious reasons. reasons.
config COMPRESS_BOOTBLOCK config COMPRESS_BOOTBLOCK
bool bool
@ -1376,7 +1376,7 @@ config COMPRESS_RAMSTAGE
default y if !UNCOMPRESSED_RAMSTAGE default y if !UNCOMPRESSED_RAMSTAGE
config COMPRESS_PRERAM_STAGES config COMPRESS_PRERAM_STAGES
depends on !ARCH_X86 depends on (HAVE_ROMSTAGE || HAVE_VERSTAGE) && NO_XIP_EARLY_STAGES
default y default y
config INCLUDE_CONFIG_FILE config INCLUDE_CONFIG_FILE