[PATCH v2 06/16] x86: Don't set up MTRRs if previously done

Simon Glass sjg at chromium.org
Sat Apr 24 06:56:16 CEST 2021

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 <sjg at chromium.org>

Reviewed-by: Bin Meng <bmeng.cn at 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())
 	mtrr_cap = native_read_msr(MTRR_CAP_MSR);

More information about the U-Boot mailing list