IPC: Difference between revisions

No edit summary
Neobrain (talk | contribs)
This page needs some love from people who know how it actually works :(
Line 1: Line 1:
The IPC commands are written to the Thread Local Storage, at offset 0x80. Every IPC command sent to services starts with a u32 header code, and parameters, if any, are written after this header. If the kernel was able to dispatch the request, the server reply will be written to TLS+0x80. Often the first word of the response data is the error code (or 0 if success).
IPC commands are written to the [[Thread Local Storage]] at offset 0x80 and submitted using [[SVC|svcSendSyncRequest]]. If the kernel was able to dispatch the request, the server reply will be written to TLS+0x80. Often the first word of the response data is the error code (or 0 if success).


The command header is a 32-bit integer that can be decompossed in the following parts:
Every IPC command sent to services starts with a u32 header code, and parameters, if any, are written after this header. The can be decomposed in the following parts:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-