summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2015-04-21 17:20:39 +0000
committerjoerg <joerg@pkgsrc.org>2015-04-21 17:20:39 +0000
commitb4821a3a3e7f6f838491c90d37695ea068f99c92 (patch)
tree206ba7512bcbe4f1eccf7b76b56372dbb8b43bff /emulators
parent8fc91ff4e7afa75cc6d58fdf88539178c89bed18 (diff)
downloadpkgsrc-b4821a3a3e7f6f838491c90d37695ea068f99c92.tar.gz
Support ARM.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/mame/distinfo3
-rw-r--r--emulators/mame/patches/patch-src_osd_sdl_osinline.h34
2 files changed, 36 insertions, 1 deletions
diff --git a/emulators/mame/distinfo b/emulators/mame/distinfo
index 19ef077d5f3..c0224da4196 100644
--- a/emulators/mame/distinfo
+++ b/emulators/mame/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.34 2015/04/02 22:33:55 wiz Exp $
+$NetBSD: distinfo,v 1.35 2015/04/21 17:20:39 joerg Exp $
SHA1 (mame0160s.zip) = db3d2f10a5c9ef00f629bfd8ab5665874ef581c2
RMD160 (mame0160s.zip) = 95a0edb499dc81a690ca13040954c87f586ec673
Size (mame0160s.zip) = 80937878 bytes
SHA1 (patch-makefile) = 57837dbc8571682e4fd73a2be5771df109c7225f
+SHA1 (patch-src_osd_sdl_osinline.h) = f710a75a51b603905913f2b282c2fc8b92066466
diff --git a/emulators/mame/patches/patch-src_osd_sdl_osinline.h b/emulators/mame/patches/patch-src_osd_sdl_osinline.h
new file mode 100644
index 00000000000..6d5ee6c485c
--- /dev/null
+++ b/emulators/mame/patches/patch-src_osd_sdl_osinline.h
@@ -0,0 +1,34 @@
+$NetBSD: patch-src_osd_sdl_osinline.h,v 1.1 2015/04/21 17:20:39 joerg Exp $
+
+--- src/osd/sdl/osinline.h.orig 2015-04-17 15:09:28.000000000 +0000
++++ src/osd/sdl/osinline.h
+@@ -83,6 +83,29 @@ _osd_exchange64(INT64 volatile *ptr, INT
+
+ #endif /* __ppc64__ || __PPC64__ */
+
++#elif defined(__arm__)
++INLINE void ATTR_FORCE_INLINE
++osd_yield_processor(void)
++{
++}
++
++INLINE INT32 ATTR_UNUSED ATTR_NONNULL(1) ATTR_FORCE_INLINE
++_osd_exchange32(INT32 volatile *ptr, INT32 exchange)
++{
++ INT32 before;
++ do {
++ before = *ptr;
++ } while (!__sync_bool_compare_and_swap(ptr, before, exchange));
++ return before;
++}
++
++INLINE int ATTR_UNUSED ATTR_NONNULL(1) ATTR_FORCE_INLINE
++_osd_compare_exchange32(INT32 volatile *ptr, INT32 before, INT32 after)
++{
++ return __sync_bool_compare_and_swap(ptr, before, after);
++}
++#define osd_exchange32 _osd_exchange32
++#define osd_compare_exchange32 _osd_compare_exchange32
+ #else
+
+ #error "no matching assembler implementations found - please compile with NOASM=1"