summaryrefslogtreecommitdiff
path: root/apps/plugin.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-09-28 10:20:02 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-09-28 10:20:02 +0000
commit7914e90738ff37e6378b37632eb1f05bab7354d5 (patch)
tree6b3d6a6bac4c7a3f82fa212d5f3ed324d81dc8bb /apps/plugin.h
parentedbf5d81f5a635a0db68039554b086f942b3e005 (diff)
downloadrockbox-7914e90738ff37e6378b37632eb1f05bab7354d5.zip
rockbox-7914e90738ff37e6378b37632eb1f05bab7354d5.tar.gz
rockbox-7914e90738ff37e6378b37632eb1f05bab7354d5.tar.bz2
rockbox-7914e90738ff37e6378b37632eb1f05bab7354d5.tar.xz
Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugin.h')
-rw-r--r--apps/plugin.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/apps/plugin.h b/apps/plugin.h
index a2e24f8..5f868e5 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -112,7 +112,7 @@
#define PLUGIN_MAGIC 0x526F634B /* RocK */
/* increase this every time the api struct changes */
-#define PLUGIN_API_VERSION 77
+#define PLUGIN_API_VERSION 78
/* update this to latest version if a change to the api struct breaks
backwards compatibility (and please take the opportunity to sort in any
@@ -627,6 +627,11 @@ struct plugin_api {
#if defined(TOSHIBA_GIGABEAT_F) || defined(SANSA_E200)
void (*lcd_yuv_set_options)(unsigned options);
#endif
+
+#ifdef CACHE_FUNCTIONS_AS_CALL
+ void (*flush_icache)(void);
+ void (*invalidate_icache)(void);
+#endif
};
/* plugin header */
@@ -710,4 +715,22 @@ enum plugin_status plugin_start(struct plugin_api* rockbox, void* parameter)
return (api)->memcmp(s1, s2, n); \
}
+#ifndef CACHE_FUNCTION_WRAPPERS
+
+#ifdef CACHE_FUNCTIONS_AS_CALL
+#define CACHE_FUNCTION_WRAPPERS(api) \
+ void flush_icache(void) \
+ { \
+ (api)->flush_icache(); \
+ } \
+ void invalidate_icache(void) \
+ { \
+ (api)->invalidate_icache(); \
+ }
+#else
+#define CACHE_FUNCTION_WRAPPERS(api)
+#endif /* CACHE_FUNCTIONS_AS_CALL */
+
+#endif /* CACHE_FUNCTION_WRAPPERS */
+
#endif