Changes

Line 35: Line 35:  
|-
 
|-
 
| 5 || 0x20 || [2.0.0+] LaunchFlags_SignalOnStart
 
| 5 || 0x20 || [2.0.0+] LaunchFlags_SignalOnStart
 +
|}
 +
 +
= ProcessEventInfo =
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0
 +
| 0x4
 +
| ProcessEvent
 +
|-
 +
| 0x4
 +
| 0x4
 +
| Padding/Reserved
 +
|-
 +
| 0x8
 +
| 0x8
 +
| ProcessId
 +
|-
 
|}
 
|}
   Line 114: Line 135:  
| 0 ([1.0.0-4.1.0] 1) || [[#GetJitDebugProcessIdList]]
 
| 0 ([1.0.0-4.1.0] 1) || [[#GetJitDebugProcessIdList]]
 
|-
 
|-
| 1 ([1.0.0-4.1.0] 2) || [[#StartProcess]]
+
| 1 ([1.0.0-4.1.0] 2) || [[#StartProcess]]
 
|-
 
|-
| 2 ([1.0.0-4.1.0] 3) || [[#GetProcessId]]
+
| 2 ([1.0.0-4.1.0] 3) || [[#GetProcessId]]
 
|-
 
|-
| 3 ([1.0.0-4.1.0] 4) || [[#HookToCreateProcess]]
+
| 3 ([1.0.0-4.1.0] 4) || [[#HookToCreateProcess]]
 
|-
 
|-
| 4 ([1.0.0-4.1.0] 5) || [[#GetApplicationProcessId]]
+
| 4 ([1.0.0-4.1.0] 5) || [[#GetApplicationProcessId]]
 
|-
 
|-
| 5 ([1.0.0-4.1.0] 6) || [[#EnableDebugForApplication]]
+
| 5 ([1.0.0-4.1.0] 6) || [[#HookToCreateApplicationProcess]]
 
|-
 
|-
| [6.0.0+] 6 || [[#ClearHook]]
+
| [6.0.0+] 6 || [[#ClearHook]]
 +
|-
 +
| [14.0.0+] 7 || GetProgramId
 
|}
 
|}
   Line 176: Line 199:  
|-
 
|-
 
| 0 || [[#GetProgramId]]
 
| 0 || [[#GetProgramId]]
 +
|-
 +
| 1 || [14.0.0+] GetAppletCurrentResourceLimitValues
 +
|-
 +
| 2 || [14.0.0+] GetAppletPeakResourceLimitValues
 
|}
 
|}
   Line 208: Line 235:  
| 7 ([4.0.0-4.1.0] 9) || [4.0.0+] [[#BoostSystemMemoryResourceLimit]]
 
| 7 ([4.0.0-4.1.0] 9) || [4.0.0+] [[#BoostSystemMemoryResourceLimit]]
 
|-
 
|-
| 8 || [7.0.0+] [[#BoostSystemThreadResourceLimit]]
+
| 8 || [7.0.0+] [[#BoostApplicationThreadResourceLimit]]
 
|-
 
|-
 
| 9 || [8.0.0+] [[#GetBootFinishedEventHandle]]
 
| 9 || [8.0.0+] [[#GetBootFinishedEventHandle]]
 +
|-
 +
| 10 || [14.0.0+] BoostSystemThreadResourceLimit
 
|}
 
|}
    
== LaunchProgram ==
 
== LaunchProgram ==
Takes launch_flags, title-id, and storageID. See [[#Process launch]].
+
Takes an u32 launch_flags and [[NCM_services#ProgramLocation|ProgramLocation]]. Returns the u64 title PID.
   −
Returns the u64 title PID.
+
See [[#Process launch]].
    
== GetProcessEventInfo ==
 
== GetProcessEventInfo ==
Line 244: Line 273:     
== NotifyBootFinished ==
 
== NotifyBootFinished ==
This launches the [[boot2]] title.
+
This [[#LaunchProgram|launches]] the [[boot2]] title with launch_flags=0.
 +
 
 +
[10.0.0+] The functionality described [[SMC#DisableProgramVerification|here]] was added, prior to title-launching.
   −
[4.0.0+] When booting from SafeMode Firmware, instead of [[boot2]], this launches the following titles in order:
+
[4.0.0+] When booting from SafeMode Firmware, instead of [[boot2]], this launches the following titles in order (launch_flags=0):
 
* 0100000000000009 (settings)
 
* 0100000000000009 (settings)
 
* 0100000000000006 (usb)
 
* 0100000000000006 (usb)
 
* 010000000000001D (pcie)
 
* 010000000000001D (pcie)
 
* 0100000000000007 (tma)
 
* 0100000000000007 (tma)
 +
* 0100000000000042 (pgl) [10.0.0+]
 
* 010000000000001F (ns)
 
* 010000000000001F (ns)
 
* 0100000000000015 (lm)
 
* 0100000000000015 (lm)
Line 256: Line 288:  
* 0100000000000016 (wlan)
 
* 0100000000000016 (wlan)
 
* 0100000000000012 (bsdsockets)
 
* 0100000000000012 (bsdsockets)
 +
* 0100000000000046 (eth) [15.0.0+]
 
* 010000000000000F (nifm)
 
* 010000000000000F (nifm)
 
* 0100000000000024 (ssl)
 
* 0100000000000024 (ssl)
Line 270: Line 303:  
This is used directly by [[NS_Services#IApplicationManagerInterface|ns:am2 BoostSystemMemoryResourceLimit]].
 
This is used directly by [[NS_Services#IApplicationManagerInterface|ns:am2 BoostSystemMemoryResourceLimit]].
   −
== BoostSystemThreadResourceLimit ==
+
== BoostApplicationThreadResourceLimit ==
Calls svcSetResourceLimitLimitValue to increase the limit on system threads by an amount calculated dynamically during setup.
+
Calls svcSetResourceLimitLimitValue to increase the limit on application threads by an amount calculated dynamically during setup.
    
This function can only increase the limit once, on further calls it will call svcSetResourceLimitLimitValue with the same value it called the first time.
 
This function can only increase the limit once, on further calls it will call svcSetResourceLimitLimitValue with the same value it called the first time.
   −
On normal [[7.0.0]] retail firmware, this will double the limit on system threads from 0x60 to 0xC0.
+
On normal [[7.0.0]] retail firmware, this will double the limit on application threads from 0x60 to 0xC0.
    
== GetBootFinishedEventHandle ==
 
== GetBootFinishedEventHandle ==