image: fit: Align hash output buffers
Hardware-accelerated hash functions require that the input and output
buffers be aligned to the minimum DMA alignment. memalign.h helpfully
provides a macro just for this purpose. It doesn't exist on the host,
but we don't need to be aligned there either.
Fixes: 5dfb521386
("[new uImage] New uImage low-level API")
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
e6fe02a571
commit
b583348ca8
@ -24,6 +24,7 @@
|
||||
#include <mapmem.h>
|
||||
#include <asm/io.h>
|
||||
#include <malloc.h>
|
||||
#include <memalign.h>
|
||||
#include <asm/global_data.h>
|
||||
#ifdef CONFIG_DM_HASH
|
||||
#include <dm.h>
|
||||
@ -1263,7 +1264,8 @@ int calculate_hash(const void *data, int data_len, const char *name,
|
||||
static int fit_image_check_hash(const void *fit, int noffset, const void *data,
|
||||
size_t size, char **err_msgp)
|
||||
{
|
||||
uint8_t value[FIT_MAX_HASH_LEN];
|
||||
DEFINE_ALIGN_BUFFER(uint8_t, value, FIT_MAX_HASH_LEN,
|
||||
ARCH_DMA_MINALIGN);
|
||||
int value_len;
|
||||
const char *algo;
|
||||
uint8_t *fit_value;
|
||||
|
@ -41,6 +41,9 @@ static inline ulong map_to_sysmem(void *ptr)
|
||||
return (ulong)(uintptr_t)ptr;
|
||||
}
|
||||
|
||||
#define ARCH_DMA_MINALIGN 1
|
||||
#define DEFINE_ALIGN_BUFFER(type, name, size, alugn) type name[size]
|
||||
|
||||
#define MKIMAGE_TMPFILE_SUFFIX ".tmp"
|
||||
#define MKIMAGE_MAX_TMPFILE_LEN 256
|
||||
#define MKIMAGE_DEFAULT_DTC_OPTIONS "-I dts -O dtb -p 500"
|
||||
|
Loading…
Reference in New Issue
Block a user