aboutsummaryrefslogtreecommitdiff
path: root/src/include/stage_cache.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/stage_cache.h')
-rw-r--r--src/include/stage_cache.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/include/stage_cache.h b/src/include/stage_cache.h
index 28cb85998b..192cfb9014 100644
--- a/src/include/stage_cache.h
+++ b/src/include/stage_cache.h
@@ -32,14 +32,21 @@ enum {
STAGE_S3_DATA,
};
+#if CONFIG(CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM) \
+ || CONFIG(RELOCATABLE_RAMSTAGE)
/* Cache the loaded stage provided according to the parameters. */
void stage_cache_add(int stage_id, const struct prog *stage);
+/* Load the cached stage at given location returning the stage entry point. */
+void stage_cache_load_stage(int stage_id, struct prog *stage);
+#else /* CONFIG_NO_STAGE_CACHE */
+static inline void stage_cache_add(int stage_id, const struct prog *stage) {}
+static inline void stage_cache_load_stage(int stage_id, struct prog *stage) {}
+#endif
+
/* Cache non-specific data or code. */
void stage_cache_add_raw(int stage_id, const void *base, const size_t size);
/* Get a pointer to cached raw data and its size. */
void stage_cache_get_raw(int stage_id, void **base, size_t *size);
-/* Load the cached stage at given location returning the stage entry point. */
-void stage_cache_load_stage(int stage_id, struct prog *stage);
/* Fill in parameters for the external stage cache, if utilized. */
void stage_cache_external_region(void **base, size_t *size);