Showing changes from revision #1 to #2:
Added | Removed | Changed
Entry | |
---|---|
R9 | R2 from OS_Memory 19 input / R9 output from previous Input Function call |
R12 | R1 from OS_Memory 19 input |
SVC32 mode, interrupts enabled |
Exit | (32 bit addresses) |
---|---|
R0 | Start address of region |
R1 | Length of region (0 if end of transfer) |
R2 | Flags: |
Bit 0: Bounce buffer will be used | |
Bits 1+: Reserved (zero) | |
R9 | New R9 for next Input call |
R12 | Corrupt |
- | All other registers preserved |
Exit | (64 bit addresses) |
---|---|
R0,R1 | Start address of region |
R2 | Flags: |
Bit 0: Bounce buffer will be used | |
Bits 1+: Reserved (zero) | |
R3 | Length of region (0 if end of transfer) |
R9 | New R9 for next Input call |
R12 | Corrupt |
- | All other registers preserved |
OS_Memory 19 calls this function to retrieve details about the next region of the buffer involved in the DMA transfer.
The Bit address 11 returned in R0 should be either a logical or physical address, as indicated by the value you provided in bit 8 of theOS_Memory 19 flags. flags should be used to indicate whether your code is using the 32 bit or 64 bit interface.
The address returned in R0 (or R0/R1) should be either a logical or physical address, as indicated by the value you provided in bit 8 of the OS_Memory 19 flags.
By indicating that a bounce buffer will be used, OS_Memory 19 will avoid performing cache maintenance operations for the indicated region.