B1.98 Non-Secure Access Control Register

The NSACR characteristics are:

Purpose
Defines the Non-secure access permission to CP0 to CP13.
Usage constraints

This register is accessible as follows:

EL0

(NS)

EL0

(S)

EL1

(NS)

EL1

(S)

EL2

EL3

(SCR.NS = 1)

EL3

(SCR.NS = 0)

- - RO RO RO RW RW

Any read or write to NSACR in Secure EL1 state in AArch32 is trapped as an exception to EL3.

Configurations

There is one copy of this register that is used in both Secure and Non-secure states.

Attributes
NSACR is a 32-bit register.
Figure B1-52 NSACR bit assignments
To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


[31:16]

Reserved, res0.

NSASEDIS, [15]

Disable Non-secure Advanced SIMD functionality:

0This bit has no effect on the ability to write CPACR.ASEDIS, this is the reset value.
1When executing in Non-secure state, the CPACR.ASEDIS bit has a fixed value of 1 and writes to it are ignored.

If Advanced SIMD and floating-point are not implemented, this bit is res0.

[14:12]

Reserved, res0.

cp11, [11]

Non-secure access to CP11 enable:

0Secure access only. Any attempt to access CP11 in Non-secure state results in an Undefined Instruction exception. If the processor is in Non-secure state, the corresponding bits in the CPACR ignore writes and read as 0b00, access denied. This is the reset value.
1Secure or Non-secure access.

If Advanced SIMD and Floating-point are not implemented, this bit is res0.

cp10, [10]

Non-secure access to CP10 enable:

0Secure access only. Any attempt to access CP10 in Non-secure state results in an Undefined Instruction exception. If the processor is in Non-secure state, the corresponding bits in the CPACR ignore writes and read as 0b00, access denied. This is the reset value.
1Secure or Non-secure access.

If Advanced SIMD and floating-point are not implemented, this bit is res0.

[9:0]

Reserved, res0.

If the CP11 and CP10 fields are set to different values, the behavior is CONSTRAINED UNPREDICTABLE. It is the same as if both fields were set to the value of CP10, in all respects other than the value read back by explicitly reading CP11.

To access the NSACR:

MRC p15, 0, <Rt>, c1, c1, 2 ; Read NSACR into Rt
MCR p15, 0, <Rt>, c1, c1, 2 ; Write Rt to NSACR

Register access is encoded as follows:

Table B1-83 NSACR access encoding

coproc opc1 CRn CRm opc2
1111 000 0001 0001 010
Non-ConfidentialPDF file icon PDF versionARM 100241_0001_00_en
Copyright © 2016, 2017 ARM Limited or its affiliates. All rights reserved.