When starting U-Boot from a previous-stage bootloader we presumably don't
need to set up the variable MTRRs. In fact this could be harmful if the
existing settings are not what U-Boot uses.

Skip that step in this case.

Signed-off-by: Simon Glass <s...@chromium.org>

Reviewed-by: Bin Meng <bmeng...@gmail.com>
---

(no changes since v1)

 arch/x86/cpu/i386/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/cpu/i386/cpu.c b/arch/x86/cpu/i386/cpu.c
index e59215cc20e..c7f6c5a013e 100644
--- a/arch/x86/cpu/i386/cpu.c
+++ b/arch/x86/cpu/i386/cpu.c
@@ -423,7 +423,7 @@ static void setup_mtrr(void)
        u64 mtrr_cap;
 
        /* Configure fixed range MTRRs for some legacy regions */
-       if (!gd->arch.has_mtrr)
+       if (!gd->arch.has_mtrr || !ll_boot_init())
                return;
 
        mtrr_cap = native_read_msr(MTRR_CAP_MSR);
-- 
2.31.1.498.g6c1eba8ee3d-goog

Reply via email to