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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The CPUID Identification Scheme<br />

Barrier_instrs, bits [19:16]<br />

Indicates the supported Barrier instructions in the <strong>ARM</strong> <strong>and</strong> Thumb instruction sets.<br />

Permitted values are:<br />

0b0000 None supported. Barrier operations are provided only as CP15 operations.<br />

0b0001 Adds support for the DMB, DSB, <strong>and</strong> ISB barrier instructions.<br />

If this field is set to a value other than 0b0000 then the L1 unified cache field, bits [23:20],<br />

must be set to 0b0000.<br />

SMC_instrs, bits [15:12]<br />

Indicates the supported SMC instructions. Permitted values are:<br />

0b0000 Not supported.<br />

0b0001 Adds support for the SMC instruction.<br />

Note<br />

The SMC instruction was called the SMI instruction in previous versions of the <strong>ARM</strong><br />

architecture.<br />

Writeback_instrs, bits [11:8]<br />

Indicates the support for Writeback addressing modes. Permitted values are:<br />

0b0000 Basic support. Only the LDM, STM, PUSH, POP, SRS, <strong>and</strong> RFE instructions support<br />

writeback addressing modes. These instructions support all of their writeback<br />

addressing modes.<br />

0b0001 Adds support for all of the writeback addressing modes defined in <strong>ARM</strong>v7.<br />

WithShifts_instrs, bits [7:4]<br />

Indicates the support for instructions with shifts. Permitted values are:<br />

0b0000 Nonzero shifts supported only in MOV <strong>and</strong> shift instructions.<br />

0b0001 Adds support for shifts of loads <strong>and</strong> stores over the range LSL 0-3.<br />

0b0011 As for 0b0001, <strong>and</strong> adds support for other constant shift options, both on<br />

load/store <strong>and</strong> other instructions.<br />

0b0100 As for 0b0011, <strong>and</strong> adds support for register-controlled shift options.<br />

Note<br />

In this field, the value of 0b0010 is reserved.<br />

Additions to the basic support indicated by the 0b0000 field value only apply when<br />

the encoding supports them. In particular, in the Thumb instruction set there is no<br />

difference between the 0b0011 <strong>and</strong> 0b0100 levels of support.<br />

MOV instructions with shift options are treated as ASR, LSL, LSR, ROR or RRX instructions,<br />

as described in Data-processing instructions on page B5-20.<br />

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

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

Saved successfully!

Ooh no, something went wrong!