Raspberry Pi2 notes
===================
+
+Memory access ordering
+----------------------
Accessing different peripherals migh return results out of order. See bcm2835
spec section 1.3. Use memory barriers as follows:
- place write barrier before the first write to a peripheral
Interrupt handlers should have a read barrier before their first read, and end
with a write barrier.
+Cache coherency
+---------------
+Two types of cache management:
+ - cache cleaning (write-back caches)
+ - cache invalidation (all caches)
+
Cache clean and invalidate operations are also needed before the GPU can see our
command buffers... see:
https://github.com/rsta2/uspi/blob/38eaff4f715643a9/lib/synchronize.c