Merge pull request #38 from lentillog/feature/dynarec
[picodrive.git] / cpu / drc / cmn.c
index cfb0219..f788eca 100644 (file)
 #include <pico/pico_int.h>
 #include "cmn.h"
 
+#ifdef _MSC_VER
+u8 tcache[DRC_TCACHE_SIZE];
+#elif defined(VITA)
+#include <psp2/kernel/sysmem.h>
+u8 *tcache;
+static int sceBlock;
+int getVMBlock();
+#else
 u8 __attribute__((aligned(4096))) tcache[DRC_TCACHE_SIZE];
+#endif
 
 
 void drc_cmn_init(void)
 {
+#ifdef VITA
+   sceBlock = getVMBlock();
+   sceKernelGetMemBlockBase(sceBlock, (void **)&tcache);
+#endif
+
   int ret = plat_mem_set_exec(tcache, sizeof(tcache));
   elprintf(EL_STATUS, "drc_cmn_init: %p, %zd bytes: %d",
     tcache, sizeof(tcache), ret);
 
 #ifdef __arm__
+  if (PicoOpt & POPT_EN_DRC)
   {
     static int test_done;
     if (!test_done)