arm: mach-omap2: Pass args to secure ROM in SRAM in SPL
authorAndrew F. Davis <afd@ti.com>
Tue, 16 Jan 2018 20:25:48 +0000 (14:25 -0600)
committerTom Rini <trini@konsulko.com>
Sun, 28 Jan 2018 14:39:05 +0000 (09:39 -0500)
When in early SPL we make some secure ROM calls that can effect
DRAM, due to this it is more stable to store the args for these
calls in SRAM, but uninitialized and zero'd globals are placed
in BSS, located in DRAM. Force our args into the data section
which is in SRAM during SPL.

Signed-off-by: Andrew F. Davis <afd@ti.com>
arch/arm/mach-omap2/sec-common.c

index 896cb7036fa5cfe872bf18faf5d06ab80adf8846..bd003cb5ee55d309687475f3c4340a2417c29098 100644 (file)
@@ -56,7 +56,7 @@ struct ppa_tee_load_info {
        u32 tee_arg0;          /* argument to TEE jump function, in r0 */
 };
 
-static uint32_t secure_rom_call_args[5] __aligned(ARCH_DMA_MINALIGN);
+static uint32_t secure_rom_call_args[5] __aligned(ARCH_DMA_MINALIGN) __section(".data");
 
 u32 secure_rom_call(u32 service, u32 proc_id, u32 flag, ...)
 {