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

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) 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; return;
const u64 heci_uma_addr = const u64 heci_uma_addr =
@@ -3215,8 +3215,10 @@ void raminit(const int s3resume, const u8 *spd_addrmap)
; ;
/* Wait for ME to be ready */ /* Wait for ME to be ready */
intel_early_me_init(); if (intel_early_me_init() == 0)
info.memory_reserved_for_heci_mb = intel_early_me_uma_size(); info.memory_reserved_for_heci_mb = intel_early_me_uma_size();
else
info.memory_reserved_for_heci_mb = 0;
/* before SPD */ /* before SPD */
timestamp_add_now(101); timestamp_add_now(101);