Process Manager services: Difference between revisions
→pm:info: fix names |
→pm:shell: names |
||
Line 188: | Line 188: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[# | | 0 || [[#LaunchProgram]] | ||
|- | |- | ||
| 1 || | | 1 || TerminateProcess | ||
|- | |- | ||
| 2 || | | 2 || TerminateProgram | ||
|- | |- | ||
| 3 || | | 3 || GetProcessEventHandle | ||
|- | |- | ||
| 4 || [[# | | 4 || [[#GetProcessEventInfo]] | ||
|- | |- | ||
| ([1.0.0-4.1.0] 5) || [[# | | ([1.0.0-4.1.0] 5) || [[#CleanupProcess]] | ||
|- | |- | ||
| ([1.0.0-4.1.0] 6) || [[# | | ([1.0.0-4.1.0] 6) || [[#ClearJitDebugOccured]] | ||
|- | |- | ||
| 5 ([1.0.0-4.1.0] 7) || [[#NotifyBootFinished]] | | 5 ([1.0.0-4.1.0] 7) || [[#NotifyBootFinished]] | ||
|- | |- | ||
| 6 ([1.0.0-4.1.0] 8) || [[# | | 6 ([1.0.0-4.1.0] 8) || [[#GetApplicationProcessIdForShell]] | ||
|- | |- | ||
| 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+] [[# | | 8 || [7.0.0+] [[#BoostSystemThreadResourceLimit]] | ||
|- | |- | ||
| 9 || [8.0.0+] [[# | | 9 || [8.0.0+] [[#GetBootFinishedEventHandle]] | ||
|} | |} | ||
== | == LaunchProgram == | ||
Takes launch_flags, title-id, and storageID. See [[#Process launch]]. | Takes launch_flags, title-id, and storageID. See [[#Process launch]]. | ||
Returns the u64 title PID. | Returns the u64 title PID. | ||
== | == GetProcessEventInfo == | ||
Returns 1 if flags has mask 2 set. | Returns 1 if flags has mask 2 set. | ||
Line 231: | Line 231: | ||
Returns 0 if process is not found. | Returns 0 if process is not found. | ||
== | == CleanupProcess == | ||
Takes a pid as input. If the process with pid has the state "dead", it unregisters the pid in fsp:pr, sm:m, and ldr:pm. | Takes a pid as input. If the process with pid has the state "dead", it unregisters the pid in fsp:pr, sm:m, and ldr:pm. | ||
Line 238: | Line 238: | ||
[5.0.0+] This command was removed. | [5.0.0+] This command was removed. | ||
== | == ClearJitDebugOccured == | ||
Takes a pid as input. Clears 0x10 from process flags. | Takes a pid as input. Clears 0x10 from process flags. | ||
Line 262: | Line 262: | ||
* 010000000000003D (safemode) | * 010000000000003D (safemode) | ||
== | == GetApplicationProcessIdForShell == | ||
Loops through the internal linked-list of processes, looks for mask 0x40 set in process flags. Returns pid of first such entry. | Loops through the internal linked-list of processes, looks for mask 0x40 set in process flags. Returns pid of first such entry. | ||
Line 270: | Line 270: | ||
This is used directly by [[NS_Services#IApplicationManagerInterface|ns:am2 BoostSystemMemoryResourceLimit]]. | This is used directly by [[NS_Services#IApplicationManagerInterface|ns:am2 BoostSystemMemoryResourceLimit]]. | ||
== | == BoostSystemThreadResourceLimit == | ||
Calls svcSetResourceLimitLimitValue to increase the limit on system threads by an amount calculated dynamically during setup. | Calls svcSetResourceLimitLimitValue to increase the limit on system threads by an amount calculated dynamically during setup. | ||
Line 277: | Line 277: | ||
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 system threads from 0x60 to 0xC0. | ||
== | == GetBootFinishedEventHandle == | ||
This function returns a handle to an event that is signaled when [[#NotifyBootFinished]] is called. | This function returns a handle to an event that is signaled when [[#NotifyBootFinished]] is called. | ||