app: aboot: Align DMA buffers to cacheline
DMA buffers must be aligned to cacheline to prevent dirty data from
being evicted due to cache invalidate calls.
Change-Id: I8f2d8ccffd077682f8e816b2bebac40c75c1beb5
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index 575e8e4..045c189 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -1596,7 +1596,7 @@
unsigned long long ptn;
unsigned long long ptn_size;
unsigned blocksize = mmc_get_device_blocksize();
- char buf[blocksize];
+ STACKBUF_DMA_ALIGN(buf, blocksize);
index = partition_get_index(frp_ptns[0]);
if (index == INVALID_PTN)
@@ -1613,7 +1613,7 @@
ptn_size = partition_get_size(index);
offset = ptn_size - blocksize;
- if (mmc_read(ptn + offset, (void *)buf, sizeof(buf)))
+ if (mmc_read(ptn + offset, (void *)buf, blocksize))
{
dprintf(CRITICAL, "Reading MMC failed\n");
return -1;
@@ -1631,7 +1631,7 @@
unsigned long long ptn;
unsigned long long ptn_size;
unsigned blocksize = mmc_get_device_blocksize();
- char buf[blocksize];
+ STACKBUF_DMA_ALIGN(buf, blocksize);
index = partition_get_index(frp_ptns[0]);
if (index == INVALID_PTN)
@@ -1648,7 +1648,7 @@
ptn_size = partition_get_size(index);
offset = ptn_size - blocksize;
- if (mmc_read(ptn + offset, (void *)buf, sizeof(buf)))
+ if (mmc_read(ptn + offset, (void *)buf, blocksize))
{
dprintf(CRITICAL, "Reading MMC failed\n");
return -1;