32x: split sh2 code, compiler stub
[picodrive.git] / cpu / drc / cmn.c
diff --git a/cpu/drc/cmn.c b/cpu/drc/cmn.c
new file mode 100644 (file)
index 0000000..1f15a0f
--- /dev/null
@@ -0,0 +1,36 @@
+#include <stdio.h>
+#if defined(__linux__) && defined(ARM)
+#include <sys/mman.h>
+#endif
+
+#include "cmn.h"
+
+#ifndef ARM
+unsigned int tcache[SSP_TCACHE_SIZE/4];
+unsigned int *ssp_block_table[0x5090/2];
+unsigned int *ssp_block_table_iram[15][0x800/2];
+char ssp_align[SSP_BLOCKTAB_ALIGN_SIZE];
+#endif
+
+
+void drc_cmn_init(void)
+{
+#if defined(__linux__) && defined(ARM)
+       void *tmp;
+
+       tmp = mmap(tcache, SSP_DRC_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_SHARED|MAP_ANONYMOUS, -1, 0);
+       printf("mmap tcache: %p, asked %p\n", tmp, tcache);
+#endif
+
+}
+
+// TODO: add calls in core, possibly to cart.c?
+void drc_cmn_cleanup(void)
+{
+#if defined(__linux__) && defined(ARM)
+       int ret;
+       ret = munmap(tcache, SSP_DRC_SIZE);
+       printf("munmap tcache: %i\n", ret);
+#endif
+}
+