Line 232: |
Line 232: |
| ! State0 || State1 || Action | | ! State0 || State1 || Action |
| |- | | |- |
− | | 0 || 0 || Clear bit35 in [[#MemoryAttribute]]. | + | | 0 || 0 || Clear bit3 in [[#MemoryAttribute]]. |
| |- | | |- |
− | | 8 || 0 || Clear bit35 in [[#MemoryAttribute]]. | + | | 8 || 0 || Clear bit3 in [[#MemoryAttribute]]. |
| |- | | |- |
− | | 8 || 8 || Set bit35 in [[#MemoryAttribute]]. | + | | 8 || 8 || Set bit3 in [[#MemoryAttribute]]. |
| |} | | |} |
| | | |
Line 246: |
Line 246: |
| Code can get the range of this region from [[#svcGetInfo]]. | | Code can get the range of this region from [[#svcGetInfo]]. |
| | | |
− | The source region gets reprotected to ---, and sets bit32 is set in [[#MemoryAttribute]]. | + | The source region gets reprotected to ---, and sets bit0 is set in [[#MemoryAttribute]]. |
| | | |
| == svcCreateThread == | | == svcCreateThread == |
Line 258: |
Line 258: |
| | | |
| == svcCreateTransferMemory == | | == svcCreateTransferMemory == |
− | This one reprotects the src block with perms you give it. It also sets bit32 into [[#MemoryAttribute]]. | + | This one reprotects the src block with perms you give it. It also sets bit0 into [[#MemoryAttribute]]. |
| | | |
| Executable bit perm not allowed. | | Executable bit perm not allowed. |
| | | |
− | Closing all handles automatically causes the bit32 in [[#MemoryAttribute]] to clear, and the permission to reset. | + | Closing all handles automatically causes the bit0 in [[#MemoryAttribute]] to clear, and the permission to reset. |
| | | |
| == svcWaitSynchronization == | | == svcWaitSynchronization == |
Line 382: |
Line 382: |
| | | |
| == svcMapTransferMemory == | | == svcMapTransferMemory == |
− | The newly mapped pages will have [[#MemoryAttribute]] type 0xE. | + | The newly mapped pages will have [[#MemoryState]] type 0xE. |
| | | |
| You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error. | | You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error. |