x86: Commit the current MTRRs before relocation
authorSimon Glass <sjg@chromium.org>
Thu, 1 Jan 2015 23:18:11 +0000 (16:18 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 13 Jan 2015 15:25:01 +0000 (07:25 -0800)
Once we stop running from ROM we should set up the MTTRs to speed up
execution. This is only needed for platforms that don't have an FSP.
Also in the Coreboot case, the MTRRs are set up for us.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/lib/init_helpers.c

index be4eb12c53c0e5f12dbe3af235a10d0fdf6b9392..fc211d9d5c4924e6ed924154777e534c60177322 100644 (file)
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <spi.h>
+#include <asm/mtrr.h>
 #include <asm/sections.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -66,6 +67,13 @@ int calculate_relocation_address(void)
 
 int init_cache_f_r(void)
 {
+#if defined(CONFIG_X86_RESET_VECTOR) & !defined(CONFIG_HAVE_FSP)
+       int ret;
+
+       ret = mtrr_commit(false);
+       if (ret)
+               return ret;
+#endif
        /* Initialise the CPU cache(s) */
        return init_cache();
 }