diff options
| author | Michael Sevakis <jethead71@rockbox.org> | 2009-02-11 12:55:51 +0000 |
|---|---|---|
| committer | Michael Sevakis <jethead71@rockbox.org> | 2009-02-11 12:55:51 +0000 |
| commit | 21f0c9a2829415f52b64cbdf965b01525e78f17a (patch) | |
| tree | b5cb8021097722969f75784011c9f64f991c0c3d /apps/plugins | |
| parent | 4cd7597172d916db9fc99bde4c03b669366f852a (diff) | |
| download | rockbox-21f0c9a2829415f52b64cbdf965b01525e78f17a.zip rockbox-21f0c9a2829415f52b64cbdf965b01525e78f17a.tar.gz rockbox-21f0c9a2829415f52b64cbdf965b01525e78f17a.tar.bz2 rockbox-21f0c9a2829415f52b64cbdf965b01525e78f17a.tar.xz | |
Make basic cache functions into calls, and get rid of CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19971 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
| -rw-r--r-- | apps/plugins/mpegplayer/alloc.c | 2 | ||||
| -rw-r--r-- | apps/plugins/mpegplayer/mpegplayer.c | 2 | ||||
| -rw-r--r-- | apps/plugins/mpegplayer/video_thread.c | 8 | ||||
| -rw-r--r-- | apps/plugins/rockboy/dynarec.c | 2 | ||||
| -rw-r--r-- | apps/plugins/test_codec.c | 6 |
5 files changed, 9 insertions, 11 deletions
diff --git a/apps/plugins/mpegplayer/alloc.c b/apps/plugins/mpegplayer/alloc.c index a69b6ac..da92f87 100644 --- a/apps/plugins/mpegplayer/alloc.c +++ b/apps/plugins/mpegplayer/alloc.c @@ -149,7 +149,7 @@ bool mpeg_alloc_init(unsigned char *buf, size_t mallocsize) return false; } - IF_COP(invalidate_icache()); + IF_COP(rb->cpucache_invalidate()); return true; } diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index 6e8f935..eaf8f24 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c @@ -296,8 +296,6 @@ CONFIG_KEYPAD == SANSA_M200_PAD #endif #endif -CACHE_FUNCTION_WRAPPERS; - /* One thing we can do here for targets with remotes is having a display * always on the remote instead of always forcing a popup on the main display */ diff --git a/apps/plugins/mpegplayer/video_thread.c b/apps/plugins/mpegplayer/video_thread.c index 8b84686..6d60e64 100644 --- a/apps/plugins/mpegplayer/video_thread.c +++ b/apps/plugins/mpegplayer/video_thread.c @@ -524,7 +524,7 @@ static void video_thread_msg(struct video_thread_data *td) } else { - IF_COP(invalidate_icache()); + IF_COP(rb->cpucache_invalidate()); vo_lock(); rb->lcd_update(); vo_unlock(); @@ -996,7 +996,7 @@ bool video_thread_init(void) { intptr_t rep; - IF_COP(flush_icache()); + IF_COP(rb->cpucache_flush()); video_str.hdr.q = &video_str_queue; rb->queue_init(video_str.hdr.q, false); @@ -1014,7 +1014,7 @@ bool video_thread_init(void) /* Wait for thread to initialize */ rep = str_send_msg(&video_str, STREAM_NULL, 0); - IF_COP(invalidate_icache()); + IF_COP(rb->cpucache_invalidate()); return rep == 0; /* Normally STREAM_NULL should be ignored */ } @@ -1026,7 +1026,7 @@ void video_thread_exit(void) { str_post_msg(&video_str, STREAM_QUIT, 0); rb->thread_wait(video_str.thread); - IF_COP(invalidate_icache()); + IF_COP(rb->cpucache_invalidate()); video_str.thread = 0; } } diff --git a/apps/plugins/rockboy/dynarec.c b/apps/plugins/rockboy/dynarec.c index 7c466de..afe6caa 100644 --- a/apps/plugins/rockboy/dynarec.c +++ b/apps/plugins/rockboy/dynarec.c @@ -1905,7 +1905,7 @@ void dynamic_recompile (struct dynarec_block *newblock) PC=oldpc; setmallocpos(dynapointer); newblock->length=dynapointer-newblock->block; - invalidate_icache(); + IF_COP(rb->cpucache_invalidate()); snprintf(meow,499,"/dyna_0x%x_code.rb",PC); fd=open(meow,O_WRONLY|O_CREAT|O_TRUNC); if(fd>=0) diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c index ec5c8e9..3260360 100644 --- a/apps/plugins/test_codec.c +++ b/apps/plugins/test_codec.c @@ -480,9 +480,9 @@ static void init_ci(void) ci.profile_func_exit = rb->profile_func_exit; #endif -#ifdef CACHE_FUNCTIONS_AS_CALL - ci.invalidate_icache = invalidate_icache; - ci.flush_icache = flush_icache; +#if NUM_CORES > 1 + ci.cpucache_invalidate = rb->cpucache_invalidate; + ci.cpucache_flush = rb->cpucache_flush; #endif #if NUM_CORES > 1 |