System Control
ARM DDI 0500D
Copyright © 2013-2014 ARM. All rights reserved.
4-181
ID021414
Non-Confidential
Table 4-176
shows the ID_ISAR4 bit assignments.
To access the ID_ISAR4:
MRC p15, 0, <Rt>, c0, c2, 4 ; Read ID_ISAR4 into Rt
Register access is encoded as follows:
4.5.19
Instruction Set Attribute Register 5
The ID_ISAR5 characteristics are:
Purpose
Provides information about the instruction sets that the processor
implements.
Table 4-176 ID_ISAR4 bit assignments
Bits
Name
Function
[31:28]
SWP_frac
Indicates support for the memory system locking the bus for
SWP
or
SWPB
instructions:
0x0
SWP
and
SWPB
instructions not implemented.
[27:24]
PSR_M
Indicates the implemented M profile instructions to modify the PSRs:
0x0
None implemented.
[23:20]
SynchPrim_frac
This field is used with the ID_ISAR3.SynchPrim field to indicate the implemented Synchronization
Primitive instructions:
0x0
•
The
LDREX
and
STREX
instructions.
•
The
CLREX
,
LDREXB
,
LDREXH
,
STREXB
, and
STREXH
instructions.
•
The
LDREXD
and
STREXD
instructions.
[19:16]
Barrier
Indicates the supported Barrier instructions in the A32 and T32 instruction sets:
0x1
The
DMB
,
DSB
, and
ISB
barrier instructions.
[15:12]
SMC
Indicates the implemented
SMC
instructions:
0x1
The
SMC
instruction.
[11:8]
Writeback
Indicates the support for writeback addressing modes:
0x1
Processor supports all of the writeback addressing modes defined in ARMv8.
[7:4]
WithShifts
Indicates the support for instructions with shifts:
0x4
•
Support for shifts of loads and stores over the range LSL 0-3.
•
Support for other constant shift options, both on load/store and other instructions.
•
Support for register-controlled shift options.
[3:0]
Unpriv
Indicates the implemented unprivileged instructions:
0x2
•
The
LDRBT
,
LDRT
,
STRBT
, and
STRT
instructions.
•
The
LDRHT
,
LDRSBT
,
LDRSHT
, and
STRHT
instructions.
Table 4-177 ID_ISAR4 access encoding
coproc
opc1
CRn
CRm
opc2
1111
000
0000
0010
100