h6. [[OS SWI Calls]] h6(. » [[OS_Memory]] h6((. » [[OS_Memory 19]] h6(((. » Output Function h2. Output Function |_<^{width:4em}. Entry | (32 bit addresses) | |<^. R0 |<^. Logical address of start of region | |<^. R1 |<^. Physical address of start of region | |<^. R2 |<^. Length of region | |/3<^. R3 |<^. Flags: | |<^. Bit 0: Bounce buffer must be used | |<^. Bits 1+: Reserved | |<^. R9 |<^. R4 from [[OS_Memory 19]] input / R9 output from previous Output Function call | |<^. R12 |<^. R1 from [[OS_Memory 19]] input | |\2<^. SVC32 mode, interrupts enabled | |_<^{width:4em}. Entry | (64 bit addresses) | |<^. R0 |<^. Logical address of start of region | |<^. R1,R2 |<^. Physical address of start of region | |/3<^. R3 |<^. Flags: | |<^. Bit 0: Bounce buffer must be used | |<^. Bits 1+: Reserved | |<^. R4 |<^. Length of region | |<^. R9 |<^. R4 from [[OS_Memory 19]] input / R9 output from previous Output Function call | |<^. R12 |<^. R1 from [[OS_Memory 19]] input | |\2<^. SVC32 mode, interrupts enabled | |_<^{width:4em}. Exit | | |<^. R9 |<^. New R9 for next Output call | |<^. R0-R3, R12 |<^. Corrupt | |<^. - |<^. All other registers preserved | h4. Use [[OS_Memory 19]] calls this function to pass the details of processed buffer regions to your code. h4. Notes Bit 11 of the OS_Memory 19 flags should be used to indicate whether your code is using the 32 bit or 64 bit interface. If OS_Memory 19 indicates that a bounce buffer must be used for a region, then it's imperative to not perform DMA to that region, and only perform CPU access instead. h4. See also * [[OS_Memory]] * [[OS_Memory 19]]