UPSTREAM: soc/intel/apollolake: Fix bitshift issue in bootblock

Fix issue where zero-sized BIOS region could cause bitshift
for '-1' which is an unspecified behavior.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Andrey Petrov <andrey.petrov@intel.com>
Reviewed-on: https://review.coreboot.org/15727
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

Change-Id: Icb62bf413a1a0d293657503ef21fe97b5f9a5484
Reviewed-on: https://chromium-review.googlesource.com/361645
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Andrey Petrov 2016-07-18 07:59:03 -07:00 committed by chrome-bot
commit 72ef5b20f0

View file

@ -98,7 +98,10 @@ static void cache_bios_region(void)
return;
/* Only the IFD BIOS region is memory mapped (at top of 4G) */
rom_size = get_bios_size();
rom_size = get_bios_size();
if (!rom_size)
return;
/* Round to power of two */
alignment = 1 << (log2_ceil(rom_size));