B1.60 Hyp Architectural Feature Trap Register

The HCPTR characteristics are:

Purpose
Controls trapping to Hyp mode of Non-secure access, at EL1 or lower, to coprocessors other than CP14 and CP15 and to floating-point and Advanced SIMD functionality. Also controls access from Hyp mode to this functionality.
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)

- - - - RW RW -

If a bit in the NSACR prohibits a Non-secure access, then the corresponding bit in the HCPTR behaves as RAO/WI for Non-secure accesses. See the bit description for TASE.

Configurations
There are no configuration notes.
Attributes
HCPTR is a 32-bit register.
Figure B1-16 HCPTR 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.


TCPAC, [31]

Trap CPACR accesses. The possible values of this bit are:

0Has no effect on CPACR accesses.
1Trap valid Non-secure EL1 CPACR accesses to Hyp mode.

When this bit is set to 1, any valid Non-secure EL1 access to the CPACR is trapped to Hyp mode.

Resets to 0.

[30:21]

Reserved, res0.

TTA, [20]

Trap Trace Access.

Not implemented. res0.

[19:16]

Reserved, res0.

TASE, [15]

Trap Advanced SIMD use:

0If the NSACR settings permit Non-secure use of the Advanced SIMD functionality then Hyp mode can access that functionality, regardless of any settings in the CPACR. This bit value has no effect on possible use of the Advanced SIMD functionality from Non-secure EL1 and EL0 modes.
1Trap valid Non-secure accesses to Advanced SIMD functionality to Hyp mode.

If Advanced SIMD and floating-point are not implemented, this bit is RAO/WI.

If NSACR.NSASEDIS is set to 1, then on Non-secure accesses to the HCPTR, the TASE bit behaves as RAO/WI.

[14]

Reserved, res0.

[13:12]

Reserved, res1.

TCP11, [11]

Trap CP11. The possible values of each of this bit is:

0If NSACR.cp11 is set to 1, then Hyp mode can access CP11, regardless of the value of CPACR.cp11. This bit value has no effect on possible use of CP11 from Non-secure EL1 and EL0 modes.
1

Trap valid Non-secure accesses to CP11 to Hyp mode.

Any otherwise-valid access to CP11 from:

  • A Non-secure EL1 or EL0 state is trapped to Hyp mode.
  • Hyp mode generates an Undefined Instruction exception, taken in Hyp mode.

Resets to 0.

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

TCP10, [10]

Trap CP10. The possible values of each of this bit is:

0

If NSACR.cp10 is set to 1, then Hyp mode can access CP10, regardless of the value of CPACR.cp10. This bit value has no effect on possible use of CP10 from Non-secure EL1 and EL0 modes.

1

Trap valid Non-secure accesses to CP10 to Hyp mode.

Any otherwise-valid access to CP10 from:

  • A Non-secure EL1 or EL0 state is trapped to Hyp mode.
  • Hyp mode generates an Undefined Instruction exception, taken in Hyp mode.

Resets to 0.

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

[9:0]

Reserved, res1.

To access the HCPTR:

MRC p15,4,<Rt>,c1,c1,2 ; Read HCPTR into Rt
MCR p15,4,<Rt>,c1,c1,2 ; Write Rt to HCPTR

Register access is encoded as follows:

Table B1-45 HCPTR access encoding

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