summaryrefslogtreecommitdiff
path: root/src/lib/prog_loaders.c
diff options
context:
space:
mode:
authorRaul E Rangel <rrangel@chromium.org>2021-11-05 10:29:24 -0600
committerRaul Rangel <rrangel@chromium.org>2021-11-16 21:45:36 +0000
commitb25576fa6368f288f1ce3e34f87894d6cd3859d1 (patch)
treea91cc47dba05934a3a94da0070327f556afda75a /src/lib/prog_loaders.c
parent571e7f02de2d9e4047c28ace45430a777252cba3 (diff)
src/lib/prog_loaders: Add preload_ramstage
This will enable preloading ramstage. By preloading the file into cbfs_cache we reduce boot time. BUG=b:179699789 TEST=Boot guybrush to OS and see 12ms reduction in boot time. Signed-off-by: Raul E Rangel <rrangel@chromium.org> Change-Id: Ibe12de806449da25bc0033b02fcb97c3384eddc1 Reviewed-on: https://review.coreboot.org/c/coreboot/+/58982 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/lib/prog_loaders.c')
-rw-r--r--src/lib/prog_loaders.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/prog_loaders.c b/src/lib/prog_loaders.c
index 8ad646a10c..878f729ef9 100644
--- a/src/lib/prog_loaders.c
+++ b/src/lib/prog_loaders.c
@@ -75,7 +75,15 @@ static int load_relocatable_ramstage(struct prog *ramstage)
return rmodule_stage_load(&rmod_ram);
}
+void preload_ramstage(void)
+{
+ if (!CONFIG(CBFS_PRELOAD))
+ return;
+ printk(BIOS_DEBUG, "Preloading ramstage\n");
+
+ cbfs_preload(CONFIG_CBFS_PREFIX "/ramstage");
+}
void run_ramstage(void)
{
struct prog ramstage =