From a4028154f91575a20f55d6983baa69e01d0a0d9b Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Wed, 19 Aug 2015 15:32:07 -0400 Subject: [PATCH] Fix to prevent EXC_BAD_ACCESS on iPhone MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is inelegant and should only be temporary but resolves the issue of CodeCache and ICache “getting lost” during initialization. --- core/hw/arm7/arm7.cpp | 4 ++++ core/hw/sh4/dyna/driver.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/core/hw/arm7/arm7.cpp b/core/hw/arm7/arm7.cpp index 05e53b238..b3bcec1bc 100644 --- a/core/hw/arm7/arm7.cpp +++ b/core/hw/arm7/arm7.cpp @@ -2157,7 +2157,11 @@ void armt_init() verify(false); } +#if TARGET_IPHONE + memset((u8*)mmap(ICache, ICacheSize, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_PRIVATE | MAP_ANON, 0, 0),0xFF,ICacheSize); +#else memset(ICache,0xFF,ICacheSize); +#endif #endif diff --git a/core/hw/sh4/dyna/driver.cpp b/core/hw/sh4/dyna/driver.cpp index 8403cd366..f708cd9a0 100644 --- a/core/hw/sh4/dyna/driver.cpp +++ b/core/hw/sh4/dyna/driver.cpp @@ -455,7 +455,11 @@ void recSh4_Init() } #endif +#if TARGET_IPHONE + memset((u8*)mmap(CodeCache, CODE_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_PRIVATE | MAP_ANON, 0, 0),0xFF,CODE_SIZE); +#else memset(CodeCache,0xFF,CODE_SIZE); +#endif #endif ngen_init();