diff options
author | Angel Pons <th3fanbus@gmail.com> | 2021-03-30 11:01:25 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-04-06 07:09:30 +0000 |
commit | 6462cbb2c20bae0cf309a3eb4ce70adff573e75a (patch) | |
tree | e6465e5ff0070bb2a5f7129adb8705364b344b8b /src/cpu/x86/sse_enable.inc | |
parent | cc36c4c235eb8e36d5a48477fadc6fb08997c1f2 (diff) |
nb/intel/haswell: Ensure MCH has acked raminit
Haswell MRC.bin can return zero even when raminit did not complete
successfully. When this happens, the memory controller will not have
acknowledged raminit: the mc_init_done_ack bit in the MC_INIT_STATE_G
register will be zero, and memory accesses will lock up the system.
To handle this situation more gracefully, check the mc_init_done_ack bit
after running MRC. If the bit is not set, log a fatal error and halt.
Tested on Asrock B85M Pro4:
- With badly-seated DIMMs, MRC raminit fails and coreboot dies.
- After reseating the DIMMs, the board still boots successfully.
Change-Id: I144bf827f65cd0be319c44bf3d407ddc116b129d
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51940
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/cpu/x86/sse_enable.inc')
0 files changed, 0 insertions, 0 deletions