Skip to content

Commit c2400a4

Browse files
lyakhnashif
authored andcommitted
xtensa: ADSP: Intel: fix booting on APL with XCC
When built with XCC for Apollolake, Zephyr fails to boot with the default multi-core option enabled. Invalidate cache before reading the firmware image to fix that. Signed-off-by: Guennadi Liakhovetski <[email protected]>
1 parent aa144ca commit c2400a4

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

soc/xtensa/intel_adsp/common/bootloader/boot_loader.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ static inline void bmemcpy(void *dest, void *src, size_t bytes)
6868
uint32_t *s = src;
6969
int i;
7070

71+
z_xtensa_cache_inv(src, bytes);
7172
for (i = 0; i < (bytes >> 2); i++)
7273
d[i] = s[i];
7374

@@ -167,10 +168,13 @@ static void parse_manifest(void)
167168
struct sof_man_module *mod;
168169
int i;
169170

171+
z_xtensa_cache_inv(hdr, sizeof(*hdr));
172+
170173
/* copy module to SRAM - skip bootloader module */
171174
for (i = MAN_SKIP_ENTRIES; i < hdr->num_module_entries; i++) {
172175

173176
mod = (void *)((uintptr_t)desc + SOF_MAN_MODULE_OFFSET(i));
177+
z_xtensa_cache_inv(mod, sizeof(*mod));
174178
parse_module(hdr, mod);
175179
}
176180
}

0 commit comments

Comments
 (0)