+/*
+ * PicoDrive
+ * Copyright (C) 2009,2010 notaz
+ *
+ * This work is licensed under the terms of MAME license.
+ * See COPYING file in the top-level directory.
+ */
#include <stdio.h>
-#if defined(__linux__) && defined(ARM)
+#ifdef __linux__
#include <sys/mman.h>
#endif
#include "cmn.h"
-u32 tcache[DRC_TCACHE_SIZE/4];
+u8 __attribute__((aligned(4096))) tcache[DRC_TCACHE_SIZE];
void drc_cmn_init(void)
{
-#if defined(__linux__) && defined(ARM)
+#ifdef __linux__
void *tmp;
- tmp = mmap(tcache, DRC_TCACHE_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_SHARED|MAP_ANONYMOUS, -1, 0);
+ tmp = mmap(tcache, DRC_TCACHE_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|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)
+#ifdef __linux__
int ret;
ret = munmap(tcache, DRC_TCACHE_SIZE);
printf("munmap tcache: %i\n", ret);