Line 92: |
Line 92: |
| | 1 || || Lower 32-bits of address. | | | 1 || || Lower 32-bits of address. |
| |- | | |- |
− | | 2 || 1-0 || Flags. Always set to 0, 1 or 3. Determines what [[SVC|MemoryState]] to use with the mapped memory in the sysmodule. | + | | 2 || 1-0 || Flags. Always set to 0, 1 or 3. |
| |- | | |- |
| | 2 || 4-2 || Bit 38-36 of address. | | | 2 || 4-2 || Bit 38-36 of address. |
Line 102: |
Line 102: |
| | | |
| A reply must not use A/B/W, svcReplyAndReceive will return 0xE801. | | A reply must not use A/B/W, svcReplyAndReceive will return 0xE801. |
| + | |
| + | [[SVC|MemoryAttribute]] IsBorrowed and IsUncached are never allowed for the source address. |
| + | |
| + | ==== Flags ==== |
| + | Determines what [[SVC|MemoryState]] to use with the mapped memory in the sysmodule. |
| + | |
| + | Used to enforce whether or not device mapping is allowed for src and dst buffers respectively. |
| + | |
| + | * Flag0: [[SVC|MemoryAttribute]] IsDeviceMapped is *not* allowed in the source addr. |
| + | * Flag0: Destination mapping has MapDeviceAlignedAllowed clear in [[SVC|MemoryState]]. |
| + | * Flag1: [[SVC|MemoryAttribute]] IsDeviceMapped is allowed in the source addr. |
| + | * Flag1: Destination mapping has MapDeviceAlignedAllowed set in [[SVC|MemoryState]]. |
| + | * Flag3: [[SVC|MemoryAttribute]] IsDeviceMapped is allowed in the source addr. |
| + | * Flag3: Destination mapping has MapDeviceAlignedAllowed clear in [[SVC|MemoryState]]. |
| | | |
| === Buffer descriptor C "ReceiveList" === | | === Buffer descriptor C "ReceiveList" === |