diff options
author | Angel Pons <th3fanbus@gmail.com> | 2021-02-24 23:08:27 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-02-27 09:39:13 +0000 |
commit | 4447996cc582d2c8745802b84b1f5a635e33a22a (patch) | |
tree | 9c6f83f01aa0649478175149e62469d88bfa23e8 /src | |
parent | 8fec6a87df6769b1579b803958653a816a405a94 (diff) |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/northbridge/intel/ironlake/raminit.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/northbridge/intel/ironlake/raminit.c b/src/northbridge/intel/ironlake/raminit.c index 9ba21d06b8..a5de86a7db 100644 --- a/src/northbridge/intel/ironlake/raminit.c +++ b/src/northbridge/intel/ironlake/raminit.c @@ -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); |