summaryrefslogtreecommitdiffstats
path: root/src/corelib/arch/armv6
Commit message (Collapse)AuthorAgeFilesLines
* Merge the armv6 and arm architecturesBradley T. Hughes2010-09-231-3/+0
| | | | | | | | | | | | | | | Instead of having multiple architectures, merge them and select the appropriate implementation based on what the compiler actually supports. The original qatomic_arm.h header has been renamed to qatomic_armv5.h, and qatomic_arm.h now does nothing more than including either qatomic_armv6.h or qatomic_armv5.h Since this changes the build-key for targets that previously used armv6, we need a 3rd compatibility build-key for the architecture. The configure script will always write out this build-key when building for arm (and silently converts -arch armv6 to -arch arm). Reviewed-by: thiago
* Move symbian specific qatomic_generic_armv6.cppBradley T. Hughes2010-09-231-472/+0
| | | | | | Put it in src/corelib/arch/symbian/ instead of src/corelib/arch/armv6/ Reviewed-by: thiago
* Implement symbian^3 e32atomics APIShane Kearns2010-03-151-0/+212
| | | | | | | | | | | | Symbian^3 provides an enhanced atomics API, which provides relaxed, acquire, release, ordered versions of each atomic operation. The armv5 and armv6 assembly atomics previously used in Qt are not SMP safe. The atomics provided by the OS will be SMP safe when using the SMP kernel, or similar ARM assembly implementations when using the uniprocessor kernel. Task-number: QTBUG-7655 Reviewed-by: mread
* Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | Reviewed-by: Trust Me
* Binary compatibility of Symbian ARMv5 and ARMv6 buildsShane Kearns2009-11-131-0/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use ARMv6 atomics where available Use OS atomics otherwise Integrate ARMV6 atomics to Symbian builds Use compiler defined macros to detect if ARMv6 instructions are available This defines the QT_HAVE_ARMV6 macro, replacing the way it was defined by the Symbian build system previously in qpainting.pri. qatomic_symbian now uses qatomic_arm or qatomic_armv6 automatically Port armv6 atomics to implement generic atomics interface The inline atomics are not inlined when we build for thumb using RVCT. So there is no performance improvement of using the "inline" versions vs a shared version called through a function call. The generic atomics interface is good for binary compatibility, as the same symbols are exported in all versions now. Changed the fallback generic atomics implementation from the unix one to a symbian specific one using RFastLock (identical code to the windows generic atomics, except for RFastLock replaces Win32 CRITICAL_SECTION) Note: GCCE atomics still need porting Tell git to ignore .lst listing files (produced by sbs/abld listing) ARMv6 support for GCCE compiler and fallback implementation using OS When building corelib with GCCE and -march=armv6, QT_HAVE_ARMV6 will be defined. This patch adds copies of the asm functions in GCC syntax. When building for the Symbian emulator, or ARMv5, then Symbian OS atomic functions are used as a fallback - these are more efficient than the unix atomics, and don't require data import (which the ARMv5 atomics use, but the OS loader doesn't support fully) Symbian OS functions are always used for QBasicAtomicInt::ref / deref, because these are faster than the generic function in all cases. They are machine coded for ARMv6, and are used internally by RFastLock. Reviewed-By: axis Reviewed-By: Brad
* Long live Qt for S60!axis2009-04-241-0/+3