From a9ffa9e7f28a77579860a2f46dd0594172853c48 Mon Sep 17 00:00:00 2001 From: Lee Leahy Date: Wed, 3 Feb 2016 10:13:57 -0800 Subject: [PATCH] lib: Support UNCOMPRESSED_RAMSTAGE Selecting UNCOMPRESSED_RAMSTAGE prevents lzma.c from being compiled for romstage. Adjust the logic in rmodule.c to prevent calls to the ulzma routine when UNCOMPRESSED_RAMSTAGE is selected. TEST=Build and run on Galileo Change-Id: I7409e082baab3c2a086c57ad5aa9844ba788c7cd Signed-off-by: Lee Leahy Reviewed-on: https://review.coreboot.org/13591 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/lib/rmodule.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/rmodule.c b/src/lib/rmodule.c index 84b8734f53..13eb324aa8 100644 --- a/src/lib/rmodule.c +++ b/src/lib/rmodule.c @@ -259,6 +259,8 @@ int rmodule_stage_load(struct rmod_stage_load *rsl) struct cbfs_stage stage; void *rmod_loc; struct region_device *fh; + const int use_lzma = ENV_RAMSTAGE + || (ENV_ROMSTAGE && IS_ENABLED(CONFIG_COMPRESS_RAMSTAGE)); if (rsl->prog == NULL || prog_name(rsl->prog) == NULL) return -1; @@ -286,7 +288,7 @@ int rmodule_stage_load(struct rmod_stage_load *rsl) if (rdev_readat(fh, rmod_loc, sizeof(stage), stage.len) != stage.len) return -1; - } else if (stage.compression == CBFS_COMPRESS_LZMA) { + } else if (use_lzma && (stage.compression == CBFS_COMPRESS_LZMA)) { size_t fsize; void *map = rdev_mmap(fh, sizeof(stage), stage.len);