aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/new_dynarec/new_dynarec.c
diff options
context:
space:
mode:
authorfrangarcj2016-09-06 13:54:38 +0200
committerfrangarcj2016-09-06 13:54:38 +0200
commitd9e6b42f224f10d8b6f2454da1f5d80735f8e0d6 (patch)
tree0598984da241294d07e692b49a0d034efab37bfc /libpcsxcore/new_dynarec/new_dynarec.c
parent1a5fd79401ac52789fad34c6b852b947200a6334 (diff)
downloadpcsx_rearmed-d9e6b42f224f10d8b6f2454da1f5d80735f8e0d6.tar.gz
pcsx_rearmed-d9e6b42f224f10d8b6f2454da1f5d80735f8e0d6.tar.bz2
pcsx_rearmed-d9e6b42f224f10d8b6f2454da1f5d80735f8e0d6.zip
(VITA) Another dynarec fix
Diffstat (limited to 'libpcsxcore/new_dynarec/new_dynarec.c')
-rw-r--r--libpcsxcore/new_dynarec/new_dynarec.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c
index 1c0ab56..56c8a0b 100644
--- a/libpcsxcore/new_dynarec/new_dynarec.c
+++ b/libpcsxcore/new_dynarec/new_dynarec.c
@@ -7980,17 +7980,18 @@ void new_dynarec_clear_full()
void new_dynarec_init()
{
SysPrintf("Init new dynarec\n");
- out=(u_char *)BASE_ADDR;
-#if defined(VITA)
- if (mmap (out, 1<<TARGET_SIZE_2,
+#if defined(VITA)
+ BASE_ADDR=mmap(BASE_ADDR, 1<<TARGET_SIZE_2,
0,
0,
- -1, 0) <= 0) {
+ -1, 0);
+ if (out<=0) {
SysPrintf("mmap() failed: %s\n", strerror(errno));
}
-
+ out=(u_char *)BASE_ADDR;
#else
+ out=(u_char *)BASE_ADDR;
#if BASE_ADDR_FIXED
if (mmap (out, 1<<TARGET_SIZE_2,
PROT_READ | PROT_WRITE | PROT_EXEC,
@@ -8068,7 +8069,7 @@ void new_dynarec_init()
void new_dynarec_cleanup()
{
int n;
- #if BASE_ADDR_FIXED
+ #if BASE_ADDR_FIXED || defined(VITA)
if (munmap ((void *)BASE_ADDR, 1<<TARGET_SIZE_2) < 0) {SysPrintf("munmap() failed\n");}
#endif
for(n=0;n<4096;n++) ll_clear(jump_in+n);