From 7914e90738ff37e6378b37632eb1f05bab7354d5 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Fri, 28 Sep 2007 10:20:02 +0000 Subject: 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 --- apps/plugin.h | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'apps/plugin.h') diff --git a/apps/plugin.h b/apps/plugin.h index a2e24f88d9..5f868e5654 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 -- cgit v1.2.3