#include <log.h>
#include <mapmem.h>
#include <asm/io.h>
-#include <malloc.h>
#include <memalign.h>
#include <asm/global_data.h>
#ifdef CONFIG_DM_HASH
#include <bootm.h>
#include <image.h>
#include <bootstage.h>
+#include <malloc.h>
#include <upl.h>
#include <u-boot/crc.h>
log_debug("decompressing image\n");
if (load == data) {
- loadbuf = malloc(max_decomp_len);
+ loadbuf = memalign(8, max_decomp_len);
load = map_to_sysmem(loadbuf);
} else {
loadbuf = map_sysmem(load, max_decomp_len);
return -ENOEXEC;
}
len = load_end - load;
+ } else if (load_op != FIT_LOAD_IGNORED && image_type == IH_TYPE_FLATDT &&
+ ((uintptr_t)buf & 7)) {
+ loadbuf = memalign(8, len);
+ load = map_to_sysmem(loadbuf);
+ memcpy(loadbuf, buf, len);
} else if (load != data) {
log_debug("copying\n");
loadbuf = map_sysmem(load, len);