Line 14:
Line 14:
|-
|-
| 0x00010800
| 0x00010800
−
| ThrowFatalError(0x80-byte errorinfo)
+
| [[ERR:ThrowFatalError|ThrowFatalError]]
|-
|-
| 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.
+
| [[ERR:SetUserString|SetUserString]]
−
|}
−
−
= 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) >> 27) - 0x20 : *(u32*)(errinfo + 4) >> 27
−
| 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
−
| ?
−
| ?
−
|}
−
−
= output, where *((u8*)errinfo) == 4 =
−
{| 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?
−
|-
−
| RSL
−
| 0x%08X
−
| *(u32*)(errinfo + 4)
−
| Error code
−
|-
−
| Level
−
| %d
−
| *(u32*)(errinfo + 4) & 0x80000000 ? (*(u32*)(errinfo + 4) >> 27) - 0x20 : *(u32*)(errinfo + 4) >> 27
−
| 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
−
|-
−
| ?
−
| %.*s
−
| 0x2E, for (int i = 0; i < 2; i++) errinfo + (i * 46) + 0x20
−
| ?
−
|-
−
| Datetime
−
| %04d/%02d/%02d %02d:%02d:%02d
−
| ?
−
| ?
|}
|}