summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/stage_cache.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/stage_cache.h b/src/include/stage_cache.h
index 08312ff554..28cb85998b 100644
--- a/src/include/stage_cache.h
+++ b/src/include/stage_cache.h
@@ -20,14 +20,24 @@
#include <stdint.h>
#include <program_loading.h>
+/* Types of stages that may be stored in stage cache */
enum {
STAGE_RAMSTAGE,
STAGE_REFCODE,
STAGE_POSTCAR,
};
+/* Types of raw data that may be stored in stage cache */
+enum {
+ STAGE_S3_DATA,
+};
+
/* Cache the loaded stage provided according to the parameters. */
void stage_cache_add(int stage_id, const struct prog *stage);
+/* 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. */