[coreboot-gerrit] Patch set updated for coreboot: soc/intel/apollolake: cache the MMIO BIOS region

Aaron Durbin (adurbin@chromium.org) gerrit at coreboot.org
Fri Nov 11 05:15:37 CET 2016


Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17372

-gerrit

commit 9ef720a4bdd968dbd5d5c1eb26622dbd84ee3555
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Thu Nov 10 20:04:19 2016 -0600

    soc/intel/apollolake: cache the MMIO BIOS region
    
    If the boot media is memory mapped temporarily mark it as write
    protect MTRR type so that memory-mapped accesses are faster.
    
    Depthcharge payload loading was sped up by 75ms using this.
    
    BUG=chrome-os-partner:56656,chrome-os-partner:59682
    
    Change-Id: Iba87a51a05559d81b8e00fa4f6824dacf7a661f5
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/soc/intel/apollolake/cpu.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/soc/intel/apollolake/cpu.c b/src/soc/intel/apollolake/cpu.c
index 6b5dee2..e2d3a9d 100644
--- a/src/soc/intel/apollolake/cpu.c
+++ b/src/soc/intel/apollolake/cpu.c
@@ -183,4 +183,9 @@ void apollolake_init_cpus(device_t dev)
 	/* Clear for take-off */
 	if (mp_init_with_smm(dev->link_list, &mp_ops) < 0)
 		printk(BIOS_ERR, "MP initialization failure.\n");
+
+	/* Temporarily cache the memory-mapped boot media. */
+	if (IS_ENABLED(CONFIG_BOOT_DEVICE_MEMORY_MAPPED))
+		mtrr_use_temp_range(-CONFIG_ROM_SIZE, CONFIG_ROM_SIZE,
+					MTRR_TYPE_WRPROT);
 }



More information about the coreboot-gerrit mailing list