aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Common
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-03-13 21:25:05 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-03-13 21:25:05 +0000
commit6005a42150bf4d713fd962498bde8b540fef4035 (patch)
treecaebf4a4a487b5544f49123add4d6cc3e9284918 /LUFA/Common
parentf301a4a21f34bea6c41872258a9dab3263f04e2a (diff)
downloadlufa-6005a42150bf4d713fd962498bde8b540fef4035.tar.gz
lufa-6005a42150bf4d713fd962498bde8b540fef4035.tar.bz2
lufa-6005a42150bf4d713fd962498bde8b540fef4035.zip
Add experimental support for the UC3A0, UC3A1 and UC3A3 series AVR32 microcontrollers.
Diffstat (limited to 'LUFA/Common')
-rw-r--r--LUFA/Common/Common.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h
index c2eeeade5..80bafce3c 100644
--- a/LUFA/Common/Common.h
+++ b/LUFA/Common/Common.h
@@ -214,6 +214,12 @@
*/
#define GCC_FORCE_POINTER_ACCESS(StructPtr) __asm__ __volatile__("" : "=b" (StructPtr) : "0" (StructPtr))
+ /** Forces GCC to create a memory barrier, ensuring that memory accesses are not reordered past the barrier point.
+ * This can be used before ordering-critical operations, to ensure that the compiler does not re-order the resulting
+ * assembly output in an unexpected manner on sections of code that are ordering-specific.
+ */
+ #define GCC_MEMORY_BARRIER() __asm__ __volatile__("" ::: "memory");
+
/* Inline Functions: */
/** Function to reverse the individual bits in a byte - i.e. bit 7 is moved to bit 0, bit 6 to bit 1,
* etc.