loading: move ramstage cache function declarations
The functions related to caching ramstage were in cbfs.h. Now that the loading code is separate move those declarations to the common program_loading.h. Change-Id: Ib22ef8a9c66e1d2b53388bceb8386baa6302d28b Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/8835 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
7c2eb0d78b
commit
fcfdff84f4
@ -76,43 +76,5 @@ void *cbfs_simple_buffer_unmap(struct cbfs_simple_buffer *buffer,
|
|||||||
/* Defined in individual arch / board implementation. */
|
/* Defined in individual arch / board implementation. */
|
||||||
int init_default_cbfs_media(struct cbfs_media *media);
|
int init_default_cbfs_media(struct cbfs_media *media);
|
||||||
|
|
||||||
#if defined(__PRE_RAM__)
|
|
||||||
struct romstage_handoff;
|
|
||||||
struct cbmem_entry;
|
|
||||||
|
|
||||||
#if CONFIG_RELOCATABLE_RAMSTAGE && defined(__PRE_RAM__)
|
|
||||||
/* The cache_loaded_ramstage() and load_cached_ramstage() functions are defined
|
|
||||||
* to be weak so that board and chipset code may override them. Their job is to
|
|
||||||
* cache and load the ramstage for quick S3 resume. By default a copy of the
|
|
||||||
* relocated ramstage is saved using the cbmem infrastructure. These
|
|
||||||
* functions are only valid during romstage. */
|
|
||||||
|
|
||||||
/* The implementer of cache_loaded_ramstage() may use the romstage_handoff
|
|
||||||
* structure to store information, but note that the handoff variable can be
|
|
||||||
* NULL. The ramstage cbmem_entry represents the region occupied by the loaded
|
|
||||||
* ramstage. */
|
|
||||||
void cache_loaded_ramstage(struct romstage_handoff *handoff,
|
|
||||||
const struct cbmem_entry *ramstage, void *entry_point);
|
|
||||||
/* Return NULL on error or entry point on success. The ramstage cbmem_entry is
|
|
||||||
* the region where to load the cached contents to. */
|
|
||||||
void * load_cached_ramstage(struct romstage_handoff *handoff,
|
|
||||||
const struct cbmem_entry *ramstage);
|
|
||||||
#else /* CONFIG_RELOCATABLE_RAMSTAGE */
|
|
||||||
|
|
||||||
static inline void cache_loaded_ramstage(struct romstage_handoff *handoff,
|
|
||||||
const struct cbmem_entry *ramstage, void *entry_point)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void *
|
|
||||||
load_cached_ramstage(struct romstage_handoff *handoff,
|
|
||||||
const struct cbmem_entry *ramstage)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* CONFIG_RELOCATABLE_RAMSTAGE */
|
|
||||||
#endif /* defined(__PRE_RAM__) */
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -40,8 +40,44 @@ void run_romstage(void);
|
|||||||
* RAMSTAGE LOADING *
|
* RAMSTAGE LOADING *
|
||||||
************************/
|
************************/
|
||||||
|
|
||||||
|
struct romstage_handoff;
|
||||||
struct cbmem_entry;
|
struct cbmem_entry;
|
||||||
|
|
||||||
|
#if defined(__PRE_RAM__)
|
||||||
|
#if CONFIG_RELOCATABLE_RAMSTAGE
|
||||||
|
/* The cache_loaded_ramstage() and load_cached_ramstage() functions are defined
|
||||||
|
* to be weak so that board and chipset code may override them. Their job is to
|
||||||
|
* cache and load the ramstage for quick S3 resume. By default a copy of the
|
||||||
|
* relocated ramstage is saved using the cbmem infrastructure. These
|
||||||
|
* functions are only valid during romstage. */
|
||||||
|
|
||||||
|
/* The implementer of cache_loaded_ramstage() may use the romstage_handoff
|
||||||
|
* structure to store information, but note that the handoff variable can be
|
||||||
|
* NULL. The ramstage cbmem_entry represents the region occupied by the loaded
|
||||||
|
* ramstage. */
|
||||||
|
void cache_loaded_ramstage(struct romstage_handoff *handoff,
|
||||||
|
const struct cbmem_entry *ramstage, void *entry_point);
|
||||||
|
/* Return NULL on error or entry point on success. The ramstage cbmem_entry is
|
||||||
|
* the region where to load the cached contents to. */
|
||||||
|
void * load_cached_ramstage(struct romstage_handoff *handoff,
|
||||||
|
const struct cbmem_entry *ramstage);
|
||||||
|
#else /* CONFIG_RELOCATABLE_RAMSTAGE */
|
||||||
|
|
||||||
|
static inline void cache_loaded_ramstage(struct romstage_handoff *handoff,
|
||||||
|
const struct cbmem_entry *ramstage, void *entry_point)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void *
|
||||||
|
load_cached_ramstage(struct romstage_handoff *handoff,
|
||||||
|
const struct cbmem_entry *ramstage)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* CONFIG_RELOCATABLE_RAMSTAGE */
|
||||||
|
#endif /* defined(__PRE_RAM__) */
|
||||||
|
|
||||||
/* Run ramstage from romstage. */
|
/* Run ramstage from romstage. */
|
||||||
void run_ramstage(void);
|
void run_ramstage(void);
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <cbfs.h>
|
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
|
#include <program_loading.h>
|
||||||
#include <ramstage_cache.h>
|
#include <ramstage_cache.h>
|
||||||
#include <romstage_handoff.h>
|
#include <romstage_handoff.h>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user