Thread Local Storage: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Created page with "Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during IPC communications. {| class="wikitable" border="1" |- ! ..."
 
No edit summary
Line 1: Line 1:
Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during [[IPC_Command_Structure|IPC communications]].
Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during [[IPC_Command_Structure|IPC communications]].


A pointer to the thread-local-storage can be read using the ARM instruction:
mrc        15, 0, rX, cr13, cr0, 3
Every application has RW access to its thread-local-storage.
The kernel requires the application to put IPC parameters and IPC static buffers inside the thread-local-storage:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-

Revision as of 23:35, 3 September 2014

Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during IPC communications.

A pointer to the thread-local-storage can be read using the ARM instruction:

mrc        15, 0, rX, cr13, cr0, 3

Every application has RW access to its thread-local-storage.

The kernel requires the application to put IPC parameters and IPC static buffers inside the thread-local-storage:

Offset Size Description
0 0x80 Undefined, can be used by application for any purpose.
0x80 0x100 IPC command with parameters
0x180 0x80 IPC static buffers