nb/intel/ironlake: Handle broken ME firmware

This allows booting without ME firmware, even though the 30-minute
auto-shutdown still happens. Without this patch, an HP ProBook 6550b
cannot get past the `setup_heci_uma` function call.

Change-Id: I446c02ac6034ede75cb873a2e676c40e4ef84b7c
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51072
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Angel Pons 2021-02-24 23:08:27 +01:00 committed by Patrick Georgi
parent 8fec6a87df
commit 4447996cc5
1 changed files with 5 additions and 3 deletions

View File

@ -1725,7 +1725,7 @@ static void send_heci_uma_message(const u64 heci_uma_addr, const unsigned int he
static void setup_heci_uma(struct raminfo *info)
{
if (!info->memory_reserved_for_heci_mb && !(pci_read_config32(HECIDEV, 0x40) & 0x20))
if (!info->memory_reserved_for_heci_mb || !(pci_read_config32(HECIDEV, 0x40) & 0x20))
return;
const u64 heci_uma_addr =
@ -3215,8 +3215,10 @@ void raminit(const int s3resume, const u8 *spd_addrmap)
;
/* Wait for ME to be ready */
intel_early_me_init();
info.memory_reserved_for_heci_mb = intel_early_me_uma_size();
if (intel_early_me_init() == 0)
info.memory_reserved_for_heci_mb = intel_early_me_uma_size();
else
info.memory_reserved_for_heci_mb = 0;
/* before SPD */
timestamp_add_now(101);