X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=rpikern;a=blobdiff_plain;f=doc%2Fnotes.md;h=5a372d8dc344fc148c63871e1c4fa8e1df4b2211;hp=0d4e804551d7cc0fdcf460bcd8f15fb9116108c6;hb=99bdc8838f189f79ba77bfbbf41d7f1b4839ce0f;hpb=6da291dc416a718164b5596aa16b1901f2770732 diff --git a/doc/notes.md b/doc/notes.md index 0d4e804..5a372d8 100644 --- a/doc/notes.md +++ b/doc/notes.md @@ -1,6 +1,18 @@ Raspberry Pi2 notes =================== -The following is not all confirmed. +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 + - place read barrier after the last read of a peripheral + +Multiple accesses to the same peripheral in a row do not require barriers. + +Interrupt handlers should have a read barrier before their first read, and end +with a write barrier. + +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 Memory map ----------