From 663fc55992e210a2b0299764bacac3663f32613b Mon Sep 17 00:00:00 2001 From: gizmo98 Date: Fri, 13 Feb 2015 16:33:04 +0100 Subject: arm_features.h Add ARM architectures 8A and 6M Just copied macros from gcc source code: https://github.com/gcc-mirror/gcc/blob/113a5d9f83975b703ec06a1d2baa30604d322cf1/libatomic/config/arm/arm-config.h#L54 --- include/arm_features.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/include/arm_features.h b/include/arm_features.h index bb48a2b..1f749da 100644 --- a/include/arm_features.h +++ b/include/arm_features.h @@ -1,7 +1,14 @@ #ifndef __ARM_FEATURES_H__ #define __ARM_FEATURES_H__ -#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ +#if defined(__ARM_ARCH_8A__) + +#define HAVE_ARMV8 +#define HAVE_ARMV7 +#define HAVE_ARMV6 +#define HAVE_ARMV5 + +#elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \ || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7S__) @@ -11,7 +18,8 @@ #elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \ - || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) + || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \ + || defined(__ARM_ARCH_6M__) #define HAVE_ARMV6 #define HAVE_ARMV5 -- cgit v1.2.3 From 85f2398236b54db46340dad14330102f281ca4f3 Mon Sep 17 00:00:00 2001 From: notaz Date: Wed, 25 Mar 2015 00:39:24 +0200 Subject: psxmem: fix error handling also bump libpicofe for mmap fix --- frontend/libpicofe | 2 +- libpcsxcore/psxmem.c | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/frontend/libpicofe b/frontend/libpicofe index 9fec8a9..26ea181 160000 --- a/frontend/libpicofe +++ b/frontend/libpicofe @@ -1 +1 @@ -Subproject commit 9fec8a91c9b19856ac0b51de53b847b38ed8dc61 +Subproject commit 26ea18173c1228dd5ce39e2a88ffe1ae10fcb365 diff --git a/libpcsxcore/psxmem.c b/libpcsxcore/psxmem.c index 86da68c..6277220 100644 --- a/libpcsxcore/psxmem.c +++ b/libpcsxcore/psxmem.c @@ -49,20 +49,21 @@ void *psxMap(unsigned long addr, size_t size, int is_fixed, retry: if (psxMapHook != NULL) { - ret = psxMapHook(addr, size, is_fixed, tag); - goto out; + ret = psxMapHook(addr, size, 0, tag); + if (ret == NULL) + return NULL; + } + else { + /* avoid MAP_FIXED, it overrides existing mappings.. */ + /* if (is_fixed) + flags |= MAP_FIXED; */ + + req = (void *)addr; + ret = mmap(req, size, PROT_READ | PROT_WRITE, flags, -1, 0); + if (ret == MAP_FAILED) + return NULL; } - /* avoid MAP_FIXED, it overrides existing mappings.. */ - /* if (is_fixed) - flags |= MAP_FIXED; */ - - req = (void *)addr; - ret = mmap(req, size, PROT_READ | PROT_WRITE, flags, -1, 0); - if (ret == MAP_FAILED) - return NULL; - -out: if (addr != 0 && ret != (void *)addr) { SysMessage("psxMap: warning: wanted to map @%08x, got %p\n", addr, ret); @@ -72,8 +73,7 @@ out: return NULL; } - if (ret != NULL && ((addr ^ (long)ret) & 0x00ffffff) - && !tried_to_align) + if (((addr ^ (long)ret) & 0x00ffffff) && !tried_to_align) { psxUnmap(ret, size, tag); -- cgit v1.2.3