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@chromium.org> Reviewed-on: https://review.coreboot.org/17372 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Andrey Petrov <andrey.petrov@intel.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
parent
2bebd7bc93
commit
bf696f5602
|
@ -183,4 +183,9 @@ void apollolake_init_cpus(device_t dev)
|
||||||
/* Clear for take-off */
|
/* Clear for take-off */
|
||||||
if (mp_init_with_smm(dev->link_list, &mp_ops) < 0)
|
if (mp_init_with_smm(dev->link_list, &mp_ops) < 0)
|
||||||
printk(BIOS_ERR, "MP initialization failure.\n");
|
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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue