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
000000000000000000000000SNIDSIDNSNIDNSID

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>}

opc1opc2CRncoprocCRm
0b0000b1100b01110b11100b1110

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;




13/12/2018 16:42; 6379d01c197f1d40720d32d0f84c419c9187c009

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