codecs_crt0.c needs to call cpucache_invalidate after copying code around.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28052 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
28b30d4772
commit
6af762f2bf
3 changed files with 6 additions and 10 deletions
|
@ -118,10 +118,8 @@ struct codec_api ci = {
|
|||
semaphore_release,
|
||||
#endif
|
||||
|
||||
#if NUM_CORES > 1
|
||||
cpucache_flush,
|
||||
cpucache_invalidate,
|
||||
#endif
|
||||
|
||||
/* strings and memory */
|
||||
strcpy,
|
||||
|
|
|
@ -78,12 +78,12 @@
|
|||
#define CODEC_ENC_MAGIC 0x52454E43 /* RENC */
|
||||
|
||||
/* increase this every time the api struct changes */
|
||||
#define CODEC_API_VERSION 34
|
||||
#define CODEC_API_VERSION 35
|
||||
|
||||
/* update this to latest version if a change to the api struct breaks
|
||||
backwards compatibility (and please take the opportunity to sort in any
|
||||
new function which are "waiting" at the end of the function table) */
|
||||
#define CODEC_MIN_API_VERSION 34
|
||||
#define CODEC_MIN_API_VERSION 35
|
||||
|
||||
/* codec return codes */
|
||||
enum codec_status {
|
||||
|
@ -176,10 +176,8 @@ struct codec_api {
|
|||
void (*semaphore_release)(struct semaphore *s);
|
||||
#endif /* NUM_CORES */
|
||||
|
||||
#if NUM_CORES > 1
|
||||
void (*cpucache_flush)(void);
|
||||
void (*cpucache_invalidate)(void);
|
||||
#endif
|
||||
|
||||
/* strings and memory */
|
||||
char* (*strcpy)(char *dst, const char *src);
|
||||
|
|
|
@ -47,10 +47,10 @@ enum codec_status codec_start(void)
|
|||
#endif
|
||||
ci->memset(plugin_bss_start, 0, plugin_end_addr - plugin_bss_start);
|
||||
#endif
|
||||
#if NUM_CORES > 1
|
||||
/* writeback cleared iedata and bss areas */
|
||||
ci->cpucache_flush();
|
||||
#endif
|
||||
/* writeback cleared iedata and bss areas, invalidate icache for
|
||||
* copied code */
|
||||
ci->cpucache_invalidate();
|
||||
|
||||
return codec_main();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue