diff options
author | Rob Clark <robdclark@gmail.com> | 2017-09-13 22:05:36 (GMT) |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2017-09-20 08:48:09 (GMT) |
commit | 946160f334ddaf2dd0dfd4bc72485f9ce39dc2cd (patch) | |
tree | 3aa3178232473b99931ff1b77987b7f356bbf01b /lib | |
parent | 838ee4b4798629ed88254e431cf17d4955b793bf (diff) | |
download | u-boot-946160f334ddaf2dd0dfd4bc72485f9ce39dc2cd.tar.xz |
efi_loader: make pool allocations cacheline aligned
This avoids printf() spam about file reads (such as loading an image)
into unaligned buffers (and the associated memcpy()). And generally
seems like a good idea.
Signed-off-by: Rob Clark <robdclark@gmail.com>
[agraf: use __aligned]
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_loader/efi_memory.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c index 9e079f1..d47759e 100644 --- a/lib/efi_loader/efi_memory.c +++ b/lib/efi_loader/efi_memory.c @@ -43,7 +43,7 @@ void *efi_bounce_buffer; */ struct efi_pool_allocation { u64 num_pages; - char data[]; + char data[] __aligned(ARCH_DMA_MINALIGN); }; /* @@ -356,7 +356,8 @@ efi_status_t efi_allocate_pool(int pool_type, unsigned long size, { efi_status_t r; efi_physical_addr_t t; - u64 num_pages = (size + sizeof(u64) + EFI_PAGE_MASK) >> EFI_PAGE_SHIFT; + u64 num_pages = (size + sizeof(struct efi_pool_allocation) + + EFI_PAGE_MASK) >> EFI_PAGE_SHIFT; if (size == 0) { *buffer = NULL; |