Line 671: |
Line 671: |
| | style="background: red" | No | | | style="background: red" | No |
| | style="background: red" | No | | | style="background: red" | No |
− | | [[Multi-threading#GetDebugThreadParam|GetDebugThreadParam]](s64* unused, u32* out, Handle kdebug, u32 threadId, DebugThreadParam param) | + | | [[Multi-threading#GetDebugThreadParam|GetDebugThreadParameter]](s64* unused, u32* out, Handle kdebug, u32 threadId, DebugThreadParam param) |
− | | Disabled on regular kernel. | + | | |
| |- style="border-top: double" | | |- style="border-top: double" |
| | 0x70 | | | 0x70 |
Line 845: |
Line 845: |
| | | |
| == struct DebugEventInfo == | | == struct DebugEventInfo == |
| + | Size: 0x28 bytes |
| + | |
| When using svcGetProcessDebugEvent, the kernel fetches the first [[KEventInfo]] instance of the process's [[KDebug]]. The debug event is handled and parsed into this structure. | | When using svcGetProcessDebugEvent, the kernel fetches the first [[KEventInfo]] instance of the process's [[KDebug]]. The debug event is handled and parsed into this structure. |
| | | |
Line 1,100: |
Line 1,102: |
| ! Field | | ! Field |
| |- | | |- |
− | | [[KThread]]*[nbCores] | + | | [[KThread]]*[4] |
| | Pointers to the attached process's that were running, on each core, at the time svcBreakDebugProcess was called | | | Pointers to the attached process's that were running, on each core, at the time svcBreakDebugProcess was called |
| + | Only the first two entries are relevant on O3DS. |
| |} | | |} |
| | | |
Line 1,192: |
Line 1,195: |
| When setting CPSR, the following assignment is done: <code>ctx->cpsr = ctx->cpsr & 0x7F0FDFF | userCtx->cpuRegisters.cpsr & 0xF80F0200;</code>. This is to avoid obvious security issues. | | When setting CPSR, the following assignment is done: <code>ctx->cpsr = ctx->cpsr & 0x7F0FDFF | userCtx->cpuRegisters.cpsr & 0xF80F0200;</code>. This is to avoid obvious security issues. |
| | | |
− | == enum DebugThreadParam == | + | == enum DebugThreadParameter == |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,201: |
Line 1,204: |
| | 0 | | | 0 |
| |- | | |- |
− | | SCHEDULE | + | | SCHEDULING_MASK_LOW |
| | 1 | | | 1 |
| |- | | |- |