← Home

EDDFR1: External Debug Feature Register 1

Purpose

Provides top level information about the debug system in AArch64.

Configuration

There are no configuration notes.

Attributes

EDDFR1 is a 64-bit register.

Field descriptions

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
ABL_CMPsDPFZSEBEPITEABLEPMICNTRSPMU
CTX_CMPsWRPsBRPsSYSPMUID

ABL_CMPs, bits [63:56]

When FEAT_ABLE is implemented:

Number of breakpoints that support address linking, minus 1. Defined values are:

ABL_CMPsMeaning
0x00..0x3F

Number of breakpoints that support address linking minus 1.

All other values are reserved.

The number of breakpoints that support address linking is never more than either the number of breakpoints or the number of watchpoints.



Otherwise:

Reserved, RES0.

DPFZS, bits [55:52]

This field either has the same value as ID_AA64DFR1_EL1.DPFZS or reads as zero.

EBEP, bits [51:48]

This field either has the same value as ID_AA64DFR1_EL1.EBEP or reads as zero.

ITE, bits [47:44]

This field either has the same value as ID_AA64DFR1_EL1.ITE or reads as zero.

ABLE, bits [43:40]

Address Breakpoint Linking Extension. Defined values are:

ABLEMeaning
0b0000

Address Breakpoint Linking Extension not implemented.

0b0001

Address Breakpoint Linking Extension implemented.

All other values are reserved.

FEAT_BWE implements the address range breakpoints and mismatch breakpoints part of the functionality identified by the value 0b0001.

FEAT_ABLE implements the functionality identified by the value 0b0001.

In an implementation that supports AArch64, this field has the same value as ID_AA64DFR1_EL1.ABLE.

PMICNTR, bits [39:36]

This field either has the same value as ID_AA64DFR1_EL1.PMICNTR or reads as zero.

SPMU, bits [35:32]

This field either has the same value as ID_AA64DFR1_EL1.SPMU or reads as zero.

CTX_CMPs, bits [31:24]

Context-aware breakpoints. Defined values are:

CTX_CMPsMeaning
0x00

EDDFR.CTX_CMPs is the number of context-aware breakpoints, minus 1.

0x01..0x3F

Number of context-aware breakpoints minus 1.

All other values are reserved.

The value of this field is never greater than EDDFR1.BRPs.

In an implementation that supports AArch64, this field has the same value as ID_AA64DFR1_EL1.CTX_CMPs.

WRPs, bits [23:16]

Watchpoints. Defined values are:

WRPsMeaning
0x00

EDDFR.WRPs is the number of watchpoints, minus 1.

0x01..0x3F

Number of watchpoints minus 1.

All other values are reserved.

In an implementation that supports AArch64, this field has the same value as ID_AA64DFR1_EL1.WRPs.

BRPs, bits [15:8]

Breakpoints. Defined values are:

BRPsMeaning
0x00

EDDFR.BRPs is the number of breakpoints, minus 1.

0x01..0x3F

Number of breakpoints minus 1.

All other values are reserved.

In an implementation that supports AArch64, this field has the same value as ID_AA64DFR1_EL1.BRPs.

SYSPMUID, bits [7:0]

This field either has the same value as ID_AA64DFR1_EL1.SYSPMUID or reads as zero.

Accessing EDDFR1

EDDFR1 can be accessed through the external debug interface:

ComponentOffsetInstance
Debug0xD48EDDFR1

This interface is accessible as follows: