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 <[email protected]>
---

 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.0.208.g409f899ff0-goog

Reply via email to