Difference between revisions of "Fatal services"

From Nintendo Switch Brew
Jump to navigation Jump to search
(Created page with "= fatal:u = {| class="wikitable" border="1" |- ! Cmd || Name |- | 0 || |- | 1 || |- | 2 || |} = fatal:p =")
 
(→‎fatal:p: official command name)
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
= fatal:u =
 
= fatal:u =
 +
This is "nn::fatalsrv::IService".
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 ||
+
| 0 || ThrowFatal
 
|-
 
|-
| 1 ||
+
| 1 || ThrowFatalWithPolicy
 
|-
 
|-
| 2 ||
+
| 2 || [[#ThrowFatalWithCpuContext]]
 
|}
 
|}
 +
 +
== ThrowFatalWithCpuContext ==
 +
Takes an input u64 errorcode and an unknown u64(TID maybe?). It also takes a type-0x15 error buffer and a pid-descriptor. The error buffer contains a stack trace.
 +
The stack trace address count is stored at errorbuffer+0x240 and the addresses are stored at errorbuffer+0x130+i*8 where i = 0->address count
  
 
= fatal:p =
 
= fatal:p =
 +
This is "nn::fatalsrv::IPrivateService".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || GetFatalEvent
 +
|-
 +
| 10 || [14.0.0+]  GetFatalContext
 +
|}
 +
 +
== FatalType ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value || Name
 +
|-
 +
| 0 || ErrorReportAndErrorScreen
 +
|-
 +
| 1 || ErrorReport
 +
|-
 +
| 2 || [3.0.0+] ErrorScreen
 +
|}
 +
 +
[[Category:Services]]

Latest revision as of 06:06, 18 April 2022

fatal:u

This is "nn::fatalsrv::IService".

Cmd Name
0 ThrowFatal
1 ThrowFatalWithPolicy
2 #ThrowFatalWithCpuContext

ThrowFatalWithCpuContext

Takes an input u64 errorcode and an unknown u64(TID maybe?). It also takes a type-0x15 error buffer and a pid-descriptor. The error buffer contains a stack trace. The stack trace address count is stored at errorbuffer+0x240 and the addresses are stored at errorbuffer+0x130+i*8 where i = 0->address count

fatal:p

This is "nn::fatalsrv::IPrivateService".

Cmd Name
0 GetFatalEvent
10 [14.0.0+] GetFatalContext

FatalType

Value Name
0 ErrorReportAndErrorScreen
1 ErrorReport
2 [3.0.0+] ErrorScreen