SVC: Difference between revisions
No edit summary |
|||
| Line 575: | Line 575: | ||
| RestartDma(Handle, void *, void const*, unsigned int, signed char) | | RestartDma(Handle, void *, void const*, unsigned int, signed char) | ||
| | | | ||
|- | |||
| 0x59 | |||
| style="background: green" | Yes | |||
| style="background: red" | No? | |||
| style="background: red" | No | |||
| Implemented with [[11.3.0-36|11.3.0-X]], see below. (s8 input_flag) | |||
|- style="border-top: double" | |- style="border-top: double" | ||
| 0x60 | | 0x60 | ||
| Line 1,469: | Line 1,475: | ||
= svc7B Backdoor = | = svc7B Backdoor = | ||
This saves SVC-mode SP+LR on the user-mode stack, then sets the SVC-mode SP to the user-mode SP. This then calls the specified code in SVC-mode. Once the called code returns, this pops the saved SP+LR off the stack for restoring the SVC-mode SP, then returns from the svc7b handler. Note that this svc7b handler does not disable IRQs, if any IRQs/context-switches occur while the SVC-mode SP is set to the user-mode one here, the ARM11-kernel will crash(which hangs the whole ARM11-side system). | This saves SVC-mode SP+LR on the user-mode stack, then sets the SVC-mode SP to the user-mode SP. This then calls the specified code in SVC-mode. Once the called code returns, this pops the saved SP+LR off the stack for restoring the SVC-mode SP, then returns from the svc7b handler. Note that this svc7b handler does not disable IRQs, if any IRQs/context-switches occur while the SVC-mode SP is set to the user-mode one here, the ARM11-kernel will crash(which hangs the whole ARM11-side system). | ||
= svc 0x59 = | |||
Implemented with [[11.3.0-36|11.3.0-X]]. Used with GSP module starting with that version. | |||
= Kernel error-codes = | = Kernel error-codes = | ||