[Scummvm-cvs-logs] SF.net SVN: scummvm:[52546] scummvm/branches/gsoc2010-plugins/backends/ plugins
dhewg at users.sourceforge.net
dhewg at users.sourceforge.net
Sun Sep 5 14:37:07 CEST 2010
Revision: 52546
http://scummvm.svn.sourceforge.net/scummvm/?rev=52546&view=rev
Author: dhewg
Date: 2010-09-05 12:37:07 +0000 (Sun, 05 Sep 2010)
Log Message:
-----------
PLUGINS: Flush only memory ranges, not everything
Modified Paths:
--------------
scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.cpp
scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.h
Modified: scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.cpp 2010-09-05 12:36:46 UTC (rev 52545)
+++ scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.cpp 2010-09-05 12:37:07 UTC (rev 52546)
@@ -39,7 +39,8 @@
#ifdef __PSP__
#include "backends/platform/psp/powerman.h"
-#include "psputils.h"
+#include <psputils.h>
+#include <psputilsforkernel.h>
#endif
#ifdef __DS__
@@ -59,16 +60,20 @@
/**
* Flushes the data cache (Platform Specific).
*/
-static void flushDataCache() {
+static void flushDataCache(void *ptr, uint32 len) {
#ifdef __DS__
- DC_FlushAll();
+ DC_FlushRange(ptr, len);
+ IC_InvalidateRange(ptr, len);
#endif
#ifdef __PLAYSTATION2__
- FlushCache(0);
- FlushCache(2);
+ (void) ptr;
+ (void) len;
+ FlushCache(0);
+ FlushCache(2);
#endif
#ifdef __PSP__
- sceKernelDcacheWritebackAll();
+ sceKernelDcacheWritebackRange(ptr, len);
+ sceKernelIcacheInvalidateRange(ptr, len);
#endif
}
@@ -326,7 +331,7 @@
DBG("loaded!/n");
- flushDataCache();
+ flushDataCache(_segment, _segmentSize);
ctors_start = symbol("___plugin_ctors");
ctors_end = symbol("___plugin_ctors_end");
Modified: scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.h 2010-09-05 12:36:46 UTC (rev 52545)
+++ scummvm/branches/gsoc2010-plugins/backends/plugins/elf-loader.h 2010-09-05 12:37:07 UTC (rev 52546)
@@ -47,7 +47,7 @@
int _symtab_sect;
void *_dtors_start, *_dtors_end;
- int _segmentSize;
+ uint32 _segmentSize;
//void seterror(const char *fmt, ...);
virtual void unload();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list