3.16.13. Address Comparator Access Type Registers, ETMACTRn

The ETMACTR characteristics are:

Purpose

Specifies the type of access, for example instruction or data, and other comparator configuration information for an address comparison.

Usage constraints

Each ETMACTR is used with the corresponding ETMACVR. See Address Comparator Value Registers, ETMACVRn.

Configurations

The number of ETMACTR pairs:

  • is implementation defined

  • is specified by ETMCCR bits [3:0].

  • can be zero.

See Configuration Code Register, ETMCCR.

Unimplemented ETMACTRs are RAZ/WI.

Attributes

See the register summary in Table 3.16.

Figure 3.22 shows the ETMACTR bit assignments from PFTv1.1.

Figure 3.22. ETMACTR bit assignments from PFTv1.1

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.


Figure 3.23 shows the ETMACTR bit assignments for PFTv1.0.

Figure 3.23. ETMACTR bit assignments, PFTv1.0

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.


Table 3.27 shows the ETMACTR bit assignments.

Table 3.27. ETMACTR bit assignments

Bits

Description

[31:16]Reserved, SBZP.
[15]For PFTv1.0 this bit is Reserved, SBZP.

From PFTv1.1 this bit sets the Virtual Machine ID (VMID) comparison enable, if the processor implements the Virtualization Extensions.[a]

A value of 1 means that the address comparator matches only if the current VMID matches the value stored in the ETMVMIDCVR. See VMID Comparator Value Register, ETMVMIDCVR.

This bit is reserved, RAZ if the processor does not implement the Virtualization extensions.

[14]For PFTv1.0 this bit is Reserved, SBZP.

From PFTv1.1 this bit sets the Hyp mode comparison enable, if the processor implements the Virtualization Extensions.[a]

A value of 1 means that the address comparator also matches if the processor is operating in Hyp mode. See Virtualization.

This bit is reserved, RAZ if the processor does not implement the Virtualization extensions.

[13:10]

For PFTv1.0:

  • bits [13:12] are Reserved, SBZP

  • bits [11:10] are described elsewhere in this table.

From PFTv1.1 these bits set state and mode comparison control. The assignment of these bits is:

Bit [13, 11]

Non-secure state comparison control.

Bit [12, 10]

Secure state comparison control.

For each pair of bits, the encoding is:

b00

Match in all modes in this state.

b01

Do not match in any modes in this state.

b10

Match in all modes except User mode in this state.

b11

Match only in User mode in this state.

If the processor does not implement the Security Extensions, bits [13, 11] are reserved, RAZ/WI.

See Filtering by state and mode, from PFTv1.1

[11:10]

Security level control. The permitted values of this field are:

b00

Security level ignored.

b01

Match only if in Non-secure state.

b10

Match only if in Secure state.

The value of b11 is reserved and must not be used.

This field is available only if the connected processor implements the Security Extensions. If the Security Extensions are not implemented then these bits are RAZ/WI.

This description is valid only for PFTv1.0. For PFTv1.1 and later, see the description of bits [13:10] in this table.

[9:8]

Context ID comparator control. The permitted values of this field are:

b00

Ignore Context ID comparator.

b01

Address comparator matches only if Context ID comparator value 1 matches.

b10

Address comparator matches only if Context ID comparator value 2 matches.

b11

Address comparator matches only if Context ID comparator value 3 matches.

[7:3]

Reserved, SBZP.

[2:0]

Access type. This field is read-only, and ignores writes. It returns the value:

b001

Instruction execute.

Note

Other ARM trace architectures permit address matching conditional on the type of access and support different values for this field.

[a] If bit [26] of the ETMCCER is zero, it indicates that Virtualization support is not implemented. See Virtualization for more information.


Each of ETMACTR has the same bit assignments.

Filtering by state and mode, from PFTv1.1

From PFTv1.1 a PTM can base address matching on:

  • any mode or state

  • any mode in Secure state

  • any mode in Non-secure state.

ETMACTR[13:10], the State and mode control field, defines the conditions for an address match, as:

  • Table 3.28 shows for an implementation that includes the Security Extensions

  • Table 3.29 shows for an implementation that does not include the Security Extensions.

In addition, when the Virtualization Extensions are implemented, ETMACTR[15:14] control matching in Hyp mode and on VMID, see Table 3.29. For these bits:

  • When bit [15] VMID comparison enable is set, no match is recognized unless the current VMID matches the value stored in the ETMVMIDCVR.

  • When bit [14] Hyp mode comparison enable is set, Hyp mode is considered as an additional criterion with the modes in Table 3.28. That is, operation in Hyp mode always produces a match.

Table 3.28. Address comparator filtering by state and mode, PFTv1.1 with Security Extensions

Bits [13:10]Secure stateNon-secure state
Kernel modesUser modeKernel modesUser mode
b0000YesYesYesYes
b0001--YesYes
b0010YesYes--
b0011----
b0100Yes-YesYes
b0101-YesYesYes
b0110Yes---
b0111-Yes--
b1000YesYesYes-
b1001--Yes-
b1010YesYes-Yes
b1011---Yes
b1100Yes-Yes-
b1101-YesYes-
b1110Yes--Yes
b1111-Yes-Yes

Table 3.29. Address comparator filtering by state and mode, PFTv1.1, no Security Extensions

Bits [13:10] [a]Privileged modesUser modeMatches in
b0000YesYesAll modes
b0001--Never matches
b0100Yes-Privileged modes only
b0101-YesUser mode only

[a] Bits [13,11] are RAZ/WI if the processor does not implement the Security Extensions.


Access types for address range comparators

If you are using two address comparators as an address range comparator, the access type must be identical for each, otherwise the behavior of the comparator is unpredictable. The only exceptions to this are:

Note

This information is also given in Address comparators.

Selecting a range to include address 0xFFFFFFFF

Ranges are defined to be exclusive of the upper address, so if you specify an upper address of 0xFFFFFFFF, only addresses up to and including 0xFFFFFFFE match. To specify a data address to include 0xFFFFFFFF, configure the upper address comparator as follows:

  • Set the comparator value in the ETMACVR to 0xFFFFFFFF

  • set the size mask, bits [4:3] of the ETMACTR, to b11.

This is the only case where the size mask can be different between the two address comparators of an address range comparator.

For more information, see Address comparators.

Copyright © 1999-2002, 2004-2008, 2011 ARM. All rights reserved.ARM IHI 0035B
Non-ConfidentialID060811