DBGAUTHSTATUS, Debug Authentication Status register

The DBGAUTHSTATUS characteristics are:

Purpose

Provides information about the state of the IMPLEMENTATION DEFINED authentication interface for debug.

Configuration

AArch32 System register DBGAUTHSTATUS bits [31:0] are architecturally mapped to AArch64 System register DBGAUTHSTATUS_EL1[31:0] .

AArch32 System register DBGAUTHSTATUS bits [31:0] are architecturally mapped to External register DBGAUTHSTATUS_EL1[31:0] .

This register is required in all implementations.

Attributes

DBGAUTHSTATUS is a 32-bit register.

Field descriptions

The DBGAUTHSTATUS bit assignments are:

313029282726252423222120191817161514131211109876543210
RES0SNIDSIDNSNIDNSID

Bits [31:8]

Reserved, RES0.

SNID, bits [7:6]

When ARMv8.4-Debug is implemented:

Secure Non-Invasive Debug.

This field has the same value as DBGAUTHSTATUS.SID.


Otherwise:

Secure Non-Invasive Debug.

SNIDMeaning
0b00

Not implemented. EL3 is not implemented and the Effective value of SCR.NS is 1.

0b10

Implemented and disabled. ExternalSecureNoninvasiveDebugEnabled() == FALSE.

0b11

Implemented and enabled. ExternalSecureNoninvasiveDebugEnabled() == TRUE.

All other values are reserved.

SID, bits [5:4]

Secure Invasive Debug.

SIDMeaning
0b00

Not implemented. EL3 is not implemented and the Effective value of SCR_EL3.NS is 1.

0b10

Implemented and disabled. ExternalSecureInvasiveDebugEnabled() == FALSE.

0b11

Implemented and enabled. ExternalSecureInvasiveDebugEnabled() == TRUE.

All other values are reserved.

NSNID, bits [3:2]

When ARMv8.4-Debug is implemented:

Non-secure Non-invasive debug.

NSNIDMeaning
0b00

Not implemented. EL3 is not implemented and the Effective value of SCR.NS is 0.

0b11

Implemented and enabled. EL3 is implemented or the Effective value of SCR.NS is 1.

All other values are reserved.


Otherwise:

Non-secure Non-Invasive Debug.

NSNIDMeaning
0b00

Not implemented. EL3 is not implemented and the Effective value of SCR.NS is 0

0b10

Implemented and disabled. ExternalNoninvasiveDebugEnabled() == FALSE.

0b11

Implemented and enabled. ExternalNoninvasiveDebugEnabled() == TRUE.

All other values are reserved.

NSID, bits [1:0]

Non-secure Invasive Debug.

NSIDMeaning
0b00

Not implemented. EL3 is not implemented or the Effective value of SCR_EL3.NS is 0.

0b10

Implemented and disabled. ExternalInvasiveDebugEnabled() == FALSE.

0b11

Implemented and enabled. ExternalInvasiveDebugEnabled() == TRUE.

All other values are reserved.

Accessing the DBGAUTHSTATUS

Accesses to this register use the following encodings:

MRC{<c>}{<q>} <coproc>, {#}<opc1>, <Rt>, <CRn>, <CRm>{, {#}<opc2>}

coprocopc1CRnCRmopc2
0b11100b0000b01110b11100b110

if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then if EL2Enabled() && !ELUsingAArch32(EL2) && MDCR_EL2.<TDE,TDA> != '00' then AArch64.AArch32SystemAccessTrap(EL2, 0x05); elsif EL2Enabled() && ELUsingAArch32(EL2) && HDCR.<TDE,TDA> != '00' then AArch32.TakeHypTrapException(0x05); elsif HaveEL(EL3) && !ELUsingAArch32(EL3) && MDCR_EL3.TDA == '1' then AArch64.AArch32SystemAccessTrap(EL3, 0x05); else return DBGAUTHSTATUS; elsif PSTATE.EL == EL2 then if HaveEL(EL3) && !ELUsingAArch32(EL3) && MDCR_EL3.TDA == '1' then AArch64.AArch32SystemAccessTrap(EL3, 0x05); else return DBGAUTHSTATUS; elsif PSTATE.EL == EL3 then return DBGAUTHSTATUS;




27/03/2019 21:59; e5e4db499bf9867a4b93324c4dbac985d3da9376

Copyright © 2010-2019 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.