[Vm-dev] [commit][3103] Add ARMV7 defines for various support files.
commits at squeakvm.org
commits at squeakvm.org
Mon Oct 13 21:24:20 UTC 2014
Revision: 3103
Author: eliot
Date: 2014-10-13 14:24:18 -0700 (Mon, 13 Oct 2014)
Log Message:
-----------
Add ARMV7 defines for various support files.
Modified Paths:
--------------
branches/Cog/platforms/Cross/vm/sqAtomicOps.h
branches/Cog/platforms/Cross/vm/sqMemoryFence.h
branches/Cog/platforms/unix/vm/sqUnixHeartbeat.c
branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/platforms/Cross/vm/sqAtomicOps.h
===================================================================
--- branches/Cog/platforms/Cross/vm/sqAtomicOps.h 2014-10-13 20:51:55 UTC (rev 3102)
+++ branches/Cog/platforms/Cross/vm/sqAtomicOps.h 2014-10-13 21:24:18 UTC (rev 3103)
@@ -137,7 +137,7 @@
# endif /* __SSE2__ */
# else /* TARGET_OS_IS_IPHONE elif x86 variants etc */
-#if defined(__arm__) && defined(__ARM_ARCH_6__)
+#if defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__))
/* tpr - this is code intended for the Raspberry Pi Raspbian OS
* We'll experimentally trust in our MMU to keep 64bit accesses atomic */
#define get64(var) \
@@ -177,7 +177,7 @@
#endif
#elif defined TARGET_OS_IS_IPHONE
#define sqAtomicAddConst(var,n) OSAtomicAdd32(n,&var)
-#elif defined(__arm__) && defined(__ARM_ARCH_6__)
+#elif defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__))
/* tpr - this is code intended for the Raspberry Pi Raspbian OS */
/* We'll experimentally use the gcc inbuilt functions detailed in
* http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Atomic-Builtins.html
@@ -230,7 +230,7 @@
# define sqCompareAndSwap(var,old,new) OSAtomicCompareAndSwap32(old, new, &var)
# define sqCompareAndSwapRes(var,old,new,res) res = var; OSAtomicCompareAndSwap32(old, new, &var)
-#elif defined(__arm__) && defined(__ARM_ARCH_6__)
+#elif defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__))
/* tpr - this is code intended for the Raspberry Pi Raspbian OS */
/* We'll experimentally use the gcc inbuilt functions detailed in
* http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Atomic-Builtins.html */
Modified: branches/Cog/platforms/Cross/vm/sqMemoryFence.h
===================================================================
--- branches/Cog/platforms/Cross/vm/sqMemoryFence.h 2014-10-13 20:51:55 UTC (rev 3102)
+++ branches/Cog/platforms/Cross/vm/sqMemoryFence.h 2014-10-13 21:24:18 UTC (rev 3103)
@@ -47,7 +47,7 @@
# define sqLowLevelMFence() asm volatile ("mfence")
# endif
#else
-# if defined(TARGET_OS_IS_IPHONE) || (defined(__arm__) && defined(__ARM_ARCH_6__))
+# if defined(TARGET_OS_IS_IPHONE) || (defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__)))
# define sqLowLevelMFence() __sync_synchronize()
# elif !defined(sqLowLevelMFence)
extern void sqLowLevelMFence(void);
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Mon Oct 13 13:50:53 PDT 2014
+ Mon Oct 13 14:24:26 PDT 2014
Modified: branches/Cog/platforms/unix/vm/sqUnixHeartbeat.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixHeartbeat.c 2014-10-13 20:51:55 UTC (rev 3102)
+++ branches/Cog/platforms/unix/vm/sqUnixHeartbeat.c 2014-10-13 21:24:18 UTC (rev 3103)
@@ -164,7 +164,7 @@
|| defined(i486) || defined(__i486) || defined (__i486__) \
|| defined(intel) || defined(x86) || defined(i86pc) )
__asm__ __volatile__ ("rdtsc" : "=A"(value));
-#elif defined(__arm__) && defined(__ARM_ARCH_6__)
+#elif defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__))
/* tpr - do nothing for now; needs input from eliot to decide further */
#else
# error "no high res clock defined"
Modified: branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c 2014-10-13 20:51:55 UTC (rev 3102)
+++ branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c 2014-10-13 21:24:18 UTC (rev 3103)
@@ -164,7 +164,7 @@
|| defined(i486) || defined(__i486) || defined (__i486__) \
|| defined(intel) || defined(x86) || defined(i86pc) )
__asm__ __volatile__ ("rdtsc" : "=A"(value));
-#elif defined(__arm__) && defined(__ARM_ARCH_6__)
+#elif defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__))
/* tpr - do nothing for now; needs input from eliot to decide further */
#else
# error "no high res clock defined"
Modified: branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c 2014-10-13 20:51:55 UTC (rev 3102)
+++ branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c 2014-10-13 21:24:18 UTC (rev 3103)
@@ -157,7 +157,7 @@
|| defined(i486) || defined(__i486) || defined (__i486__) \
|| defined(intel) || defined(x86) || defined(i86pc) )
__asm__ __volatile__ ("rdtsc" : "=A"(value));
-#elif defined(__arm__) && defined(__ARM_ARCH_6__)
+#elif defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__))
/* tpr - do nothing for now; needs input from eliot to decide further */
#else
# error "no high res clock defined"
More information about the Vm-dev
mailing list