ErrDisp: Difference between revisions

m Fixes
Guiand (talk | contribs)
Added preliminary information about errinfo format
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.
|}
= errinfo =
Note: the following data is still only partly reliable
{| class="wikitable" border="1"
|-
! Type
! Name
! Info
|-
| 1 byte
| ?
| unknown
|-
| 1 byte
| ?
| unknown
|-
| 2 bytes
|
| The type of error info struct (??)
|-
| 4 bytes
|
| The return code of the errored function (?? - Inconsistent)
|-
| 4 bytes
| caller_ptr
| The contents of the LR register - where the error was called from
|-
| 4 bytes
| process_id
| The ID/Handle of the running process
|}
|}