IPC: Difference between revisions
This page needs some love from people who know how it actually works :( |
mNo edit summary |
||
Line 1: | Line 1: | ||
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). | 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). | ||
Every IPC command sent to services starts with a u32 header code, and parameters, if any, are written after this header. | Every IPC command sent to services starts with a u32 header code, and parameters, if any, are written after this header. They are decomposed into the following parts: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- |