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 <leroy.p.leahy@intel.com>
Reviewed-on: https://review.coreboot.org/13591
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
This commit is contained in:
Lee Leahy 2016-02-03 10:13:57 -08:00 committed by Leroy P Leahy
parent 71ea717f72
commit a9ffa9e7f2
1 changed files with 3 additions and 1 deletions

View File

@ -259,6 +259,8 @@ int rmodule_stage_load(struct rmod_stage_load *rsl)
struct cbfs_stage stage; struct cbfs_stage stage;
void *rmod_loc; void *rmod_loc;
struct region_device *fh; 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) if (rsl->prog == NULL || prog_name(rsl->prog) == NULL)
return -1; 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) != if (rdev_readat(fh, rmod_loc, sizeof(stage), stage.len) !=
stage.len) stage.len)
return -1; return -1;
} else if (stage.compression == CBFS_COMPRESS_LZMA) { } else if (use_lzma && (stage.compression == CBFS_COMPRESS_LZMA)) {
size_t fsize; size_t fsize;
void *map = rdev_mmap(fh, sizeof(stage), stage.len); void *map = rdev_mmap(fh, sizeof(stage), stage.len);