commonlib/mem_pool: Allow configuring the alignment
AMD platforms require the destination to be 64 byte aligned in order to use the SPI DMA controller. This is enforced by the destination address register because the first 6 bits are marked as reserved. This change adds an option to the mem_pool so the alignment can be configured. BUG=b:179699789 TEST=Boot guybrush to OS Signed-off-by: Raul E Rangel <rrangel@chromium.org> Change-Id: I8d77ffe4411f86c54450305320c9f52ab41a3075 Reviewed-on: https://review.coreboot.org/c/coreboot/+/56580 Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
committed by
Patrick Georgi
parent
533fc4dfb1
commit
5ac82dcc20
@ -19,16 +19,17 @@
|
||||
#include <timestamp.h>
|
||||
|
||||
#if ENV_STAGE_HAS_DATA_SECTION
|
||||
struct mem_pool cbfs_cache = MEM_POOL_INIT(_cbfs_cache, REGION_SIZE(cbfs_cache));
|
||||
struct mem_pool cbfs_cache =
|
||||
MEM_POOL_INIT(_cbfs_cache, REGION_SIZE(cbfs_cache), sizeof(uint64_t));
|
||||
#else
|
||||
struct mem_pool cbfs_cache = MEM_POOL_INIT(NULL, 0);
|
||||
struct mem_pool cbfs_cache = MEM_POOL_INIT(NULL, 0, 0);
|
||||
#endif
|
||||
|
||||
static void switch_to_postram_cache(int unused)
|
||||
{
|
||||
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));
|
||||
}
|
||||
ROMSTAGE_CBMEM_INIT_HOOK(switch_to_postram_cache);
|
||||
|
||||
|
Reference in New Issue
Block a user