Alexandru Gagniuc (alexandrux.gagniuc@intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14250
-gerrit
commit 9203e85252ae5eb37f86f80240028049225cd634 Author: Alexandru Gagniuc alexandrux.gagniuc@intel.com Date: Fri Mar 4 14:38:19 2016 -0800
soc/intel/common/mrc_cache: Honor MRC data as a constant pointer
The MRC cache API has absolutely no reason to modify the data it is asked to stash. Reflect that by taking all "data" parameters as const void *.
Change-Id: I7a14ffd7d5726aa9aa5db81df82c06e7f87b9d9f Signed-off-by: Alexandru Gagniuc alexandrux.gagniuc@intel.com --- src/drivers/intel/fsp1_1/romstage.c | 2 +- src/soc/intel/common/mrc_cache.c | 6 +++--- src/soc/intel/common/mrc_cache.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/drivers/intel/fsp1_1/romstage.c b/src/drivers/intel/fsp1_1/romstage.c index 3d698bb..c035f60 100644 --- a/src/drivers/intel/fsp1_1/romstage.c +++ b/src/drivers/intel/fsp1_1/romstage.c @@ -372,7 +372,7 @@ __attribute__((weak)) int mrc_cache_get_current( }
/* Save the memory configuration data */ -__attribute__((weak)) int mrc_cache_stash_data(void *data, size_t size) +__attribute__((weak)) int mrc_cache_stash_data(const void *data, size_t size) { printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__); return -1; diff --git a/src/soc/intel/common/mrc_cache.c b/src/soc/intel/common/mrc_cache.c index 1f59875..e96f7a7 100644 --- a/src/soc/intel/common/mrc_cache.c +++ b/src/soc/intel/common/mrc_cache.c @@ -162,7 +162,7 @@ int mrc_cache_get_current(const struct mrc_saved_data **cache) return mrc_cache_get_current_with_version(cache, 0); } /* Fill in mrc_saved_data structure with payload. */ -static void mrc_cache_fill(struct mrc_saved_data *cache, void *data, +static void mrc_cache_fill(struct mrc_saved_data *cache, const void *data, size_t size, uint32_t version) { cache->signature = MRC_DATA_SIGNATURE; @@ -173,7 +173,7 @@ static void mrc_cache_fill(struct mrc_saved_data *cache, void *data, cache->size); }
-int mrc_cache_stash_data_with_version(void *data, size_t size, +int mrc_cache_stash_data_with_version(const void *data, size_t size, uint32_t version) { int cbmem_size; @@ -199,7 +199,7 @@ int mrc_cache_stash_data_with_version(void *data, size_t size, return 0; }
-int mrc_cache_stash_data(void *data, size_t size) +int mrc_cache_stash_data(const void *data, size_t size) { return mrc_cache_stash_data_with_version(data, size, 0); } diff --git a/src/soc/intel/common/mrc_cache.h b/src/soc/intel/common/mrc_cache.h index 25d9316..9b14c1e 100644 --- a/src/soc/intel/common/mrc_cache.h +++ b/src/soc/intel/common/mrc_cache.h @@ -34,8 +34,8 @@ int mrc_cache_get_current_with_version(const struct mrc_saved_data **cache, uint32_t version);
/* Stash the resulting MRC data to be saved in non-volatile storage later. */ -int mrc_cache_stash_data(void *data, size_t size); -int mrc_cache_stash_data_with_version(void *data, size_t size, +int mrc_cache_stash_data(const void *data, size_t size); +int mrc_cache_stash_data_with_version(const void *data, size_t size, uint32_t version);
#endif /* _COMMON_MRC_CACHE_H_ */