05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

B4.6.35 CP15 c13 Software Thread ID registers<br />

Protected Memory System <strong>Architecture</strong> (PMSA)<br />

The Software Thread ID registers provide locations where software can store thread identifying information,<br />

for OS management purposes. These registers are never updated by the hardware.<br />

The Software Thread ID registers are:<br />

three 32-bit register read/write registers:<br />

— User Read/Write Thread ID Register, TPIDRURW<br />

— User Read-only Thread ID Register, TPIDRURO<br />

— Privileged Only Thread ID Register, TPIDRPRW.<br />

accessible in different modes:<br />

— the User Read/Write Thread ID Register is read/write in unprivileged <strong>and</strong> privileged modes<br />

— the User Read-only Thread ID Register is read-only in User mode, <strong>and</strong> read/write in privileged<br />

modes<br />

— the Privileged Only Thread ID Register is only accessible in privileged modes, <strong>and</strong> is<br />

read/write<br />

introduced in <strong>ARM</strong>v7.<br />

Accessing the Software Thread ID registers<br />

To access the Software Thread ID registers you read or write the CP15 registers with set to 0, <br />

set to c13, set to c0, <strong>and</strong> set to:<br />

2 for the User Read/Write Thread ID Register, TPIDRURW<br />

3 for the User Read-only Thread ID Register, TPIDRURO<br />

4 for the Privileged Only Thread ID Register, TPIDRPRW.<br />

For example:<br />

MRC p15, 0, , c13, c0, 2 ; Read CP15 User Read/Write Thread ID Register<br />

MCR p15, 0, , c13, c0, 2 ; Write CP15 User Read/Write Thread ID Register<br />

MRC p15, 0, , c13, c0, 3 ; Read CP15 User Read-only Thread ID Register<br />

MCR p15, 0, , c13, c0, 3 ; Write CP15 User Read-only Thread ID Register<br />

MRC p15, 0, , c13, c0, 4 ; Read CP15 Privileged Only Thread ID Register<br />

MCR p15, 0, , c13, c0, 4 ; Write CP15 Privileged Only Thread ID Register<br />

B4.6.36 CP15 c14, Not used<br />

CP15 c14 is not used on any <strong>ARM</strong>v7 implementation, see Unallocated CP15 encodings on page B4-27.<br />

<strong>ARM</strong> DDI 0406B Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. B4-77

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!