target: msm8974: Use cache line aligned buffer
Use cache line aligned buffer to ensure proper cache line
operations
Change-Id: I2a88879b95ed9bb65303b833b1de8ec77942fc50
diff --git a/target/msm8974/init.c b/target/msm8974/init.c
index e1ab1c2..0ec0b1f 100644
--- a/target/msm8974/init.c
+++ b/target/msm8974/init.c
@@ -46,6 +46,7 @@
#include <partition_parser.h>
#include <scm.h>
#include <platform/clock.h>
+#include <stdlib.h>
extern bool target_use_signed_kernel(void);
static void set_sdc_power_ctrl();
@@ -208,7 +209,6 @@
/* Do any target specific intialization needed before entering fastboot mode */
#ifdef SSD_ENABLE
-static uint32_t buffer[SSD_PARTITION_SIZE] __attribute__ ((aligned(32)));
static void ssd_load_keystore_from_emmc()
{
uint64_t ptn = 0;
@@ -216,6 +216,14 @@
uint32_t size = SSD_PARTITION_SIZE;
int ret = -1;
+ uint32_t *buffer = (uint32_t *)memalign(CACHE_LINE,
+ ROUNDUP(SSD_PARTITION_SIZE, CACHE_LINE));
+
+ if (!buffer) {
+ dprintf(CRITICAL, "Error Allocating memory for SSD buffer\n");
+ ASSERT(0);
+ }
+
index = partition_get_index("ssd");
ptn = partition_get_offset(index);
@@ -232,6 +240,8 @@
ret = scm_protect_keystore((uint32_t *)&buffer[0],size);
if(ret != 0)
dprintf(CRITICAL,"ERROR: scm_protect_keystore Failed");
+
+ free(buffer);
}
#endif