SVC: Difference between revisions

No edit summary
Line 844: Line 844:


== struct DebugEventInfo ==
== struct DebugEventInfo ==
When using svcGetProcessDebugEvent, the kernel fetches the first [[KEventInfo]] instance of the process's [[KDebug]]. The debug event is handled, then the first 0x28 bytes (out of 0x38) of the [[KEventInfo]] instance are copied to the user and the object is destroyed.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 855: Line 856:
| Thread ID (not used in all events)
| Thread ID (not used in all events)
|-
|-
| u32[2]
| u32
| Unknown/padding
| Unknown
|-
| u8[4]
| Unknown
|-
|-
| u32[6]
| u32[6]
Line 934: Line 938:
| Creator thread ID
| Creator thread ID
|-
|-
| u32
| void *
| Base address (?)
| Thread local storage
|-
|-
| u32
| u32 *
| Entrypoint
| Entrypoint = .text load address
|}
|}


Line 1,057: Line 1,061:
|}
|}


=== SCHEDULER/SYSCALL IN/OUT events ===
=== SCHEDULE/SYSCALL IN/OUT events ===


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 1,067: Line 1,071:
|-
|-
| u32
| u32
| Syscall (only for SYSCALL events)
| CPU ID (SCHEDULE events) Syscall (SYSCALL events)
|}
|}