ErrDisp: Difference between revisions

Normmatt (talk | contribs)
Guiand (talk | contribs)
No edit summary
Line 18: Line 18:
| 0x00020042
| 0x00020042
| (size, <nowiki>(size<<14) | 2</nowiki>, errorinfoptr) This is similar to cmd1, except with this the input buffer is copied to final output errorinfo+0x80 instead of +0x0, via the ARM11 kernel. Max size is 0x100. ErrDisp doesn't do anything in the cmd-handler for this command at all, besides checking the command header and buffer header.
| (size, <nowiki>(size<<14) | 2</nowiki>, errorinfoptr) This is similar to cmd1, except with this the input buffer is copied to final output errorinfo+0x80 instead of +0x0, via the ARM11 kernel. Max size is 0x100. ErrDisp doesn't do anything in the cmd-handler for this command at all, besides checking the command header and buffer header.
|}
= output, where *((u8*)errinfo) == 0 or 1 =
{| class="wikitable" border="1"
|-
! Entry
! Format string
! Format args
! Description
|-
| PID
| 0x%08X_0x%08X
| *(u32*)(errinfo + 0x10), *(u32*)(errinfo + 0x14)
| Process ID
|-
| REV
| %d
| *(u16*)(errinfo + 2) <nowiki>|</nowiki> (*(u8*)(errinfo + 1) << 16)
| ?
|-
| AID
| 0x%08X_0x%08X
| *(u32*)(errinfo + 0x18), *(u32*)(errinfo + 0x1C)
| Application ID?
|-
| ADR
| 0x%08X
| *(u32*)(errinfo + 8)
| Address where the error was thrown from?
|-
| 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
|-
| Summary
| %d
| (*(u32*)(errinfo + 4) & 0x7E00000) >> 21
| Error code summary
|-
| Module
| %d
| (*(u32*)(errinfo + 4) & 0x3FC00) >> 10
| Error code module
|-
| Desc
| %d
| *(u32*)(errinfo + 4) & 0x3FF
| Error code description
|-
| Datetime
| %04d/%02d/%02d %02d:%02d:%02d
| ?
| ?
|}
|}