From be2512973d04f3da3cebfd3e7ee10809fbe4ae4a Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Thu, 12 Dec 2013 10:10:52 -0800 Subject: ramstage_cache: allow ramstage usage add valid helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow ramstage cache to be used from ramstage proper. Also add a helper function for checking validity of ramstage cache structure. BUG=chrome-os-partner:22867 BRANCH=None TEST=Built and booted. S3 resumed. Change-Id: If1f2ad1bcf64504b42e315be243a12432b50e3d5 Signed-off-by: Aaron Durbin Reviewed-on: https://chromium-review.googlesource.com/179775 Reviewed-by: Duncan Laurie Reviewed-on: http://review.coreboot.org/5011 Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki --- src/include/ramstage_cache.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/include') diff --git a/src/include/ramstage_cache.h b/src/include/ramstage_cache.h index 5b0597a828..8d9b095177 100644 --- a/src/include/ramstage_cache.h +++ b/src/include/ramstage_cache.h @@ -20,9 +20,8 @@ #ifndef _RAMSTAGE_CACHE_ #define _RAMSTAGE_CACHE_ -#if !defined(__PRE_RAM__) -#error "ramstage_cache only used in romstage for loading ramstage." -#endif +#include +#include /* This structure is saved along with the relocated ramstage program when * CONFIG_RELOCATED_RAMSTAGE is employed. For x86, it can used to protect @@ -46,4 +45,9 @@ struct ramstage_cache *ramstage_cache_location(long *size); /* Chipset/Board function called when cache is invalid on resume. */ void ramstage_cache_invalid(struct ramstage_cache *cache); +static inline int ramstage_cache_is_valid(const struct ramstage_cache *c) +{ + return (c != NULL && c->magic == RAMSTAGE_CACHE_MAGIC); +} + #endif /* _RAMSTAGE_CACHE_ */ -- cgit v1.2.3