HIPC: Difference between revisions

No edit summary
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" ===