lib/cbfs: Add CBFS_CACHE_ALIGN Kconfig option
This option will allow platforms to set the alignment of the cbfs_cache buffers. BUG=b:179699789 TEST=gdb -ex 'p cbfs_cache' /tmp/coreboot/guybrush/cbfs/fallback/ramstage.debug $1 = {buf = 0x0, size = 0, alignment = 8, last_alloc = 0x0, second_to_last_alloc = 0x0, free_offset = 0} Signed-off-by: Raul E Rangel <rrangel@chromium.org> Change-Id: I74598d4bcbca9a01cc8c65012d7e4ae341d052b1 Reviewed-on: https://review.coreboot.org/c/coreboot/+/58706 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
5ac82dcc20
commit
6938f353ca
|
@ -99,6 +99,12 @@ config NO_CBFS_MCACHE
|
||||||
lookup must re-read the same CBFS directory entries from flash to find
|
lookup must re-read the same CBFS directory entries from flash to find
|
||||||
the respective file.
|
the respective file.
|
||||||
|
|
||||||
|
config CBFS_CACHE_ALIGN
|
||||||
|
int
|
||||||
|
default 8
|
||||||
|
help
|
||||||
|
Sets the alignment of the buffers returned by the cbfs_cache.
|
||||||
|
|
||||||
config PAYLOAD_PRELOAD
|
config PAYLOAD_PRELOAD
|
||||||
bool
|
bool
|
||||||
depends on COOP_MULTITASKING
|
depends on COOP_MULTITASKING
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#if ENV_STAGE_HAS_DATA_SECTION
|
#if ENV_STAGE_HAS_DATA_SECTION
|
||||||
struct mem_pool cbfs_cache =
|
struct mem_pool cbfs_cache =
|
||||||
MEM_POOL_INIT(_cbfs_cache, REGION_SIZE(cbfs_cache), sizeof(uint64_t));
|
MEM_POOL_INIT(_cbfs_cache, REGION_SIZE(cbfs_cache), CONFIG_CBFS_CACHE_ALIGN);
|
||||||
#else
|
#else
|
||||||
struct mem_pool cbfs_cache = MEM_POOL_INIT(NULL, 0, 0);
|
struct mem_pool cbfs_cache = MEM_POOL_INIT(NULL, 0, 0);
|
||||||
#endif
|
#endif
|
||||||
|
@ -29,7 +29,7 @@ static void switch_to_postram_cache(int unused)
|
||||||
{
|
{
|
||||||
if (_preram_cbfs_cache != _postram_cbfs_cache)
|
if (_preram_cbfs_cache != _postram_cbfs_cache)
|
||||||
mem_pool_init(&cbfs_cache, _postram_cbfs_cache, REGION_SIZE(postram_cbfs_cache),
|
mem_pool_init(&cbfs_cache, _postram_cbfs_cache, REGION_SIZE(postram_cbfs_cache),
|
||||||
sizeof(uint64_t));
|
CONFIG_CBFS_CACHE_ALIGN);
|
||||||
}
|
}
|
||||||
ROMSTAGE_CBMEM_INIT_HOOK(switch_to_postram_cache);
|
ROMSTAGE_CBMEM_INIT_HOOK(switch_to_postram_cache);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue