NPDM: Difference between revisions
(9 intermediate revisions by 5 users not shown) | |||
Line 29: | Line 29: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | Magic ("META") | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| 0x4 | | 0x4 | ||
| [9.0.0+] | | [9.0.0+] SignatureKeyGeneration | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
Line 117: | Line 117: | ||
| 5 | | 5 | ||
| [11.0.0+] DisableDeviceAddressSpaceMerge | | [11.0.0+] DisableDeviceAddressSpaceMerge | ||
|- | |||
| 6 | |||
| [18.0.0+] EnableAliasRegionExtraSize | |||
|- | |||
| 7 | |||
| [19.0.0+] PreventCodeReads | |||
|} | |} | ||
Line 123: | Line 129: | ||
== SystemResourceSize == | == SystemResourceSize == | ||
This | When this is non-zero, the kernel reserves this amount of memory and dynamically uses it as needed for page table pages, KMemoryBlocks, and KBlockInfos. When this is zero, the process uses global shared heaps for these. | ||
This enables a process to sacrifice some of the memory available to it in order to have higher limits on these resources, thus enabling the use of SvcMapPhysicalMemory. | |||
Maximum size as is 0x1FE00000. | |||
== Version == | == Version == | ||
Line 133: | Line 144: | ||
== MainThreadStackSize == | == MainThreadStackSize == | ||
Must be aligned to 0x1000. | Must be aligned to 0x1000. If zero, kernel will start the process's initial thread with sp=0. | ||
= ACID = | = ACID = | ||
Line 154: | Line 163: | ||
| 0x200 | | 0x200 | ||
| 0x4 | | 0x4 | ||
| | | Magic ("ACID") | ||
|- | |- | ||
| 0x204 | | 0x204 | ||
Line 161: | Line 170: | ||
|- | |- | ||
| 0x208 | | 0x208 | ||
| | | 0x1 | ||
| [9.0.0+] Version | |||
|- | |||
| 0x209 | |||
| 0x1 | |||
| [14.0.0+] | |||
|- | |||
| 0x20A | |||
| 0x2 | |||
| Reserved | | Reserved | ||
|- | |- | ||
Line 178: | Line 195: | ||
| 0x220 | | 0x220 | ||
| 0x4 | | 0x4 | ||
| [[#FsAccessControl| | | [[#FsAccessControl|FacOffset]] | ||
|- | |- | ||
| 0x224 | | 0x224 | ||
| 0x4 | | 0x4 | ||
| [[#FsAccessControl| | | [[#FsAccessControl|FacSize]] | ||
|- | |- | ||
| 0x228 | | 0x228 | ||
| 0x4 | | 0x4 | ||
| [[#SrvAccessControl| | | [[#SrvAccessControl|SacOffset]] | ||
|- | |- | ||
| 0x22C | | 0x22C | ||
| 0x4 | | 0x4 | ||
| [[#SrvAccessControl| | | [[#SrvAccessControl|SacSize]] | ||
|- | |- | ||
| 0x230 | | 0x230 | ||
| 0x4 | | 0x4 | ||
| [[#KernelCapability| | | [[#KernelCapability|KcOffset]] | ||
|- | |- | ||
| 0x234 | | 0x234 | ||
| 0x4 | | 0x4 | ||
| [[#KernelCapability| | | [[#KernelCapability|KcSize]] | ||
|- | |- | ||
| 0x238 | | 0x238 | ||
Line 217: | Line 234: | ||
| UnqualifiedApproval | | UnqualifiedApproval | ||
|- | |- | ||
| 2- | | 2-5 | ||
| [5.0.0+ ] MemoryRegion (0 = Application, 1 = Applet, 2 = SecureSystem, 3 = NonSecureSystem) | | [5.0.0+] MemoryRegion (0 = Application, 1 = Applet, 2 = SecureSystem, 3 = NonSecureSystem) | ||
|} | |} | ||
Line 232: | Line 249: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | Magic ("ACI0") | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
Line 248: | Line 265: | ||
| 0x20 | | 0x20 | ||
| 0x4 | | 0x4 | ||
| [[#FsAccessControl| | | [[#FsAccessControl|FacOffset]] | ||
|- | |- | ||
| 0x24 | | 0x24 | ||
| 0x4 | | 0x4 | ||
| [[#FsAccessControl| | | [[#FsAccessControl|FacSize]] | ||
|- | |- | ||
| 0x28 | | 0x28 | ||
| 0x4 | | 0x4 | ||
| [[#SrvAccessControl| | | [[#SrvAccessControl|SacOffset]] | ||
|- | |- | ||
| 0x2C | | 0x2C | ||
| 0x4 | | 0x4 | ||
| [[#SrvAccessControl| | | [[#SrvAccessControl|SacSize]] | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
| 0x4 | | 0x4 | ||
| [[#KernelCapability| | | [[#KernelCapability|KcOffset]] | ||
|- | |- | ||
| 0x34 | | 0x34 | ||
| 0x4 | | 0x4 | ||
| [[#KernelCapability| | | [[#KernelCapability|KcSize]] | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
Line 539: | Line 556: | ||
| | | | ||
|- | |- | ||
| 37-61 | | 37 | ||
| DeviceTreeBlob | |||
| | |||
|- | |||
| 38 | |||
| NotifyErrorContextServiceReady | |||
| | |||
|- | |||
| 39 | |||
| CalibrationSystemData | |||
| | |||
|- | |||
| 40 | |||
| CalibrationLog | |||
| | |||
|- | |||
| 41 | |||
| StorageSecure | |||
| | |||
|- | |||
| 42 | |||
| StorageControl | |||
| | |||
|- | |||
| 43 | |||
| GameCardReport | |||
| | |||
|- | |||
| 44 | |||
| MarkBeforeEraseBis | |||
| | |||
|- | |||
| 45-61 | |||
| Reserved | | Reserved | ||
| | | | ||
Line 744: | Line 793: | ||
| RegionIsReadOnly2 | | RegionIsReadOnly2 | ||
|} | |} | ||
== EnableInterrupts == | == EnableInterrupts == | ||
Line 837: | Line 884: | ||
|- | |- | ||
| 18 | | 18 | ||
| ForceDebug | | [19.0.0+] ForceDebugProd ([1.0.0-18.1.0] ForceDebug) | ||
|- | |||
| 19 | |||
| [19.0.0+] ForceDebug | |||
|} | |} |