Debug Authentication Status Register
Provides information about the state of the IMPLEMENTATION DEFINED authentication interface for debug.
External register DBGAUTHSTATUS_EL1 bits [31:0] are architecturally mapped to AArch64 System register DBGAUTHSTATUS_EL1[31:0].
External register DBGAUTHSTATUS_EL1 bits [31:0] are architecturally mapped to AArch32 System register DBGAUTHSTATUS[31:0].
When FEAT_DoPD is implemented, DBGAUTHSTATUS_EL1 is in the Core power domain. Otherwise, DBGAUTHSTATUS_EL1 is in the Debug power domain.
DBGAUTHSTATUS_EL1 is a 32-bit register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
| RES0 | RTNID | RTID | RES0 | RLNID | RLID | RES0 | SNID | SID | NSNID | NSID | |||||||||||||||||||||
Reserved, RES0.
Root non-invasive debug.
This field has the same value as DBGAUTHSTATUS_EL1.RTID.
Root invasive debug.
| RTID | Meaning | 
|---|---|
| 0b00 | Not implemented. | 
| 0b10 | Implemented and disabled. ExternalRootInvasiveDebugEnabled() == FALSE. | 
| 0b11 | Implemented and enabled. ExternalRootInvasiveDebugEnabled() == TRUE. | 
All other values are reserved.
If FEAT_RME is not implemented, the only permitted value is 0b00.
Reserved, RES0.
Realm non-invasive debug.
This field has the same value as DBGAUTHSTATUS_EL1.RLID.
Realm invasive debug.
| RLID | Meaning | 
|---|---|
| 0b00 | Not implemented. | 
| 0b10 | Implemented and disabled. ExternalRealmInvasiveDebugEnabled() == FALSE. | 
| 0b11 | Implemented and enabled. ExternalRealmInvasiveDebugEnabled() == TRUE. | 
All other values are reserved.
If FEAT_RME is not implemented, the only permitted value is 0b00.
Reserved, RES0.
Secure non-invasive debug.
This field has the same value as DBGAUTHSTATUS_EL1.SID.
Secure non-invasive debug.
| SNID | Meaning | 
|---|---|
| 0b00 | Secure state is not implemented. | 
| 0b10 | Implemented and disabled. ExternalSecureNoninvasiveDebugEnabled() == FALSE. | 
| 0b11 | Implemented and enabled. ExternalSecureNoninvasiveDebugEnabled() == TRUE. | 
All other values are reserved.
Secure invasive debug.
| SID | Meaning | 
|---|---|
| 0b00 | Secure state is not implemented. | 
| 0b10 | Implemented and disabled. ExternalSecureInvasiveDebugEnabled() == FALSE. | 
| 0b11 | Implemented and enabled. ExternalSecureInvasiveDebugEnabled() == TRUE. | 
All other values are reserved.
Non-secure non-invasive debug.
| NSNID | Meaning | 
|---|---|
| 0b00 | Non-secure state is not implemented. | 
| 0b11 | Implemented and enabled. ExternalNoninvasiveDebugEnabled() == TRUE. | 
If the Effective value of SCR_EL3.NS is 1, or if EL3 is implemented and EL2 is not implemented, this field reads as 0b11.
All other values are reserved.
Non-secure non-invasive debug.
| NSNID | Meaning | 
|---|---|
| 0b00 | Non-secure state is not implemented. | 
| 0b10 | Implemented and disabled. ExternalNoninvasiveDebugEnabled() == FALSE. | 
| 0b11 | Implemented and enabled. ExternalNoninvasiveDebugEnabled() == TRUE. | 
All other values are reserved.
Non-secure invasive debug.
| NSID | Meaning | 
|---|---|
| 0b00 | Non-secure state is not implemented. | 
| 0b10 | Implemented and disabled. ExternalInvasiveDebugEnabled() == FALSE. | 
| 0b11 | Implemented and enabled. ExternalInvasiveDebugEnabled() == TRUE. | 
All other values are reserved.
| Component | Offset | Instance | 
|---|---|---|
| Debug | 0xFB8 | DBGAUTHSTATUS_EL1 | 
Accessible as follows:
Version 2025.09 — Copyright © 2010-2025 Arm Limited or its affiliates.
This site is provided as a community resource and is NOT affiliated with nor endorsed by Arm Limited.