SVC
MemoryState
| Bits | Description |
|---|---|
| 7-0 | Type |
| 8 | PermissionChangeAllowed |
| 9 | ForceReadWritableByDebugSyscalls |
| 10 | IpcSendAllowed_Type0 |
| 11 | IpcSendAllowed_Type3 |
| 12 | IpcSendAllowed_Type1 |
| 14 | ProcessPermissionChangeAllowed |
| 15 | MapAllowed |
| 16 | UnmapProcessCodeMemoryAllowed |
| 17 | TransferMemoryAllowed |
| 18 | QueryPhysicalAddressAllowed |
| 19 | MapDeviceAllowed (#svcMapDeviceAddressSpace and #svcMapDeviceAddressSpaceByForce) |
| 20 | MapDeviceAlignedAllowed |
| 21 | IpcBufferAllowed |
| 22 | IsPoolAllocated/IsReferenceCounted |
| 23 | MapProcessAllowed |
| 24 | AttributeChangeAllowed |
| 25 | UnknownMemoryAllowed |
| Value | Type | Meaning |
|---|---|---|
| 0x00000000 | MemoryType_Unmapped | |
| 0x00002001 | MemoryType_Io | Mapped by kernel capability parsing in #svcCreateProcess. |
| 0x00042002 | MemoryType_Normal | Mapped by kernel capability parsing in #svcCreateProcess. |
| 0x00DC7E03 | MemoryType_CodeStatic | Mapped during #svcCreateProcess. |
| [1.0.0-3.0.1]
0x01FEBD04 [4.0.0+] 0x03FEBD04 |
MemoryType_CodeMutable | Transition from 0xDC7E03 performed by #svcSetProcessMemoryPermission. |
| [1.0.0-3.0.1]
0x017EBD05 [4.0.0+] 0x037EBD05 |
MemoryType_Heap | Mapped using #svcSetHeapSize. |
| 0x00402006 | MemoryType_SharedMemory | Mapped using #svcMapSharedMemory. |
| 0x00482907 | [1.0.0] MemoryType_WeirdSharedMemory | Mapped using #svcMapMemory. |
| 0x00DD7E08 | MemoryType_ModuleCodeStatic | Mapped using #svcMapProcessCodeMemory. |
| [1.0.0-3.0.1]
0x01FFBD09 [4.0.0+] 0x03FFBD09 |
MemoryType_ModuleCodeMutable | Transition from 0xDD7E08 performed by #svcSetProcessMemoryPermission. |
| 0x005C3C0A | MemoryType_IpcBuffer0 | IPC buffers with descriptor flags=0. |
| 0x005C3C0B | MemoryType_MappedMemory | Mapped using #svcMapMemory. |
| 0x0040200C | MemoryType_ThreadLocal | Mapped during #svcCreateThread. |
| 0x015C3C0D | MemoryType_TransferMemoryIsolated | Mapped using #svcMapTransferMemory when the owning process has perm=0. |
| 0x005C380E | MemoryType_TransferMemory | Mapped using #svcMapTransferMemory when the owning process has perm!=0. |
| 0x0040380F | MemoryType_ProcessMemory | Mapped using #svcMapProcessMemory. |
| 0x00000010 | MemoryType_Reserved | |
| 0x005C3811 | MemoryType_IpcBuffer1 | IPC buffers with descriptor flags=1. |
| 0x004C2812 | MemoryType_IpcBuffer3 | IPC buffers with descriptor flags=3. |
| 0x00002013 | MemoryType_KernelStack | Mapped in kernel during #svcCreateThread. |