summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-08-04 00:11:41 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-08-04 00:11:41 +0000
commit8edfff979b9bd65145f5b6d5a83bb86f64d84dde (patch)
treecd7247bcacb2e3490fac538dace13736b9298b73 /apps
parent7f85b5b907d8f9a5545e3bfec80c19c3083cd303 (diff)
downloadrockbox-8edfff979b9bd65145f5b6d5a83bb86f64d84dde.tar.gz
rockbox-8edfff979b9bd65145f5b6d5a83bb86f64d84dde.zip
Flush-out cleared sections on dual core targets when loading plugins and codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14172 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/codec_crt0.c4
-rw-r--r--apps/plugin.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/apps/codecs/codec_crt0.c b/apps/codecs/codec_crt0.c
index 96dc862fb5..c9c2cba370 100644
--- a/apps/codecs/codec_crt0.c
+++ b/apps/codecs/codec_crt0.c
@@ -42,5 +42,9 @@ enum codec_status codec_start(struct codec_api *api)
42 api->memset(plugin_bss_start, 0, plugin_end_addr - plugin_bss_start); 42 api->memset(plugin_bss_start, 0, plugin_end_addr - plugin_bss_start);
43#endif 43#endif
44 ci = api; 44 ci = api;
45#if NUM_CORES > 1
46 /* writeback cleared iedata and bss areas */
47 flush_icache();
48#endif
45 return codec_main(); 49 return codec_main();
46} 50}
diff --git a/apps/plugin.c b/apps/plugin.c
index fee3a51851..5028bfdd3c 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -718,6 +718,10 @@ void plugin_iram_init(char *iramstart, char *iramcopy, size_t iram_size,
718 memcpy(iramstart, iramcopy, iram_size); 718 memcpy(iramstart, iramcopy, iram_size);
719 memset(iedata, 0, iedata_size); 719 memset(iedata, 0, iedata_size);
720 memset(iramcopy, 0, iram_size); 720 memset(iramcopy, 0, iram_size);
721#if NUM_CORES > 1
722 /* writeback cleared iedata and iramcopy areas */
723 flush_icache();
724#endif
721} 725}
722#endif /* IRAM_STEAL */ 726#endif /* IRAM_STEAL */
723 727