2.3.2. Configuration

Two registers provide ThumbEE configuration:

ThumbEE Configuration Register

The purpose of the ThumbEE Configuration Register is to control access to the ThumbEE HandlerBase Register.

The ThumbEE Configuration Register is:

  • in CP14 register c0

  • a 32-bit register, with access rights that depend on the current privilege:

    • the result of an unprivileged write to the register is Undefined

    • unprivileged reads, and privileged reads and writes, are permitted.

Figure 2.2 shows the bit arrangement of the ThumbEE Configuration Register.

Figure 2.2. ThumbEE Configuration Register format


Table 2.1 shows how the bit values correspond with the ThumbEE Configuration Register.

Table 2.1. ThumbEE Configuration Register bit functions

BitsFieldFunction
[31:1]-Reserved. Unpredictable (UNP), Should-Be-Zero (SBZ).
[0]XED

eXecution Environment Disable bit. Controls unprivileged access to the ThumbEE HandlerBase Register:

0 = Unprivileged access permitted. See Access to ThumbEE registers for details.

1 = Unprivileged access disabled.

The reset value of this bit is 0.


Any change to this register is only guaranteed to be visible to subsequent instructions after the execution of an ISB instruction. However, a read of this register always returns the last value written to the register.

To access the ThumbEE Configuration Register, read or write CP14 with:

MRC p14, 6, <Rd>, c0, c0, 0 ; Read ThumbEE Configuration Register
MCR p14, 6, <Rd>, c0, c0, 0 ; Write ThumbEE Configuration Register

ThumbEE HandlerBase Register

The purpose of the ThumbEE HandlerBase Register is to hold the base address for ThumbEE handlers.

The ThumbEE HandlerBase Register is:

  • in CP14 register c0

  • a 32-bit read/write register, with unprivileged access that depends on the value of the ThumbEE Configuration Register. See Access to ThumbEE registers.

Figure 2.3 shows the bit arrangement of the ThumbEE HandlerBase Register.

Figure 2.3. ThumbEE HandlerBase Register format


Table 2.2 shows how the bit values correspond with the ThumbEE HandlerBase Register.

Table 2.2. ThumbEE HandlerBase Register bit functions

BitsFieldFunction
[31:2]HandlerBaseThe address of the ThumbEE Handler_00 implementation. This is the address of the first of the ThumbEE handlers. The reset value of this field is Unpredictable.
[1:0]-

Reserved. UNP, SBZ.


Any change to this register is only guaranteed to be visible to subsequent instructions after the execution of an ISB instruction. However, a read of this register always returns the last value written to the register.

To access the ThumbEE HandlerBase Register, read or write CP14 with:

MRC p14, 6, <Rd>, c1, c0, 0 ; Read ThumbEE HandlerBase Register
MCR p14, 6, <Rd>, c1, c0, 0 ; Write ThumbEE HandlerBase Register

Access to ThumbEE registers

Table 2.3 shows the access permissions for the ThumbEE registers, and how unprivileged access to the ThumbEE HandlerBase Register depends on the value of the ThumbEE Configuration Register.

Table 2.3. Access to ThumbEE registers

 Unprivileged accessPrivileged access
RegisterXED == 0[1]XED == 1a 
ThumbEE ConfigurationRead access permitted, write access UndefinedRead access permitted, write access UndefinedRead and write access permitted
ThumbEE HandlerBaseRead and write access permittedRead and write access UndefinedRead and write access permitted

[1] Value of XED bit in the ThumbEE Configuration Register, see ThumbEE Configuration Register.


Copyright © 2006-2009 ARM Limited. All rights reserved.ARM DDI 0344I
Non-Confidential