diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/skylake/memmap.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/soc/intel/skylake/memmap.c b/src/soc/intel/skylake/memmap.c index 96debfd53f..17dbc320c6 100644 --- a/src/soc/intel/skylake/memmap.c +++ b/src/soc/intel/skylake/memmap.c @@ -150,7 +150,8 @@ u32 top_of_32bit_ram(void) * PRMMR_BASE MSR. The system hangs if PRMRR_BASE MSR is read before * PRMRR_MASK MSR lock bit is set. */ - if (smm_region_start() == 0) + top_of_ram = smm_region_start(); + if (top_of_ram == 0) return 0; dev = dev_find_slot(0, PCI_DEVFN(SA_DEV_SLOT_ROOT, 0)); @@ -163,7 +164,8 @@ u32 top_of_32bit_ram(void) * Refer to Fsp Integration Guide for the memory mapping layout. */ prmrr_base = rdmsr(UNCORE_PRMRR_PHYS_BASE_MSR); - top_of_ram = prmrr_base.lo; + if (prmrr_base.lo) + top_of_ram = prmrr_base.lo; if (config->ProbelessTrace) top_of_ram -= TRACE_MEMORY_SIZE; |