Changes

486 bytes added ,  00:14, 17 February 2015
m
Added errdisp output format 4 information
Line 20: Line 20:  
|}
 
|}
   −
= errinfo =
+
= output, where *((u8*)errinfo) == 4 =
Note: the following data is still only partly reliable
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Type
+
! Entry
! Name
+
! Format string
! Info
+
! Format args
 +
! Description
 
|-
 
|-
| 1 byte
+
| PID
 +
| 0x%08X_0x%08X
 +
| 0x41900000, *(u32*)(errinfo + 0x10)
 +
| Process ID
 +
|-
 +
| REV
 +
| %d
 +
| *(u16*)(errinfo + 2) | (*(u8*)(errinfo + 1) << 16)
 
| ?
 
| ?
| unknown
   
|-
 
|-
| 1 byte
+
| AID
| ?
+
| 0x%08X_0x%08X
| unknown
+
| 0x41900000, *(u32*)(errinfo + 0x18)
 +
| Application ID?
 +
|-
 +
| RSL
 +
| 0x%08X
 +
| *(u32*)(errinfo + 4)
 +
| Error code
 +
|-
 +
| Level
 +
| %d
 +
| *(u32*)(errinfo + 4) & 0x80000000 ? (*(u32*)(errinfo + 4) >> 0x27) - 0x20 :  *(u32*)(errinfo + 4) >> 0x27
 +
| Error code level
 
|-
 
|-
| 2 bytes
+
| Summary
|  
+
| %d
| The type of error info struct (??)
+
| (*(u32*)(errinfo + 4) & 0x7E00000) >> 21
 +
| Error code summary
 
|-
 
|-
| 4 bytes
+
| Module
|  
+
| %d
| The return code of the errored function (?? - Inconsistent)
+
| (*(u32*)(errinfo + 4) & 0x3FC00) >> 10
 +
| Error code module
 
|-
 
|-
| 4 bytes
+
| Desc
| caller_ptr
+
| %d
| The contents of the LR register - where the error was called from
+
| (*(u32*)(errinfo + 4) << 22) >> 22
 +
| Error code description
 
|-
 
|-
| 4 bytes
+
| ?
| process_id
+
| %0.*s
| The ID/Handle of the running process
+
| 0x2E, for (int i = 0; i < 2; i++) (errinfo + (((i << 3) - i) + (i << 4)) << 1) + 0x20
 +
| ?
 +
|-
 +
| Datetime
 +
| %04d/%02d/%02d %02d:%02d:%02d
 +
| ?
 +
| ?
 
|}
 
|}
165

edits