h6. » [[OS SWI Calls|OS]] h6(. » [[OS_MMUControl]] h6((. » [[OS_MMUControl 2]] h6(((. » IMB_List ARMop h2. IMB_List ARMop |_<^{width:4em}. Entry | | |<^. R0 |<^. Pointer to word-aligned list of (start, end) address pairs | |<^. R1 |<^. Pointer to end of list (past last valid entry) | |<^. R2 |<^. Total amount of memory to be synchronised | |_<^{width:4em}. Exit | | |<^. R0 |<^. Corrupt | h4. Use A variant of [[IMB_Range ARMop|IMB_Range]] that accepts a list of address ranges. h4. Notes If you have several areas to synchronise then using this call may result in significant performance gains, both from reducing the function call overhead and from optimisations in the algorithm itself (e.g. only flushing the instruction cache once for StrongARM). As with [[IMB_Range ARMop|IMB_Range]], start & end addresses are inclusive-exclusive and must be cache line aligned. The list must contain at least one entry, and must not contain zero-length entries. The total length given in R2 is used to decide whether a full IMB ([[IMB_Full ARMop|IMB_Full]]) be performed instead. h4. See also * [[OS_MMUControl 2]] * [[IMB_Range ARMop]]