The branch main has been updated by andrew:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=4f82ce5191d550b875f7f760c83e05167728fe69

commit 4f82ce5191d550b875f7f760c83e05167728fe69
Author:     Andrew Turner <[email protected]>
AuthorDate: 2026-02-03 17:14:03 +0000
Commit:     Andrew Turner <[email protected]>
CommitDate: 2026-02-03 17:14:03 +0000

    arm64: Add the Fine-Grained Trap registers
    
    Sponsored by:   Arm Ltd
    Differential Revision:  https://reviews.freebsd.org/D54685
---
 sys/arm64/include/hypervisor.h | 1744 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 1744 insertions(+)

diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h
index f3d7027269c9..3ee5c12f2265 100644
--- a/sys/arm64/include/hypervisor.h
+++ b/sys/arm64/include/hypervisor.h
@@ -134,6 +134,15 @@
 /* Unconditionally valid */
 #define        CPTR_TCPAC              0x80000000
 
+/* HAFGRTR_EL2 */
+#define        HAFGRTR_EL2_REG                 MRS_REG_ALT_NAME(HAFGRTR_EL2)
+#define        HAFGRTR_EL2_op0                 3
+#define        HAFGRTR_EL2_op1                 4
+#define        HAFGRTR_EL2_CRn                 3
+#define        HAFGRTR_EL2_CRm                 1
+#define        HAFGRTR_EL2_op2                 6
+#define        HAFGRTR_EL2_TRAP_ALL            UL(0x0003fffffffe001f)
+
 /* HCR_EL2 - Hypervisor Config Register */
 #define        HCR_VM                          (UL(0x1) << 0)
 #define        HCR_SWIO                        (UL(0x1) << 1)
@@ -234,6 +243,1741 @@
 /* Bit 25 is reserved */
 #define HCRX_SRMASKEn                  (UL(0x1) << 26)
 
+/* HDFGRTR2_EL2 */
+#define        HDFGRTR2_EL2_REG                MRS_REG_ALT_NAME(HDFGRTR2_EL2)
+#define        HDFGRTR2_EL2_op0                3
+#define        HDFGRTR2_EL2_op1                4
+#define        HDFGRTR2_EL2_CRn                3
+#define        HDFGRTR2_EL2_CRm                1
+#define        HDFGRTR2_EL2_op2                0
+#define        HDFGRTR2_EL2_nMDSTEPOP_EL1_SHIFT 23
+#define        HDFGRTR2_EL2_nMDSTEPOP_EL1_MASK (UL(0x1) << 
HDFGRTR2_EL2_nMDSTEPOP_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nMDSTEPOP_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nMDSTEPOP_EL1_MASK)
+#define         HDFGRTR2_EL2_nMDSTEPOP_EL1_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nMDSTEPOP_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nMDSTEPOP_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nMDSTEPOP_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nTRBMPAM_EL1_SHIFT 22
+#define        HDFGRTR2_EL2_nTRBMPAM_EL1_MASK  (UL(0x1) << 
HDFGRTR2_EL2_nTRBMPAM_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nTRBMPAM_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nTRBMPAM_EL1_MASK)
+#define         HDFGRTR2_EL2_nTRBMPAM_EL1_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nTRBMPAM_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nTRBMPAM_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nTRBMPAM_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nTRCITECR_EL1_SHIFT 20
+#define        HDFGRTR2_EL2_nTRCITECR_EL1_MASK (UL(0x1) << 
HDFGRTR2_EL2_nTRCITECR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nTRCITECR_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nTRCITECR_EL1_MASK)
+#define         HDFGRTR2_EL2_nTRCITECR_EL1_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nTRCITECR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nTRCITECR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nTRCITECR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMSDSFR_EL1_SHIFT 19
+#define        HDFGRTR2_EL2_nPMSDSFR_EL1_MASK  (UL(0x1) << 
HDFGRTR2_EL2_nPMSDSFR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMSDSFR_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nPMSDSFR_EL1_MASK)
+#define         HDFGRTR2_EL2_nPMSDSFR_EL1_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nPMSDSFR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nPMSDSFR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nPMSDSFR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nSPMDEVAFF_EL1_SHIFT 18
+#define        HDFGRTR2_EL2_nSPMDEVAFF_EL1_MASK (UL(0x1) << 
HDFGRTR2_EL2_nSPMDEVAFF_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nSPMDEVAFF_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nSPMDEVAFF_EL1_MASK)
+#define         HDFGRTR2_EL2_nSPMDEVAFF_EL1_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nSPMDEVAFF_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nSPMDEVAFF_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nSPMDEVAFF_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nSPMID_SHIFT       17
+#define        HDFGRTR2_EL2_nSPMID_MASK        (UL(0x1) << 
HDFGRTR2_EL2_nSPMID_SHIFT)
+#define        HDFGRTR2_EL2_nSPMID_VAL(x)      ((x) & HDFGRTR2_EL2_nSPMID_MASK)
+#define         HDFGRTR2_EL2_nSPMID_TRAP       (UL(0x0) << 
HDFGRTR2_EL2_nSPMID_SHIFT)
+#define         HDFGRTR2_EL2_nSPMID_NOTRAP     (UL(0x1) << 
HDFGRTR2_EL2_nSPMID_SHIFT)
+#define        HDFGRTR2_EL2_nSPMSCR_EL1_SHIFT  16
+#define        HDFGRTR2_EL2_nSPMSCR_EL1_MASK   (UL(0x1) << 
HDFGRTR2_EL2_nSPMSCR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nSPMSCR_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nSPMSCR_EL1_MASK)
+#define         HDFGRTR2_EL2_nSPMSCR_EL1_TRAP  (UL(0x0) << 
HDFGRTR2_EL2_nSPMSCR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nSPMSCR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nSPMSCR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nSPMACCESSR_EL1_SHIFT 15
+#define        HDFGRTR2_EL2_nSPMACCESSR_EL1_MASK (UL(0x1) << 
HDFGRTR2_EL2_nSPMACCESSR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nSPMACCESSR_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nSPMACCESSR_EL1_MASK)
+#define         HDFGRTR2_EL2_nSPMACCESSR_EL1_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nSPMACCESSR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nSPMACCESSR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nSPMACCESSR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nSPMCR_EL0_SHIFT   14
+#define        HDFGRTR2_EL2_nSPMCR_EL0_MASK    (UL(0x1) << 
HDFGRTR2_EL2_nSPMCR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nSPMCR_EL0_VAL(x)  ((x) & 
HDFGRTR2_EL2_nSPMCR_EL0_MASK)
+#define         HDFGRTR2_EL2_nSPMCR_EL0_TRAP   (UL(0x0) << 
HDFGRTR2_EL2_nSPMCR_EL0_SHIFT)
+#define         HDFGRTR2_EL2_nSPMCR_EL0_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nSPMCR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nSPMOVS_SHIFT      13
+#define        HDFGRTR2_EL2_nSPMOVS_MASK       (UL(0x1) << 
HDFGRTR2_EL2_nSPMOVS_SHIFT)
+#define        HDFGRTR2_EL2_nSPMOVS_VAL(x)     ((x) & 
HDFGRTR2_EL2_nSPMOVS_MASK)
+#define         HDFGRTR2_EL2_nSPMOVS_TRAP      (UL(0x0) << 
HDFGRTR2_EL2_nSPMOVS_SHIFT)
+#define         HDFGRTR2_EL2_nSPMOVS_NOTRAP    (UL(0x1) << 
HDFGRTR2_EL2_nSPMOVS_SHIFT)
+#define        HDFGRTR2_EL2_nSPMINTEN_SHIFT    12
+#define        HDFGRTR2_EL2_nSPMINTEN_MASK     (UL(0x1) << 
HDFGRTR2_EL2_nSPMINTEN_SHIFT)
+#define        HDFGRTR2_EL2_nSPMINTEN_VAL(x)   ((x) & 
HDFGRTR2_EL2_nSPMINTEN_MASK)
+#define         HDFGRTR2_EL2_nSPMINTEN_TRAP    (UL(0x0) << 
HDFGRTR2_EL2_nSPMINTEN_SHIFT)
+#define         HDFGRTR2_EL2_nSPMINTEN_NOTRAP  (UL(0x1) << 
HDFGRTR2_EL2_nSPMINTEN_SHIFT)
+#define        HDFGRTR2_EL2_nSPMCNTEN_SHIFT    11
+#define        HDFGRTR2_EL2_nSPMCNTEN_MASK     (UL(0x1) << 
HDFGRTR2_EL2_nSPMCNTEN_SHIFT)
+#define        HDFGRTR2_EL2_nSPMCNTEN_VAL(x)   ((x) & 
HDFGRTR2_EL2_nSPMCNTEN_MASK)
+#define         HDFGRTR2_EL2_nSPMCNTEN_TRAP    (UL(0x0) << 
HDFGRTR2_EL2_nSPMCNTEN_SHIFT)
+#define         HDFGRTR2_EL2_nSPMCNTEN_NOTRAP  (UL(0x1) << 
HDFGRTR2_EL2_nSPMCNTEN_SHIFT)
+#define        HDFGRTR2_EL2_nSPMSELR_EL0_SHIFT 10
+#define        HDFGRTR2_EL2_nSPMSELR_EL0_MASK  (UL(0x1) << 
HDFGRTR2_EL2_nSPMSELR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nSPMSELR_EL0_VAL(x) ((x) & 
HDFGRTR2_EL2_nSPMSELR_EL0_MASK)
+#define         HDFGRTR2_EL2_nSPMSELR_EL0_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nSPMSELR_EL0_SHIFT)
+#define         HDFGRTR2_EL2_nSPMSELR_EL0_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nSPMSELR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nSPMEVTYPERn_EL0_SHIFT 9
+#define        HDFGRTR2_EL2_nSPMEVTYPERn_EL0_MASK (UL(0x1) << 
HDFGRTR2_EL2_nSPMEVTYPERn_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nSPMEVTYPERn_EL0_VAL(x) ((x) & 
HDFGRTR2_EL2_nSPMEVTYPERn_EL0_MASK)
+#define         HDFGRTR2_EL2_nSPMEVTYPERn_EL0_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nSPMEVTYPERn_EL0_SHIFT)
+#define         HDFGRTR2_EL2_nSPMEVTYPERn_EL0_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nSPMEVTYPERn_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nSPMEVCNTRn_EL0_SHIFT 8
+#define        HDFGRTR2_EL2_nSPMEVCNTRn_EL0_MASK (UL(0x1) << 
HDFGRTR2_EL2_nSPMEVCNTRn_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nSPMEVCNTRn_EL0_VAL(x) ((x) & 
HDFGRTR2_EL2_nSPMEVCNTRn_EL0_MASK)
+#define         HDFGRTR2_EL2_nSPMEVCNTRn_EL0_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nSPMEVCNTRn_EL0_SHIFT)
+#define         HDFGRTR2_EL2_nSPMEVCNTRn_EL0_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nSPMEVCNTRn_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nPMSSCR_EL1_SHIFT  7
+#define        HDFGRTR2_EL2_nPMSSCR_EL1_MASK   (UL(0x1) << 
HDFGRTR2_EL2_nPMSSCR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMSSCR_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nPMSSCR_EL1_MASK)
+#define         HDFGRTR2_EL2_nPMSSCR_EL1_TRAP  (UL(0x0) << 
HDFGRTR2_EL2_nPMSSCR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nPMSSCR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nPMSSCR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMSSDATA_SHIFT    6
+#define        HDFGRTR2_EL2_nPMSSDATA_MASK     (UL(0x1) << 
HDFGRTR2_EL2_nPMSSDATA_SHIFT)
+#define        HDFGRTR2_EL2_nPMSSDATA_VAL(x)   ((x) & 
HDFGRTR2_EL2_nPMSSDATA_MASK)
+#define         HDFGRTR2_EL2_nPMSSDATA_TRAP    (UL(0x0) << 
HDFGRTR2_EL2_nPMSSDATA_SHIFT)
+#define         HDFGRTR2_EL2_nPMSSDATA_NOTRAP  (UL(0x1) << 
HDFGRTR2_EL2_nPMSSDATA_SHIFT)
+#define        HDFGRTR2_EL2_nMDSELR_EL1_SHIFT  5
+#define        HDFGRTR2_EL2_nMDSELR_EL1_MASK   (UL(0x1) << 
HDFGRTR2_EL2_nMDSELR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nMDSELR_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nMDSELR_EL1_MASK)
+#define         HDFGRTR2_EL2_nMDSELR_EL1_TRAP  (UL(0x0) << 
HDFGRTR2_EL2_nMDSELR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nMDSELR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nMDSELR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMUACR_EL1_SHIFT  4
+#define        HDFGRTR2_EL2_nPMUACR_EL1_MASK   (UL(0x1) << 
HDFGRTR2_EL2_nPMUACR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMUACR_EL1_VAL(x) ((x) & 
HDFGRTR2_EL2_nPMUACR_EL1_MASK)
+#define         HDFGRTR2_EL2_nPMUACR_EL1_TRAP  (UL(0x0) << 
HDFGRTR2_EL2_nPMUACR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nPMUACR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nPMUACR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMICFILTR_EL0_SHIFT 3
+#define        HDFGRTR2_EL2_nPMICFILTR_EL0_MASK (UL(0x1) << 
HDFGRTR2_EL2_nPMICFILTR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nPMICFILTR_EL0_VAL(x) ((x) & 
HDFGRTR2_EL2_nPMICFILTR_EL0_MASK)
+#define         HDFGRTR2_EL2_nPMICFILTR_EL0_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nPMICFILTR_EL0_SHIFT)
+#define         HDFGRTR2_EL2_nPMICFILTR_EL0_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nPMICFILTR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nPMICNTR_EL0_SHIFT 2
+#define        HDFGRTR2_EL2_nPMICNTR_EL0_MASK  (UL(0x1) << 
HDFGRTR2_EL2_nPMICNTR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nPMICNTR_EL0_VAL(x) ((x) & 
HDFGRTR2_EL2_nPMICNTR_EL0_MASK)
+#define         HDFGRTR2_EL2_nPMICNTR_EL0_TRAP (UL(0x0) << 
HDFGRTR2_EL2_nPMICNTR_EL0_SHIFT)
+#define         HDFGRTR2_EL2_nPMICNTR_EL0_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nPMICNTR_EL0_SHIFT)
+#define        HDFGRTR2_EL2_nPMIAR_EL1_SHIFT   1
+#define        HDFGRTR2_EL2_nPMIAR_EL1_MASK    (UL(0x1) << 
HDFGRTR2_EL2_nPMIAR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMIAR_EL1_VAL(x)  ((x) & 
HDFGRTR2_EL2_nPMIAR_EL1_MASK)
+#define         HDFGRTR2_EL2_nPMIAR_EL1_TRAP   (UL(0x0) << 
HDFGRTR2_EL2_nPMIAR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nPMIAR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nPMIAR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMECR_EL1_SHIFT   0
+#define        HDFGRTR2_EL2_nPMECR_EL1_MASK    (UL(0x1) << 
HDFGRTR2_EL2_nPMECR_EL1_SHIFT)
+#define        HDFGRTR2_EL2_nPMECR_EL1_VAL(x)  ((x) & 
HDFGRTR2_EL2_nPMECR_EL1_MASK)
+#define         HDFGRTR2_EL2_nPMECR_EL1_TRAP   (UL(0x0) << 
HDFGRTR2_EL2_nPMECR_EL1_SHIFT)
+#define         HDFGRTR2_EL2_nPMECR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR2_EL2_nPMECR_EL1_SHIFT)
+
+/* HDFGRTR_EL2 */
+#define        HDFGRTR_EL2_REG                 MRS_REG_ALT_NAME(HDFGRTR_EL2)
+#define        HDFGRTR_EL2_op0                 3
+#define        HDFGRTR_EL2_op1                 4
+#define        HDFGRTR_EL2_CRn                 3
+#define        HDFGRTR_EL2_CRm                 1
+#define        HDFGRTR_EL2_op2                 4
+#define        HDFGRTR_EL2_PMBIDR_EL1_SHIFT    63
+#define        HDFGRTR_EL2_PMBIDR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_PMBIDR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMBIDR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_PMBIDR_EL1_MASK)
+#define         HDFGRTR_EL2_PMBIDR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_PMBIDR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMBIDR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_PMBIDR_EL1_SHIFT)
+#define        HDFGRTR_EL2_nPMSNEVFR_EL1_SHIFT 62
+#define        HDFGRTR_EL2_nPMSNEVFR_EL1_MASK  (UL(0x1) << 
HDFGRTR_EL2_nPMSNEVFR_EL1_SHIFT)
+#define        HDFGRTR_EL2_nPMSNEVFR_EL1_VAL(x) ((x) & 
HDFGRTR_EL2_nPMSNEVFR_EL1_MASK)
+#define         HDFGRTR_EL2_nPMSNEVFR_EL1_TRAP (UL(0x0) << 
HDFGRTR_EL2_nPMSNEVFR_EL1_SHIFT)
+#define         HDFGRTR_EL2_nPMSNEVFR_EL1_NOTRAP (UL(0x1) << 
HDFGRTR_EL2_nPMSNEVFR_EL1_SHIFT)
+#define        HDFGRTR_EL2_nBRBDATA_SHIFT      61
+#define        HDFGRTR_EL2_nBRBDATA_MASK       (UL(0x1) << 
HDFGRTR_EL2_nBRBDATA_SHIFT)
+#define        HDFGRTR_EL2_nBRBDATA_VAL(x)     ((x) & 
HDFGRTR_EL2_nBRBDATA_MASK)
+#define         HDFGRTR_EL2_nBRBDATA_TRAP      (UL(0x0) << 
HDFGRTR_EL2_nBRBDATA_SHIFT)
+#define         HDFGRTR_EL2_nBRBDATA_NOTRAP    (UL(0x1) << 
HDFGRTR_EL2_nBRBDATA_SHIFT)
+#define        HDFGRTR_EL2_nBRBCTL_SHIFT       60
+#define        HDFGRTR_EL2_nBRBCTL_MASK        (UL(0x1) << 
HDFGRTR_EL2_nBRBCTL_SHIFT)
+#define        HDFGRTR_EL2_nBRBCTL_VAL(x)      ((x) & HDFGRTR_EL2_nBRBCTL_MASK)
+#define         HDFGRTR_EL2_nBRBCTL_TRAP       (UL(0x0) << 
HDFGRTR_EL2_nBRBCTL_SHIFT)
+#define         HDFGRTR_EL2_nBRBCTL_NOTRAP     (UL(0x1) << 
HDFGRTR_EL2_nBRBCTL_SHIFT)
+#define        HDFGRTR_EL2_nBRBIDR_SHIFT       59
+#define        HDFGRTR_EL2_nBRBIDR_MASK        (UL(0x1) << 
HDFGRTR_EL2_nBRBIDR_SHIFT)
+#define        HDFGRTR_EL2_nBRBIDR_VAL(x)      ((x) & HDFGRTR_EL2_nBRBIDR_MASK)
+#define         HDFGRTR_EL2_nBRBIDR_TRAP       (UL(0x0) << 
HDFGRTR_EL2_nBRBIDR_SHIFT)
+#define         HDFGRTR_EL2_nBRBIDR_NOTRAP     (UL(0x1) << 
HDFGRTR_EL2_nBRBIDR_SHIFT)
+#define        HDFGRTR_EL2_PMCEIDn_EL0_SHIFT   58
+#define        HDFGRTR_EL2_PMCEIDn_EL0_MASK    (UL(0x1) << 
HDFGRTR_EL2_PMCEIDn_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMCEIDn_EL0_VAL(x)  ((x) & 
HDFGRTR_EL2_PMCEIDn_EL0_MASK)
+#define         HDFGRTR_EL2_PMCEIDn_EL0_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMCEIDn_EL0_SHIFT)
+#define         HDFGRTR_EL2_PMCEIDn_EL0_TRAP   (UL(0x1) << 
HDFGRTR_EL2_PMCEIDn_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMUSERENR_EL0_SHIFT 57
+#define        HDFGRTR_EL2_PMUSERENR_EL0_MASK  (UL(0x1) << 
HDFGRTR_EL2_PMUSERENR_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMUSERENR_EL0_VAL(x) ((x) & 
HDFGRTR_EL2_PMUSERENR_EL0_MASK)
+#define         HDFGRTR_EL2_PMUSERENR_EL0_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMUSERENR_EL0_SHIFT)
+#define         HDFGRTR_EL2_PMUSERENR_EL0_TRAP (UL(0x1) << 
HDFGRTR_EL2_PMUSERENR_EL0_SHIFT)
+#define        HDFGRTR_EL2_TRBTRG_EL1_SHIFT    56
+#define        HDFGRTR_EL2_TRBTRG_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_TRBTRG_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBTRG_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_TRBTRG_EL1_MASK)
+#define         HDFGRTR_EL2_TRBTRG_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_TRBTRG_EL1_SHIFT)
+#define         HDFGRTR_EL2_TRBTRG_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_TRBTRG_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBSR_EL1_SHIFT     55
+#define        HDFGRTR_EL2_TRBSR_EL1_MASK      (UL(0x1) << 
HDFGRTR_EL2_TRBSR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBSR_EL1_VAL(x)    ((x) & 
HDFGRTR_EL2_TRBSR_EL1_MASK)
+#define         HDFGRTR_EL2_TRBSR_EL1_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_TRBSR_EL1_SHIFT)
+#define         HDFGRTR_EL2_TRBSR_EL1_TRAP     (UL(0x1) << 
HDFGRTR_EL2_TRBSR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBPTR_EL1_SHIFT    54
+#define        HDFGRTR_EL2_TRBPTR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_TRBPTR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBPTR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_TRBPTR_EL1_MASK)
+#define         HDFGRTR_EL2_TRBPTR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_TRBPTR_EL1_SHIFT)
+#define         HDFGRTR_EL2_TRBPTR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_TRBPTR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBMAR_EL1_SHIFT    53
+#define        HDFGRTR_EL2_TRBMAR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_TRBMAR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBMAR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_TRBMAR_EL1_MASK)
+#define         HDFGRTR_EL2_TRBMAR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_TRBMAR_EL1_SHIFT)
+#define         HDFGRTR_EL2_TRBMAR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_TRBMAR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBLIMITR_EL1_SHIFT 52
+#define        HDFGRTR_EL2_TRBLIMITR_EL1_MASK  (UL(0x1) << 
HDFGRTR_EL2_TRBLIMITR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBLIMITR_EL1_VAL(x) ((x) & 
HDFGRTR_EL2_TRBLIMITR_EL1_MASK)
+#define         HDFGRTR_EL2_TRBLIMITR_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_TRBLIMITR_EL1_SHIFT)
+#define         HDFGRTR_EL2_TRBLIMITR_EL1_TRAP (UL(0x1) << 
HDFGRTR_EL2_TRBLIMITR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBIDR_EL1_SHIFT    51
+#define        HDFGRTR_EL2_TRBIDR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_TRBIDR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBIDR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_TRBIDR_EL1_MASK)
+#define         HDFGRTR_EL2_TRBIDR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_TRBIDR_EL1_SHIFT)
+#define         HDFGRTR_EL2_TRBIDR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_TRBIDR_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBBASER_EL1_SHIFT  50
+#define        HDFGRTR_EL2_TRBBASER_EL1_MASK   (UL(0x1) << 
HDFGRTR_EL2_TRBBASER_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRBBASER_EL1_VAL(x) ((x) & 
HDFGRTR_EL2_TRBBASER_EL1_MASK)
+#define         HDFGRTR_EL2_TRBBASER_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_TRBBASER_EL1_SHIFT)
+#define         HDFGRTR_EL2_TRBBASER_EL1_TRAP  (UL(0x1) << 
HDFGRTR_EL2_TRBBASER_EL1_SHIFT)
+#define        HDFGRTR_EL2_TRCVICTLR_SHIFT     48
+#define        HDFGRTR_EL2_TRCVICTLR_MASK      (UL(0x1) << 
HDFGRTR_EL2_TRCVICTLR_SHIFT)
+#define        HDFGRTR_EL2_TRCVICTLR_VAL(x)    ((x) & 
HDFGRTR_EL2_TRCVICTLR_MASK)
+#define         HDFGRTR_EL2_TRCVICTLR_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_TRCVICTLR_SHIFT)
+#define         HDFGRTR_EL2_TRCVICTLR_TRAP     (UL(0x1) << 
HDFGRTR_EL2_TRCVICTLR_SHIFT)
+#define        HDFGRTR_EL2_TRCSTATR_SHIFT      47
+#define        HDFGRTR_EL2_TRCSTATR_MASK       (UL(0x1) << 
HDFGRTR_EL2_TRCSTATR_SHIFT)
+#define        HDFGRTR_EL2_TRCSTATR_VAL(x)     ((x) & 
HDFGRTR_EL2_TRCSTATR_MASK)
+#define         HDFGRTR_EL2_TRCSTATR_NOTRAP    (UL(0x0) << 
HDFGRTR_EL2_TRCSTATR_SHIFT)
+#define         HDFGRTR_EL2_TRCSTATR_TRAP      (UL(0x1) << 
HDFGRTR_EL2_TRCSTATR_SHIFT)
+#define        HDFGRTR_EL2_TRCSSCSRn_SHIFT     46
+#define        HDFGRTR_EL2_TRCSSCSRn_MASK      (UL(0x1) << 
HDFGRTR_EL2_TRCSSCSRn_SHIFT)
+#define        HDFGRTR_EL2_TRCSSCSRn_VAL(x)    ((x) & 
HDFGRTR_EL2_TRCSSCSRn_MASK)
+#define         HDFGRTR_EL2_TRCSSCSRn_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_TRCSSCSRn_SHIFT)
+#define         HDFGRTR_EL2_TRCSSCSRn_TRAP     (UL(0x1) << 
HDFGRTR_EL2_TRCSSCSRn_SHIFT)
+#define        HDFGRTR_EL2_TRCSEQSTR_SHIFT     45
+#define        HDFGRTR_EL2_TRCSEQSTR_MASK      (UL(0x1) << 
HDFGRTR_EL2_TRCSEQSTR_SHIFT)
+#define        HDFGRTR_EL2_TRCSEQSTR_VAL(x)    ((x) & 
HDFGRTR_EL2_TRCSEQSTR_MASK)
+#define         HDFGRTR_EL2_TRCSEQSTR_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_TRCSEQSTR_SHIFT)
+#define         HDFGRTR_EL2_TRCSEQSTR_TRAP     (UL(0x1) << 
HDFGRTR_EL2_TRCSEQSTR_SHIFT)
+#define        HDFGRTR_EL2_TRCPRGCTLR_SHIFT    44
+#define        HDFGRTR_EL2_TRCPRGCTLR_MASK     (UL(0x1) << 
HDFGRTR_EL2_TRCPRGCTLR_SHIFT)
+#define        HDFGRTR_EL2_TRCPRGCTLR_VAL(x)   ((x) & 
HDFGRTR_EL2_TRCPRGCTLR_MASK)
+#define         HDFGRTR_EL2_TRCPRGCTLR_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_TRCPRGCTLR_SHIFT)
+#define         HDFGRTR_EL2_TRCPRGCTLR_TRAP    (UL(0x1) << 
HDFGRTR_EL2_TRCPRGCTLR_SHIFT)
+#define        HDFGRTR_EL2_TRCOSLSR_SHIFT      43
+#define        HDFGRTR_EL2_TRCOSLSR_MASK       (UL(0x1) << 
HDFGRTR_EL2_TRCOSLSR_SHIFT)
+#define        HDFGRTR_EL2_TRCOSLSR_VAL(x)     ((x) & 
HDFGRTR_EL2_TRCOSLSR_MASK)
+#define         HDFGRTR_EL2_TRCOSLSR_NOTRAP    (UL(0x0) << 
HDFGRTR_EL2_TRCOSLSR_SHIFT)
+#define         HDFGRTR_EL2_TRCOSLSR_TRAP      (UL(0x1) << 
HDFGRTR_EL2_TRCOSLSR_SHIFT)
+#define        HDFGRTR_EL2_TRCIMSPECn_SHIFT    41
+#define        HDFGRTR_EL2_TRCIMSPECn_MASK     (UL(0x1) << 
HDFGRTR_EL2_TRCIMSPECn_SHIFT)
+#define        HDFGRTR_EL2_TRCIMSPECn_VAL(x)   ((x) & 
HDFGRTR_EL2_TRCIMSPECn_MASK)
+#define         HDFGRTR_EL2_TRCIMSPECn_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_TRCIMSPECn_SHIFT)
+#define         HDFGRTR_EL2_TRCIMSPECn_TRAP    (UL(0x1) << 
HDFGRTR_EL2_TRCIMSPECn_SHIFT)
+#define        HDFGRTR_EL2_TRCID_SHIFT         40
+#define        HDFGRTR_EL2_TRCID_MASK          (UL(0x1) << 
HDFGRTR_EL2_TRCID_SHIFT)
+#define        HDFGRTR_EL2_TRCID_VAL(x)        ((x) & HDFGRTR_EL2_TRCID_MASK)
+#define         HDFGRTR_EL2_TRCID_NOTRAP       (UL(0x0) << 
HDFGRTR_EL2_TRCID_SHIFT)
+#define         HDFGRTR_EL2_TRCID_TRAP         (UL(0x1) << 
HDFGRTR_EL2_TRCID_SHIFT)
+#define        HDFGRTR_EL2_TRCCNTVRn_SHIFT     37
+#define        HDFGRTR_EL2_TRCCNTVRn_MASK      (UL(0x1) << 
HDFGRTR_EL2_TRCCNTVRn_SHIFT)
+#define        HDFGRTR_EL2_TRCCNTVRn_VAL(x)    ((x) & 
HDFGRTR_EL2_TRCCNTVRn_MASK)
+#define         HDFGRTR_EL2_TRCCNTVRn_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_TRCCNTVRn_SHIFT)
+#define         HDFGRTR_EL2_TRCCNTVRn_TRAP     (UL(0x1) << 
HDFGRTR_EL2_TRCCNTVRn_SHIFT)
+#define        HDFGRTR_EL2_TRCCLAIM_SHIFT      36
+#define        HDFGRTR_EL2_TRCCLAIM_MASK       (UL(0x1) << 
HDFGRTR_EL2_TRCCLAIM_SHIFT)
+#define        HDFGRTR_EL2_TRCCLAIM_VAL(x)     ((x) & 
HDFGRTR_EL2_TRCCLAIM_MASK)
+#define         HDFGRTR_EL2_TRCCLAIM_NOTRAP    (UL(0x0) << 
HDFGRTR_EL2_TRCCLAIM_SHIFT)
+#define         HDFGRTR_EL2_TRCCLAIM_TRAP      (UL(0x1) << 
HDFGRTR_EL2_TRCCLAIM_SHIFT)
+#define        HDFGRTR_EL2_TRCAUXCTLR_SHIFT    35
+#define        HDFGRTR_EL2_TRCAUXCTLR_MASK     (UL(0x1) << 
HDFGRTR_EL2_TRCAUXCTLR_SHIFT)
+#define        HDFGRTR_EL2_TRCAUXCTLR_VAL(x)   ((x) & 
HDFGRTR_EL2_TRCAUXCTLR_MASK)
+#define         HDFGRTR_EL2_TRCAUXCTLR_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_TRCAUXCTLR_SHIFT)
+#define         HDFGRTR_EL2_TRCAUXCTLR_TRAP    (UL(0x1) << 
HDFGRTR_EL2_TRCAUXCTLR_SHIFT)
+#define        HDFGRTR_EL2_TRCAUTHSTATUS_SHIFT 34
+#define        HDFGRTR_EL2_TRCAUTHSTATUS_MASK  (UL(0x1) << 
HDFGRTR_EL2_TRCAUTHSTATUS_SHIFT)
+#define        HDFGRTR_EL2_TRCAUTHSTATUS_VAL(x) ((x) & 
HDFGRTR_EL2_TRCAUTHSTATUS_MASK)
+#define         HDFGRTR_EL2_TRCAUTHSTATUS_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_TRCAUTHSTATUS_SHIFT)
+#define         HDFGRTR_EL2_TRCAUTHSTATUS_TRAP (UL(0x1) << 
HDFGRTR_EL2_TRCAUTHSTATUS_SHIFT)
+#define        HDFGRTR_EL2_TRC_SHIFT           33
+#define        HDFGRTR_EL2_TRC_MASK            (UL(0x1) << 
HDFGRTR_EL2_TRC_SHIFT)
+#define        HDFGRTR_EL2_TRC_VAL(x)          ((x) & HDFGRTR_EL2_TRC_MASK)
+#define         HDFGRTR_EL2_TRC_NOTRAP         (UL(0x0) << 
HDFGRTR_EL2_TRC_SHIFT)
+#define         HDFGRTR_EL2_TRC_TRAP           (UL(0x1) << 
HDFGRTR_EL2_TRC_SHIFT)
+#define        HDFGRTR_EL2_PMSLATFR_EL1_SHIFT  32
+#define        HDFGRTR_EL2_PMSLATFR_EL1_MASK   (UL(0x1) << 
HDFGRTR_EL2_PMSLATFR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSLATFR_EL1_VAL(x) ((x) & 
HDFGRTR_EL2_PMSLATFR_EL1_MASK)
+#define         HDFGRTR_EL2_PMSLATFR_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMSLATFR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMSLATFR_EL1_TRAP  (UL(0x1) << 
HDFGRTR_EL2_PMSLATFR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSIRR_EL1_SHIFT    31
+#define        HDFGRTR_EL2_PMSIRR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_PMSIRR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSIRR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_PMSIRR_EL1_MASK)
+#define         HDFGRTR_EL2_PMSIRR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_PMSIRR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMSIRR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_PMSIRR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSIDR_EL1_SHIFT    30
+#define        HDFGRTR_EL2_PMSIDR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_PMSIDR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSIDR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_PMSIDR_EL1_MASK)
+#define         HDFGRTR_EL2_PMSIDR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_PMSIDR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMSIDR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_PMSIDR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSICR_EL1_SHIFT    29
+#define        HDFGRTR_EL2_PMSICR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_PMSICR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSICR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_PMSICR_EL1_MASK)
+#define         HDFGRTR_EL2_PMSICR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_PMSICR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMSICR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_PMSICR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSFCR_EL1_SHIFT    28
+#define        HDFGRTR_EL2_PMSFCR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_PMSFCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSFCR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_PMSFCR_EL1_MASK)
+#define         HDFGRTR_EL2_PMSFCR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_PMSFCR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMSFCR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_PMSFCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSEVFR_EL1_SHIFT   27
+#define        HDFGRTR_EL2_PMSEVFR_EL1_MASK    (UL(0x1) << 
HDFGRTR_EL2_PMSEVFR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSEVFR_EL1_VAL(x)  ((x) & 
HDFGRTR_EL2_PMSEVFR_EL1_MASK)
+#define         HDFGRTR_EL2_PMSEVFR_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMSEVFR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMSEVFR_EL1_TRAP   (UL(0x1) << 
HDFGRTR_EL2_PMSEVFR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSCR_EL1_SHIFT     26
+#define        HDFGRTR_EL2_PMSCR_EL1_MASK      (UL(0x1) << 
HDFGRTR_EL2_PMSCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSCR_EL1_VAL(x)    ((x) & 
HDFGRTR_EL2_PMSCR_EL1_MASK)
+#define         HDFGRTR_EL2_PMSCR_EL1_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_PMSCR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMSCR_EL1_TRAP     (UL(0x1) << 
HDFGRTR_EL2_PMSCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMBSR_EL1_SHIFT     25
+#define        HDFGRTR_EL2_PMBSR_EL1_MASK      (UL(0x1) << 
HDFGRTR_EL2_PMBSR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMBSR_EL1_VAL(x)    ((x) & 
HDFGRTR_EL2_PMBSR_EL1_MASK)
+#define         HDFGRTR_EL2_PMBSR_EL1_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_PMBSR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMBSR_EL1_TRAP     (UL(0x1) << 
HDFGRTR_EL2_PMBSR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMBPTR_EL1_SHIFT    24
+#define        HDFGRTR_EL2_PMBPTR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_PMBPTR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMBPTR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_PMBPTR_EL1_MASK)
+#define         HDFGRTR_EL2_PMBPTR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_PMBPTR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMBPTR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_PMBPTR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMBLIMITR_EL1_SHIFT 23
+#define        HDFGRTR_EL2_PMBLIMITR_EL1_MASK  (UL(0x1) << 
HDFGRTR_EL2_PMBLIMITR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMBLIMITR_EL1_VAL(x) ((x) & 
HDFGRTR_EL2_PMBLIMITR_EL1_MASK)
+#define         HDFGRTR_EL2_PMBLIMITR_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMBLIMITR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMBLIMITR_EL1_TRAP (UL(0x1) << 
HDFGRTR_EL2_PMBLIMITR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMMIR_EL1_SHIFT     22
+#define        HDFGRTR_EL2_PMMIR_EL1_MASK      (UL(0x1) << 
HDFGRTR_EL2_PMMIR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMMIR_EL1_VAL(x)    ((x) & 
HDFGRTR_EL2_PMMIR_EL1_MASK)
+#define         HDFGRTR_EL2_PMMIR_EL1_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_PMMIR_EL1_SHIFT)
+#define         HDFGRTR_EL2_PMMIR_EL1_TRAP     (UL(0x1) << 
HDFGRTR_EL2_PMMIR_EL1_SHIFT)
+#define        HDFGRTR_EL2_PMSELR_EL0_SHIFT    19
+#define        HDFGRTR_EL2_PMSELR_EL0_MASK     (UL(0x1) << 
HDFGRTR_EL2_PMSELR_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMSELR_EL0_VAL(x)   ((x) & 
HDFGRTR_EL2_PMSELR_EL0_MASK)
+#define         HDFGRTR_EL2_PMSELR_EL0_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_PMSELR_EL0_SHIFT)
+#define         HDFGRTR_EL2_PMSELR_EL0_TRAP    (UL(0x1) << 
HDFGRTR_EL2_PMSELR_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMOVS_SHIFT         18
+#define        HDFGRTR_EL2_PMOVS_MASK          (UL(0x1) << 
HDFGRTR_EL2_PMOVS_SHIFT)
+#define        HDFGRTR_EL2_PMOVS_VAL(x)        ((x) & HDFGRTR_EL2_PMOVS_MASK)
+#define         HDFGRTR_EL2_PMOVS_NOTRAP       (UL(0x0) << 
HDFGRTR_EL2_PMOVS_SHIFT)
+#define         HDFGRTR_EL2_PMOVS_TRAP         (UL(0x1) << 
HDFGRTR_EL2_PMOVS_SHIFT)
+#define        HDFGRTR_EL2_PMINTEN_SHIFT       17
+#define        HDFGRTR_EL2_PMINTEN_MASK        (UL(0x1) << 
HDFGRTR_EL2_PMINTEN_SHIFT)
+#define        HDFGRTR_EL2_PMINTEN_VAL(x)      ((x) & HDFGRTR_EL2_PMINTEN_MASK)
+#define         HDFGRTR_EL2_PMINTEN_NOTRAP     (UL(0x0) << 
HDFGRTR_EL2_PMINTEN_SHIFT)
+#define         HDFGRTR_EL2_PMINTEN_TRAP       (UL(0x1) << 
HDFGRTR_EL2_PMINTEN_SHIFT)
+#define        HDFGRTR_EL2_PMCNTEN_SHIFT       16
+#define        HDFGRTR_EL2_PMCNTEN_MASK        (UL(0x1) << 
HDFGRTR_EL2_PMCNTEN_SHIFT)
+#define        HDFGRTR_EL2_PMCNTEN_VAL(x)      ((x) & HDFGRTR_EL2_PMCNTEN_MASK)
+#define         HDFGRTR_EL2_PMCNTEN_NOTRAP     (UL(0x0) << 
HDFGRTR_EL2_PMCNTEN_SHIFT)
+#define         HDFGRTR_EL2_PMCNTEN_TRAP       (UL(0x1) << 
HDFGRTR_EL2_PMCNTEN_SHIFT)
+#define        HDFGRTR_EL2_PMCCNTR_EL0_SHIFT   15
+#define        HDFGRTR_EL2_PMCCNTR_EL0_MASK    (UL(0x1) << 
HDFGRTR_EL2_PMCCNTR_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMCCNTR_EL0_VAL(x)  ((x) & 
HDFGRTR_EL2_PMCCNTR_EL0_MASK)
+#define         HDFGRTR_EL2_PMCCNTR_EL0_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMCCNTR_EL0_SHIFT)
+#define         HDFGRTR_EL2_PMCCNTR_EL0_TRAP   (UL(0x1) << 
HDFGRTR_EL2_PMCCNTR_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMCCFILTR_EL0_SHIFT 14
+#define        HDFGRTR_EL2_PMCCFILTR_EL0_MASK  (UL(0x1) << 
HDFGRTR_EL2_PMCCFILTR_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMCCFILTR_EL0_VAL(x) ((x) & 
HDFGRTR_EL2_PMCCFILTR_EL0_MASK)
+#define         HDFGRTR_EL2_PMCCFILTR_EL0_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMCCFILTR_EL0_SHIFT)
+#define         HDFGRTR_EL2_PMCCFILTR_EL0_TRAP (UL(0x1) << 
HDFGRTR_EL2_PMCCFILTR_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMEVTYPERn_EL0_SHIFT 13
+#define        HDFGRTR_EL2_PMEVTYPERn_EL0_MASK (UL(0x1) << 
HDFGRTR_EL2_PMEVTYPERn_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMEVTYPERn_EL0_VAL(x) ((x) & 
HDFGRTR_EL2_PMEVTYPERn_EL0_MASK)
+#define         HDFGRTR_EL2_PMEVTYPERn_EL0_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMEVTYPERn_EL0_SHIFT)
+#define         HDFGRTR_EL2_PMEVTYPERn_EL0_TRAP (UL(0x1) << 
HDFGRTR_EL2_PMEVTYPERn_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMEVCNTRn_EL0_SHIFT 12
+#define        HDFGRTR_EL2_PMEVCNTRn_EL0_MASK  (UL(0x1) << 
HDFGRTR_EL2_PMEVCNTRn_EL0_SHIFT)
+#define        HDFGRTR_EL2_PMEVCNTRn_EL0_VAL(x) ((x) & 
HDFGRTR_EL2_PMEVCNTRn_EL0_MASK)
+#define         HDFGRTR_EL2_PMEVCNTRn_EL0_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_PMEVCNTRn_EL0_SHIFT)
+#define         HDFGRTR_EL2_PMEVCNTRn_EL0_TRAP (UL(0x1) << 
HDFGRTR_EL2_PMEVCNTRn_EL0_SHIFT)
+#define        HDFGRTR_EL2_OSDLR_EL1_SHIFT     11
+#define        HDFGRTR_EL2_OSDLR_EL1_MASK      (UL(0x1) << 
HDFGRTR_EL2_OSDLR_EL1_SHIFT)
+#define        HDFGRTR_EL2_OSDLR_EL1_VAL(x)    ((x) & 
HDFGRTR_EL2_OSDLR_EL1_MASK)
+#define         HDFGRTR_EL2_OSDLR_EL1_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_OSDLR_EL1_SHIFT)
+#define         HDFGRTR_EL2_OSDLR_EL1_TRAP     (UL(0x1) << 
HDFGRTR_EL2_OSDLR_EL1_SHIFT)
+#define        HDFGRTR_EL2_OSECCR_EL1_SHIFT    10
+#define        HDFGRTR_EL2_OSECCR_EL1_MASK     (UL(0x1) << 
HDFGRTR_EL2_OSECCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_OSECCR_EL1_VAL(x)   ((x) & 
HDFGRTR_EL2_OSECCR_EL1_MASK)
+#define         HDFGRTR_EL2_OSECCR_EL1_NOTRAP  (UL(0x0) << 
HDFGRTR_EL2_OSECCR_EL1_SHIFT)
+#define         HDFGRTR_EL2_OSECCR_EL1_TRAP    (UL(0x1) << 
HDFGRTR_EL2_OSECCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_OSLSR_EL1_SHIFT     9
+#define        HDFGRTR_EL2_OSLSR_EL1_MASK      (UL(0x1) << 
HDFGRTR_EL2_OSLSR_EL1_SHIFT)
+#define        HDFGRTR_EL2_OSLSR_EL1_VAL(x)    ((x) & 
HDFGRTR_EL2_OSLSR_EL1_MASK)
+#define         HDFGRTR_EL2_OSLSR_EL1_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_OSLSR_EL1_SHIFT)
+#define         HDFGRTR_EL2_OSLSR_EL1_TRAP     (UL(0x1) << 
HDFGRTR_EL2_OSLSR_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGPRCR_EL1_SHIFT   7
+#define        HDFGRTR_EL2_DBGPRCR_EL1_MASK    (UL(0x1) << 
HDFGRTR_EL2_DBGPRCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGPRCR_EL1_VAL(x)  ((x) & 
HDFGRTR_EL2_DBGPRCR_EL1_MASK)
+#define         HDFGRTR_EL2_DBGPRCR_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_DBGPRCR_EL1_SHIFT)
+#define         HDFGRTR_EL2_DBGPRCR_EL1_TRAP   (UL(0x1) << 
HDFGRTR_EL2_DBGPRCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGAUTHSTATUS_EL1_SHIFT 6
+#define        HDFGRTR_EL2_DBGAUTHSTATUS_EL1_MASK (UL(0x1) << 
HDFGRTR_EL2_DBGAUTHSTATUS_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGAUTHSTATUS_EL1_VAL(x) ((x) & 
HDFGRTR_EL2_DBGAUTHSTATUS_EL1_MASK)
+#define         HDFGRTR_EL2_DBGAUTHSTATUS_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_DBGAUTHSTATUS_EL1_SHIFT)
+#define         HDFGRTR_EL2_DBGAUTHSTATUS_EL1_TRAP (UL(0x1) << 
HDFGRTR_EL2_DBGAUTHSTATUS_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGCLAIM_SHIFT      5
+#define        HDFGRTR_EL2_DBGCLAIM_MASK       (UL(0x1) << 
HDFGRTR_EL2_DBGCLAIM_SHIFT)
+#define        HDFGRTR_EL2_DBGCLAIM_VAL(x)     ((x) & 
HDFGRTR_EL2_DBGCLAIM_MASK)
+#define         HDFGRTR_EL2_DBGCLAIM_NOTRAP    (UL(0x0) << 
HDFGRTR_EL2_DBGCLAIM_SHIFT)
+#define         HDFGRTR_EL2_DBGCLAIM_TRAP      (UL(0x1) << 
HDFGRTR_EL2_DBGCLAIM_SHIFT)
+#define        HDFGRTR_EL2_MDSCR_EL1_SHIFT     4
+#define        HDFGRTR_EL2_MDSCR_EL1_MASK      (UL(0x1) << 
HDFGRTR_EL2_MDSCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_MDSCR_EL1_VAL(x)    ((x) & 
HDFGRTR_EL2_MDSCR_EL1_MASK)
+#define         HDFGRTR_EL2_MDSCR_EL1_NOTRAP   (UL(0x0) << 
HDFGRTR_EL2_MDSCR_EL1_SHIFT)
+#define         HDFGRTR_EL2_MDSCR_EL1_TRAP     (UL(0x1) << 
HDFGRTR_EL2_MDSCR_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGWVRn_EL1_SHIFT   3
+#define        HDFGRTR_EL2_DBGWVRn_EL1_MASK    (UL(0x1) << 
HDFGRTR_EL2_DBGWVRn_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGWVRn_EL1_VAL(x)  ((x) & 
HDFGRTR_EL2_DBGWVRn_EL1_MASK)
+#define         HDFGRTR_EL2_DBGWVRn_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_DBGWVRn_EL1_SHIFT)
+#define         HDFGRTR_EL2_DBGWVRn_EL1_TRAP   (UL(0x1) << 
HDFGRTR_EL2_DBGWVRn_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGWCRn_EL1_SHIFT   2
+#define        HDFGRTR_EL2_DBGWCRn_EL1_MASK    (UL(0x1) << 
HDFGRTR_EL2_DBGWCRn_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGWCRn_EL1_VAL(x)  ((x) & 
HDFGRTR_EL2_DBGWCRn_EL1_MASK)
+#define         HDFGRTR_EL2_DBGWCRn_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_DBGWCRn_EL1_SHIFT)
+#define         HDFGRTR_EL2_DBGWCRn_EL1_TRAP   (UL(0x1) << 
HDFGRTR_EL2_DBGWCRn_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGBVRn_EL1_SHIFT   1
+#define        HDFGRTR_EL2_DBGBVRn_EL1_MASK    (UL(0x1) << 
HDFGRTR_EL2_DBGBVRn_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGBVRn_EL1_VAL(x)  ((x) & 
HDFGRTR_EL2_DBGBVRn_EL1_MASK)
+#define         HDFGRTR_EL2_DBGBVRn_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_DBGBVRn_EL1_SHIFT)
+#define         HDFGRTR_EL2_DBGBVRn_EL1_TRAP   (UL(0x1) << 
HDFGRTR_EL2_DBGBVRn_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGBCRn_EL1_SHIFT   0
+#define        HDFGRTR_EL2_DBGBCRn_EL1_MASK    (UL(0x1) << 
HDFGRTR_EL2_DBGBCRn_EL1_SHIFT)
+#define        HDFGRTR_EL2_DBGBCRn_EL1_VAL(x)  ((x) & 
HDFGRTR_EL2_DBGBCRn_EL1_MASK)
+#define         HDFGRTR_EL2_DBGBCRn_EL1_NOTRAP (UL(0x0) << 
HDFGRTR_EL2_DBGBCRn_EL1_SHIFT)
+#define         HDFGRTR_EL2_DBGBCRn_EL1_TRAP   (UL(0x1) << 
HDFGRTR_EL2_DBGBCRn_EL1_SHIFT)
+
+/* HDFGWTR2_EL2 */
+#define        HDFGWTR2_EL2_REG                MRS_REG_ALT_NAME(HDFGWTR2_EL2)
+#define        HDFGWTR2_EL2_op0                3
+#define        HDFGWTR2_EL2_op1                4
+#define        HDFGWTR2_EL2_CRn                3
+#define        HDFGWTR2_EL2_CRm                1
+#define        HDFGWTR2_EL2_op2                1
+#define        HDFGWTR2_EL2_nMDSTEPOP_EL1_SHIFT 23
+#define        HDFGWTR2_EL2_nMDSTEPOP_EL1_MASK (UL(0x1) << 
HDFGWTR2_EL2_nMDSTEPOP_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nMDSTEPOP_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nMDSTEPOP_EL1_MASK)
+#define         HDFGWTR2_EL2_nMDSTEPOP_EL1_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nMDSTEPOP_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nMDSTEPOP_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nMDSTEPOP_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nTRBMPAM_EL1_SHIFT 22
+#define        HDFGWTR2_EL2_nTRBMPAM_EL1_MASK  (UL(0x1) << 
HDFGWTR2_EL2_nTRBMPAM_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nTRBMPAM_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nTRBMPAM_EL1_MASK)
+#define         HDFGWTR2_EL2_nTRBMPAM_EL1_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nTRBMPAM_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nTRBMPAM_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nTRBMPAM_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMZR_EL0_SHIFT    21
+#define        HDFGWTR2_EL2_nPMZR_EL0_MASK     (UL(0x1) << 
HDFGWTR2_EL2_nPMZR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nPMZR_EL0_VAL(x)   ((x) & 
HDFGWTR2_EL2_nPMZR_EL0_MASK)
+#define         HDFGWTR2_EL2_nPMZR_EL0_TRAP    (UL(0x0) << 
HDFGWTR2_EL2_nPMZR_EL0_SHIFT)
+#define         HDFGWTR2_EL2_nPMZR_EL0_NOTRAP  (UL(0x1) << 
HDFGWTR2_EL2_nPMZR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nTRCITECR_EL1_SHIFT 20
+#define        HDFGWTR2_EL2_nTRCITECR_EL1_MASK (UL(0x1) << 
HDFGWTR2_EL2_nTRCITECR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nTRCITECR_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nTRCITECR_EL1_MASK)
+#define         HDFGWTR2_EL2_nTRCITECR_EL1_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nTRCITECR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nTRCITECR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nTRCITECR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMSDSFR_EL1_SHIFT 19
+#define        HDFGWTR2_EL2_nPMSDSFR_EL1_MASK  (UL(0x1) << 
HDFGWTR2_EL2_nPMSDSFR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMSDSFR_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nPMSDSFR_EL1_MASK)
+#define         HDFGWTR2_EL2_nPMSDSFR_EL1_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nPMSDSFR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nPMSDSFR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nPMSDSFR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nSPMSCR_EL1_SHIFT  16
+#define        HDFGWTR2_EL2_nSPMSCR_EL1_MASK   (UL(0x1) << 
HDFGWTR2_EL2_nSPMSCR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nSPMSCR_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nSPMSCR_EL1_MASK)
+#define         HDFGWTR2_EL2_nSPMSCR_EL1_TRAP  (UL(0x0) << 
HDFGWTR2_EL2_nSPMSCR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nSPMSCR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nSPMSCR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nSPMACCESSR_EL1_SHIFT 15
+#define        HDFGWTR2_EL2_nSPMACCESSR_EL1_MASK (UL(0x1) << 
HDFGWTR2_EL2_nSPMACCESSR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nSPMACCESSR_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nSPMACCESSR_EL1_MASK)
+#define         HDFGWTR2_EL2_nSPMACCESSR_EL1_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nSPMACCESSR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nSPMACCESSR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nSPMACCESSR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nSPMCR_EL0_SHIFT   14
+#define        HDFGWTR2_EL2_nSPMCR_EL0_MASK    (UL(0x1) << 
HDFGWTR2_EL2_nSPMCR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nSPMCR_EL0_VAL(x)  ((x) & 
HDFGWTR2_EL2_nSPMCR_EL0_MASK)
+#define         HDFGWTR2_EL2_nSPMCR_EL0_TRAP   (UL(0x0) << 
HDFGWTR2_EL2_nSPMCR_EL0_SHIFT)
+#define         HDFGWTR2_EL2_nSPMCR_EL0_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nSPMCR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nSPMOVS_SHIFT      13
+#define        HDFGWTR2_EL2_nSPMOVS_MASK       (UL(0x1) << 
HDFGWTR2_EL2_nSPMOVS_SHIFT)
+#define        HDFGWTR2_EL2_nSPMOVS_VAL(x)     ((x) & 
HDFGWTR2_EL2_nSPMOVS_MASK)
+#define         HDFGWTR2_EL2_nSPMOVS_TRAP      (UL(0x0) << 
HDFGWTR2_EL2_nSPMOVS_SHIFT)
+#define         HDFGWTR2_EL2_nSPMOVS_NOTRAP    (UL(0x1) << 
HDFGWTR2_EL2_nSPMOVS_SHIFT)
+#define        HDFGWTR2_EL2_nSPMINTEN_SHIFT    12
+#define        HDFGWTR2_EL2_nSPMINTEN_MASK     (UL(0x1) << 
HDFGWTR2_EL2_nSPMINTEN_SHIFT)
+#define        HDFGWTR2_EL2_nSPMINTEN_VAL(x)   ((x) & 
HDFGWTR2_EL2_nSPMINTEN_MASK)
+#define         HDFGWTR2_EL2_nSPMINTEN_TRAP    (UL(0x0) << 
HDFGWTR2_EL2_nSPMINTEN_SHIFT)
+#define         HDFGWTR2_EL2_nSPMINTEN_NOTRAP  (UL(0x1) << 
HDFGWTR2_EL2_nSPMINTEN_SHIFT)
+#define        HDFGWTR2_EL2_nSPMCNTEN_SHIFT    11
+#define        HDFGWTR2_EL2_nSPMCNTEN_MASK     (UL(0x1) << 
HDFGWTR2_EL2_nSPMCNTEN_SHIFT)
+#define        HDFGWTR2_EL2_nSPMCNTEN_VAL(x)   ((x) & 
HDFGWTR2_EL2_nSPMCNTEN_MASK)
+#define         HDFGWTR2_EL2_nSPMCNTEN_TRAP    (UL(0x0) << 
HDFGWTR2_EL2_nSPMCNTEN_SHIFT)
+#define         HDFGWTR2_EL2_nSPMCNTEN_NOTRAP  (UL(0x1) << 
HDFGWTR2_EL2_nSPMCNTEN_SHIFT)
+#define        HDFGWTR2_EL2_nSPMSELR_EL0_SHIFT 10
+#define        HDFGWTR2_EL2_nSPMSELR_EL0_MASK  (UL(0x1) << 
HDFGWTR2_EL2_nSPMSELR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nSPMSELR_EL0_VAL(x) ((x) & 
HDFGWTR2_EL2_nSPMSELR_EL0_MASK)
+#define         HDFGWTR2_EL2_nSPMSELR_EL0_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nSPMSELR_EL0_SHIFT)
+#define         HDFGWTR2_EL2_nSPMSELR_EL0_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nSPMSELR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nSPMEVTYPERn_EL0_SHIFT 9
+#define        HDFGWTR2_EL2_nSPMEVTYPERn_EL0_MASK (UL(0x1) << 
HDFGWTR2_EL2_nSPMEVTYPERn_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nSPMEVTYPERn_EL0_VAL(x) ((x) & 
HDFGWTR2_EL2_nSPMEVTYPERn_EL0_MASK)
+#define         HDFGWTR2_EL2_nSPMEVTYPERn_EL0_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nSPMEVTYPERn_EL0_SHIFT)
+#define         HDFGWTR2_EL2_nSPMEVTYPERn_EL0_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nSPMEVTYPERn_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nSPMEVCNTRn_EL0_SHIFT 8
+#define        HDFGWTR2_EL2_nSPMEVCNTRn_EL0_MASK (UL(0x1) << 
HDFGWTR2_EL2_nSPMEVCNTRn_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nSPMEVCNTRn_EL0_VAL(x) ((x) & 
HDFGWTR2_EL2_nSPMEVCNTRn_EL0_MASK)
+#define         HDFGWTR2_EL2_nSPMEVCNTRn_EL0_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nSPMEVCNTRn_EL0_SHIFT)
+#define         HDFGWTR2_EL2_nSPMEVCNTRn_EL0_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nSPMEVCNTRn_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nPMSSCR_EL1_SHIFT  7
+#define        HDFGWTR2_EL2_nPMSSCR_EL1_MASK   (UL(0x1) << 
HDFGWTR2_EL2_nPMSSCR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMSSCR_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nPMSSCR_EL1_MASK)
+#define         HDFGWTR2_EL2_nPMSSCR_EL1_TRAP  (UL(0x0) << 
HDFGWTR2_EL2_nPMSSCR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nPMSSCR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nPMSSCR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nMDSELR_EL1_SHIFT  5
+#define        HDFGWTR2_EL2_nMDSELR_EL1_MASK   (UL(0x1) << 
HDFGWTR2_EL2_nMDSELR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nMDSELR_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nMDSELR_EL1_MASK)
+#define         HDFGWTR2_EL2_nMDSELR_EL1_TRAP  (UL(0x0) << 
HDFGWTR2_EL2_nMDSELR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nMDSELR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nMDSELR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMUACR_EL1_SHIFT  4
+#define        HDFGWTR2_EL2_nPMUACR_EL1_MASK   (UL(0x1) << 
HDFGWTR2_EL2_nPMUACR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMUACR_EL1_VAL(x) ((x) & 
HDFGWTR2_EL2_nPMUACR_EL1_MASK)
+#define         HDFGWTR2_EL2_nPMUACR_EL1_TRAP  (UL(0x0) << 
HDFGWTR2_EL2_nPMUACR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nPMUACR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nPMUACR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMICFILTR_EL0_SHIFT 3
+#define        HDFGWTR2_EL2_nPMICFILTR_EL0_MASK (UL(0x1) << 
HDFGWTR2_EL2_nPMICFILTR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nPMICFILTR_EL0_VAL(x) ((x) & 
HDFGWTR2_EL2_nPMICFILTR_EL0_MASK)
+#define         HDFGWTR2_EL2_nPMICFILTR_EL0_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nPMICFILTR_EL0_SHIFT)
+#define         HDFGWTR2_EL2_nPMICFILTR_EL0_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nPMICFILTR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nPMICNTR_EL0_SHIFT 2
+#define        HDFGWTR2_EL2_nPMICNTR_EL0_MASK  (UL(0x1) << 
HDFGWTR2_EL2_nPMICNTR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nPMICNTR_EL0_VAL(x) ((x) & 
HDFGWTR2_EL2_nPMICNTR_EL0_MASK)
+#define         HDFGWTR2_EL2_nPMICNTR_EL0_TRAP (UL(0x0) << 
HDFGWTR2_EL2_nPMICNTR_EL0_SHIFT)
+#define         HDFGWTR2_EL2_nPMICNTR_EL0_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nPMICNTR_EL0_SHIFT)
+#define        HDFGWTR2_EL2_nPMIAR_EL1_SHIFT   1
+#define        HDFGWTR2_EL2_nPMIAR_EL1_MASK    (UL(0x1) << 
HDFGWTR2_EL2_nPMIAR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMIAR_EL1_VAL(x)  ((x) & 
HDFGWTR2_EL2_nPMIAR_EL1_MASK)
+#define         HDFGWTR2_EL2_nPMIAR_EL1_TRAP   (UL(0x0) << 
HDFGWTR2_EL2_nPMIAR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nPMIAR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nPMIAR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMECR_EL1_SHIFT   0
+#define        HDFGWTR2_EL2_nPMECR_EL1_MASK    (UL(0x1) << 
HDFGWTR2_EL2_nPMECR_EL1_SHIFT)
+#define        HDFGWTR2_EL2_nPMECR_EL1_VAL(x)  ((x) & 
HDFGWTR2_EL2_nPMECR_EL1_MASK)
+#define         HDFGWTR2_EL2_nPMECR_EL1_TRAP   (UL(0x0) << 
HDFGWTR2_EL2_nPMECR_EL1_SHIFT)
+#define         HDFGWTR2_EL2_nPMECR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR2_EL2_nPMECR_EL1_SHIFT)
+
+/* HDFGWTR_EL2 */
+#define        HDFGWTR_EL2_REG                 MRS_REG_ALT_NAME(HDFGWTR_EL2)
+#define        HDFGWTR_EL2_op0                 3
+#define        HDFGWTR_EL2_op1                 4
+#define        HDFGWTR_EL2_CRn                 3
+#define        HDFGWTR_EL2_CRm                 1
+#define        HDFGWTR_EL2_op2                 5
+#define        HDFGWTR_EL2_nPMSNEVFR_EL1_SHIFT 62
+#define        HDFGWTR_EL2_nPMSNEVFR_EL1_MASK  (UL(0x1) << 
HDFGWTR_EL2_nPMSNEVFR_EL1_SHIFT)
+#define        HDFGWTR_EL2_nPMSNEVFR_EL1_VAL(x) ((x) & 
HDFGWTR_EL2_nPMSNEVFR_EL1_MASK)
+#define         HDFGWTR_EL2_nPMSNEVFR_EL1_TRAP (UL(0x0) << 
HDFGWTR_EL2_nPMSNEVFR_EL1_SHIFT)
+#define         HDFGWTR_EL2_nPMSNEVFR_EL1_NOTRAP (UL(0x1) << 
HDFGWTR_EL2_nPMSNEVFR_EL1_SHIFT)
+#define        HDFGWTR_EL2_nBRBDATA_SHIFT      61
+#define        HDFGWTR_EL2_nBRBDATA_MASK       (UL(0x1) << 
HDFGWTR_EL2_nBRBDATA_SHIFT)
+#define        HDFGWTR_EL2_nBRBDATA_VAL(x)     ((x) & 
HDFGWTR_EL2_nBRBDATA_MASK)
+#define         HDFGWTR_EL2_nBRBDATA_TRAP      (UL(0x0) << 
HDFGWTR_EL2_nBRBDATA_SHIFT)
+#define         HDFGWTR_EL2_nBRBDATA_NOTRAP    (UL(0x1) << 
HDFGWTR_EL2_nBRBDATA_SHIFT)
+#define        HDFGWTR_EL2_nBRBCTL_SHIFT       60
+#define        HDFGWTR_EL2_nBRBCTL_MASK        (UL(0x1) << 
HDFGWTR_EL2_nBRBCTL_SHIFT)
+#define        HDFGWTR_EL2_nBRBCTL_VAL(x)      ((x) & HDFGWTR_EL2_nBRBCTL_MASK)
+#define         HDFGWTR_EL2_nBRBCTL_TRAP       (UL(0x0) << 
HDFGWTR_EL2_nBRBCTL_SHIFT)
+#define         HDFGWTR_EL2_nBRBCTL_NOTRAP     (UL(0x1) << 
HDFGWTR_EL2_nBRBCTL_SHIFT)
+#define        HDFGWTR_EL2_PMUSERENR_EL0_SHIFT 57
+#define        HDFGWTR_EL2_PMUSERENR_EL0_MASK  (UL(0x1) << 
HDFGWTR_EL2_PMUSERENR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMUSERENR_EL0_VAL(x) ((x) & 
HDFGWTR_EL2_PMUSERENR_EL0_MASK)
+#define         HDFGWTR_EL2_PMUSERENR_EL0_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMUSERENR_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMUSERENR_EL0_TRAP (UL(0x1) << 
HDFGWTR_EL2_PMUSERENR_EL0_SHIFT)
+#define        HDFGWTR_EL2_TRBTRG_EL1_SHIFT    56
+#define        HDFGWTR_EL2_TRBTRG_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_TRBTRG_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBTRG_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_TRBTRG_EL1_MASK)
+#define         HDFGWTR_EL2_TRBTRG_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_TRBTRG_EL1_SHIFT)
+#define         HDFGWTR_EL2_TRBTRG_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_TRBTRG_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBSR_EL1_SHIFT     55
+#define        HDFGWTR_EL2_TRBSR_EL1_MASK      (UL(0x1) << 
HDFGWTR_EL2_TRBSR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBSR_EL1_VAL(x)    ((x) & 
HDFGWTR_EL2_TRBSR_EL1_MASK)
+#define         HDFGWTR_EL2_TRBSR_EL1_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_TRBSR_EL1_SHIFT)
+#define         HDFGWTR_EL2_TRBSR_EL1_TRAP     (UL(0x1) << 
HDFGWTR_EL2_TRBSR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBPTR_EL1_SHIFT    54
+#define        HDFGWTR_EL2_TRBPTR_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_TRBPTR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBPTR_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_TRBPTR_EL1_MASK)
+#define         HDFGWTR_EL2_TRBPTR_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_TRBPTR_EL1_SHIFT)
+#define         HDFGWTR_EL2_TRBPTR_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_TRBPTR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBMAR_EL1_SHIFT    53
+#define        HDFGWTR_EL2_TRBMAR_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_TRBMAR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBMAR_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_TRBMAR_EL1_MASK)
+#define         HDFGWTR_EL2_TRBMAR_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_TRBMAR_EL1_SHIFT)
+#define         HDFGWTR_EL2_TRBMAR_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_TRBMAR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBLIMITR_EL1_SHIFT 52
+#define        HDFGWTR_EL2_TRBLIMITR_EL1_MASK  (UL(0x1) << 
HDFGWTR_EL2_TRBLIMITR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBLIMITR_EL1_VAL(x) ((x) & 
HDFGWTR_EL2_TRBLIMITR_EL1_MASK)
+#define         HDFGWTR_EL2_TRBLIMITR_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_TRBLIMITR_EL1_SHIFT)
+#define         HDFGWTR_EL2_TRBLIMITR_EL1_TRAP (UL(0x1) << 
HDFGWTR_EL2_TRBLIMITR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBBASER_EL1_SHIFT  50
+#define        HDFGWTR_EL2_TRBBASER_EL1_MASK   (UL(0x1) << 
HDFGWTR_EL2_TRBBASER_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRBBASER_EL1_VAL(x) ((x) & 
HDFGWTR_EL2_TRBBASER_EL1_MASK)
+#define         HDFGWTR_EL2_TRBBASER_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_TRBBASER_EL1_SHIFT)
+#define         HDFGWTR_EL2_TRBBASER_EL1_TRAP  (UL(0x1) << 
HDFGWTR_EL2_TRBBASER_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRFCR_EL1_SHIFT     49
+#define        HDFGWTR_EL2_TRFCR_EL1_MASK      (UL(0x1) << 
HDFGWTR_EL2_TRFCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRFCR_EL1_VAL(x)    ((x) & 
HDFGWTR_EL2_TRFCR_EL1_MASK)
+#define         HDFGWTR_EL2_TRFCR_EL1_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_TRFCR_EL1_SHIFT)
+#define         HDFGWTR_EL2_TRFCR_EL1_TRAP     (UL(0x1) << 
HDFGWTR_EL2_TRFCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_TRCVICTLR_SHIFT     48
+#define        HDFGWTR_EL2_TRCVICTLR_MASK      (UL(0x1) << 
HDFGWTR_EL2_TRCVICTLR_SHIFT)
+#define        HDFGWTR_EL2_TRCVICTLR_VAL(x)    ((x) & 
HDFGWTR_EL2_TRCVICTLR_MASK)
+#define         HDFGWTR_EL2_TRCVICTLR_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_TRCVICTLR_SHIFT)
+#define         HDFGWTR_EL2_TRCVICTLR_TRAP     (UL(0x1) << 
HDFGWTR_EL2_TRCVICTLR_SHIFT)
+#define        HDFGWTR_EL2_TRCSSCSRn_SHIFT     46
+#define        HDFGWTR_EL2_TRCSSCSRn_MASK      (UL(0x1) << 
HDFGWTR_EL2_TRCSSCSRn_SHIFT)
+#define        HDFGWTR_EL2_TRCSSCSRn_VAL(x)    ((x) & 
HDFGWTR_EL2_TRCSSCSRn_MASK)
+#define         HDFGWTR_EL2_TRCSSCSRn_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_TRCSSCSRn_SHIFT)
+#define         HDFGWTR_EL2_TRCSSCSRn_TRAP     (UL(0x1) << 
HDFGWTR_EL2_TRCSSCSRn_SHIFT)
+#define        HDFGWTR_EL2_TRCSEQSTR_SHIFT     45
+#define        HDFGWTR_EL2_TRCSEQSTR_MASK      (UL(0x1) << 
HDFGWTR_EL2_TRCSEQSTR_SHIFT)
+#define        HDFGWTR_EL2_TRCSEQSTR_VAL(x)    ((x) & 
HDFGWTR_EL2_TRCSEQSTR_MASK)
+#define         HDFGWTR_EL2_TRCSEQSTR_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_TRCSEQSTR_SHIFT)
+#define         HDFGWTR_EL2_TRCSEQSTR_TRAP     (UL(0x1) << 
HDFGWTR_EL2_TRCSEQSTR_SHIFT)
+#define        HDFGWTR_EL2_TRCPRGCTLR_SHIFT    44
+#define        HDFGWTR_EL2_TRCPRGCTLR_MASK     (UL(0x1) << 
HDFGWTR_EL2_TRCPRGCTLR_SHIFT)
+#define        HDFGWTR_EL2_TRCPRGCTLR_VAL(x)   ((x) & 
HDFGWTR_EL2_TRCPRGCTLR_MASK)
+#define         HDFGWTR_EL2_TRCPRGCTLR_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_TRCPRGCTLR_SHIFT)
+#define         HDFGWTR_EL2_TRCPRGCTLR_TRAP    (UL(0x1) << 
HDFGWTR_EL2_TRCPRGCTLR_SHIFT)
+#define        HDFGWTR_EL2_TRCOSLAR_SHIFT      42
+#define        HDFGWTR_EL2_TRCOSLAR_MASK       (UL(0x1) << 
HDFGWTR_EL2_TRCOSLAR_SHIFT)
+#define        HDFGWTR_EL2_TRCOSLAR_VAL(x)     ((x) & 
HDFGWTR_EL2_TRCOSLAR_MASK)
+#define         HDFGWTR_EL2_TRCOSLAR_NOTRAP    (UL(0x0) << 
HDFGWTR_EL2_TRCOSLAR_SHIFT)
+#define         HDFGWTR_EL2_TRCOSLAR_TRAP      (UL(0x1) << 
HDFGWTR_EL2_TRCOSLAR_SHIFT)
+#define        HDFGWTR_EL2_TRCIMSPECn_SHIFT    41
+#define        HDFGWTR_EL2_TRCIMSPECn_MASK     (UL(0x1) << 
HDFGWTR_EL2_TRCIMSPECn_SHIFT)
+#define        HDFGWTR_EL2_TRCIMSPECn_VAL(x)   ((x) & 
HDFGWTR_EL2_TRCIMSPECn_MASK)
+#define         HDFGWTR_EL2_TRCIMSPECn_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_TRCIMSPECn_SHIFT)
+#define         HDFGWTR_EL2_TRCIMSPECn_TRAP    (UL(0x1) << 
HDFGWTR_EL2_TRCIMSPECn_SHIFT)
+#define        HDFGWTR_EL2_TRCCNTVRn_SHIFT     37
+#define        HDFGWTR_EL2_TRCCNTVRn_MASK      (UL(0x1) << 
HDFGWTR_EL2_TRCCNTVRn_SHIFT)
+#define        HDFGWTR_EL2_TRCCNTVRn_VAL(x)    ((x) & 
HDFGWTR_EL2_TRCCNTVRn_MASK)
+#define         HDFGWTR_EL2_TRCCNTVRn_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_TRCCNTVRn_SHIFT)
+#define         HDFGWTR_EL2_TRCCNTVRn_TRAP     (UL(0x1) << 
HDFGWTR_EL2_TRCCNTVRn_SHIFT)
+#define        HDFGWTR_EL2_TRCCLAIM_SHIFT      36
+#define        HDFGWTR_EL2_TRCCLAIM_MASK       (UL(0x1) << 
HDFGWTR_EL2_TRCCLAIM_SHIFT)
+#define        HDFGWTR_EL2_TRCCLAIM_VAL(x)     ((x) & 
HDFGWTR_EL2_TRCCLAIM_MASK)
+#define         HDFGWTR_EL2_TRCCLAIM_NOTRAP    (UL(0x0) << 
HDFGWTR_EL2_TRCCLAIM_SHIFT)
+#define         HDFGWTR_EL2_TRCCLAIM_TRAP      (UL(0x1) << 
HDFGWTR_EL2_TRCCLAIM_SHIFT)
+#define        HDFGWTR_EL2_TRCAUXCTLR_SHIFT    35
+#define        HDFGWTR_EL2_TRCAUXCTLR_MASK     (UL(0x1) << 
HDFGWTR_EL2_TRCAUXCTLR_SHIFT)
+#define        HDFGWTR_EL2_TRCAUXCTLR_VAL(x)   ((x) & 
HDFGWTR_EL2_TRCAUXCTLR_MASK)
+#define         HDFGWTR_EL2_TRCAUXCTLR_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_TRCAUXCTLR_SHIFT)
+#define         HDFGWTR_EL2_TRCAUXCTLR_TRAP    (UL(0x1) << 
HDFGWTR_EL2_TRCAUXCTLR_SHIFT)
+#define        HDFGWTR_EL2_TRC_SHIFT           33
+#define        HDFGWTR_EL2_TRC_MASK            (UL(0x1) << 
HDFGWTR_EL2_TRC_SHIFT)
+#define        HDFGWTR_EL2_TRC_VAL(x)          ((x) & HDFGWTR_EL2_TRC_MASK)
+#define         HDFGWTR_EL2_TRC_NOTRAP         (UL(0x0) << 
HDFGWTR_EL2_TRC_SHIFT)
+#define         HDFGWTR_EL2_TRC_TRAP           (UL(0x1) << 
HDFGWTR_EL2_TRC_SHIFT)
+#define        HDFGWTR_EL2_PMSLATFR_EL1_SHIFT  32
+#define        HDFGWTR_EL2_PMSLATFR_EL1_MASK   (UL(0x1) << 
HDFGWTR_EL2_PMSLATFR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSLATFR_EL1_VAL(x) ((x) & 
HDFGWTR_EL2_PMSLATFR_EL1_MASK)
+#define         HDFGWTR_EL2_PMSLATFR_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMSLATFR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMSLATFR_EL1_TRAP  (UL(0x1) << 
HDFGWTR_EL2_PMSLATFR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSIRR_EL1_SHIFT    31
+#define        HDFGWTR_EL2_PMSIRR_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_PMSIRR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSIRR_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_PMSIRR_EL1_MASK)
+#define         HDFGWTR_EL2_PMSIRR_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_PMSIRR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMSIRR_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_PMSIRR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSICR_EL1_SHIFT    29
+#define        HDFGWTR_EL2_PMSICR_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_PMSICR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSICR_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_PMSICR_EL1_MASK)
+#define         HDFGWTR_EL2_PMSICR_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_PMSICR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMSICR_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_PMSICR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSFCR_EL1_SHIFT    28
+#define        HDFGWTR_EL2_PMSFCR_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_PMSFCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSFCR_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_PMSFCR_EL1_MASK)
+#define         HDFGWTR_EL2_PMSFCR_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_PMSFCR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMSFCR_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_PMSFCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSEVFR_EL1_SHIFT   27
+#define        HDFGWTR_EL2_PMSEVFR_EL1_MASK    (UL(0x1) << 
HDFGWTR_EL2_PMSEVFR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSEVFR_EL1_VAL(x)  ((x) & 
HDFGWTR_EL2_PMSEVFR_EL1_MASK)
+#define         HDFGWTR_EL2_PMSEVFR_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMSEVFR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMSEVFR_EL1_TRAP   (UL(0x1) << 
HDFGWTR_EL2_PMSEVFR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSCR_EL1_SHIFT     26
+#define        HDFGWTR_EL2_PMSCR_EL1_MASK      (UL(0x1) << 
HDFGWTR_EL2_PMSCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMSCR_EL1_VAL(x)    ((x) & 
HDFGWTR_EL2_PMSCR_EL1_MASK)
+#define         HDFGWTR_EL2_PMSCR_EL1_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_PMSCR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMSCR_EL1_TRAP     (UL(0x1) << 
HDFGWTR_EL2_PMSCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMBSR_EL1_SHIFT     25
+#define        HDFGWTR_EL2_PMBSR_EL1_MASK      (UL(0x1) << 
HDFGWTR_EL2_PMBSR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMBSR_EL1_VAL(x)    ((x) & 
HDFGWTR_EL2_PMBSR_EL1_MASK)
+#define         HDFGWTR_EL2_PMBSR_EL1_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_PMBSR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMBSR_EL1_TRAP     (UL(0x1) << 
HDFGWTR_EL2_PMBSR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMBPTR_EL1_SHIFT    24
+#define        HDFGWTR_EL2_PMBPTR_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_PMBPTR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMBPTR_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_PMBPTR_EL1_MASK)
+#define         HDFGWTR_EL2_PMBPTR_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_PMBPTR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMBPTR_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_PMBPTR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMBLIMITR_EL1_SHIFT 23
+#define        HDFGWTR_EL2_PMBLIMITR_EL1_MASK  (UL(0x1) << 
HDFGWTR_EL2_PMBLIMITR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMBLIMITR_EL1_VAL(x) ((x) & 
HDFGWTR_EL2_PMBLIMITR_EL1_MASK)
+#define         HDFGWTR_EL2_PMBLIMITR_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMBLIMITR_EL1_SHIFT)
+#define         HDFGWTR_EL2_PMBLIMITR_EL1_TRAP (UL(0x1) << 
HDFGWTR_EL2_PMBLIMITR_EL1_SHIFT)
+#define        HDFGWTR_EL2_PMCR_EL0_SHIFT      21
+#define        HDFGWTR_EL2_PMCR_EL0_MASK       (UL(0x1) << 
HDFGWTR_EL2_PMCR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMCR_EL0_VAL(x)     ((x) & 
HDFGWTR_EL2_PMCR_EL0_MASK)
+#define         HDFGWTR_EL2_PMCR_EL0_NOTRAP    (UL(0x0) << 
HDFGWTR_EL2_PMCR_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMCR_EL0_TRAP      (UL(0x1) << 
HDFGWTR_EL2_PMCR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMSWINC_EL0_SHIFT   20
+#define        HDFGWTR_EL2_PMSWINC_EL0_MASK    (UL(0x1) << 
HDFGWTR_EL2_PMSWINC_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMSWINC_EL0_VAL(x)  ((x) & 
HDFGWTR_EL2_PMSWINC_EL0_MASK)
+#define         HDFGWTR_EL2_PMSWINC_EL0_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMSWINC_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMSWINC_EL0_TRAP   (UL(0x1) << 
HDFGWTR_EL2_PMSWINC_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMSELR_EL0_SHIFT    19
+#define        HDFGWTR_EL2_PMSELR_EL0_MASK     (UL(0x1) << 
HDFGWTR_EL2_PMSELR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMSELR_EL0_VAL(x)   ((x) & 
HDFGWTR_EL2_PMSELR_EL0_MASK)
+#define         HDFGWTR_EL2_PMSELR_EL0_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_PMSELR_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMSELR_EL0_TRAP    (UL(0x1) << 
HDFGWTR_EL2_PMSELR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMOVS_SHIFT         18
+#define        HDFGWTR_EL2_PMOVS_MASK          (UL(0x1) << 
HDFGWTR_EL2_PMOVS_SHIFT)
+#define        HDFGWTR_EL2_PMOVS_VAL(x)        ((x) & HDFGWTR_EL2_PMOVS_MASK)
+#define         HDFGWTR_EL2_PMOVS_NOTRAP       (UL(0x0) << 
HDFGWTR_EL2_PMOVS_SHIFT)
+#define         HDFGWTR_EL2_PMOVS_TRAP         (UL(0x1) << 
HDFGWTR_EL2_PMOVS_SHIFT)
+#define        HDFGWTR_EL2_PMINTEN_SHIFT       17
+#define        HDFGWTR_EL2_PMINTEN_MASK        (UL(0x1) << 
HDFGWTR_EL2_PMINTEN_SHIFT)
+#define        HDFGWTR_EL2_PMINTEN_VAL(x)      ((x) & HDFGWTR_EL2_PMINTEN_MASK)
+#define         HDFGWTR_EL2_PMINTEN_NOTRAP     (UL(0x0) << 
HDFGWTR_EL2_PMINTEN_SHIFT)
+#define         HDFGWTR_EL2_PMINTEN_TRAP       (UL(0x1) << 
HDFGWTR_EL2_PMINTEN_SHIFT)
+#define        HDFGWTR_EL2_PMCNTEN_SHIFT       16
+#define        HDFGWTR_EL2_PMCNTEN_MASK        (UL(0x1) << 
HDFGWTR_EL2_PMCNTEN_SHIFT)
+#define        HDFGWTR_EL2_PMCNTEN_VAL(x)      ((x) & HDFGWTR_EL2_PMCNTEN_MASK)
+#define         HDFGWTR_EL2_PMCNTEN_NOTRAP     (UL(0x0) << 
HDFGWTR_EL2_PMCNTEN_SHIFT)
+#define         HDFGWTR_EL2_PMCNTEN_TRAP       (UL(0x1) << 
HDFGWTR_EL2_PMCNTEN_SHIFT)
+#define        HDFGWTR_EL2_PMCCNTR_EL0_SHIFT   15
+#define        HDFGWTR_EL2_PMCCNTR_EL0_MASK    (UL(0x1) << 
HDFGWTR_EL2_PMCCNTR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMCCNTR_EL0_VAL(x)  ((x) & 
HDFGWTR_EL2_PMCCNTR_EL0_MASK)
+#define         HDFGWTR_EL2_PMCCNTR_EL0_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMCCNTR_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMCCNTR_EL0_TRAP   (UL(0x1) << 
HDFGWTR_EL2_PMCCNTR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMCCFILTR_EL0_SHIFT 14
+#define        HDFGWTR_EL2_PMCCFILTR_EL0_MASK  (UL(0x1) << 
HDFGWTR_EL2_PMCCFILTR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMCCFILTR_EL0_VAL(x) ((x) & 
HDFGWTR_EL2_PMCCFILTR_EL0_MASK)
+#define         HDFGWTR_EL2_PMCCFILTR_EL0_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMCCFILTR_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMCCFILTR_EL0_TRAP (UL(0x1) << 
HDFGWTR_EL2_PMCCFILTR_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMEVTYPERn_EL0_SHIFT 13
+#define        HDFGWTR_EL2_PMEVTYPERn_EL0_MASK (UL(0x1) << 
HDFGWTR_EL2_PMEVTYPERn_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMEVTYPERn_EL0_VAL(x) ((x) & 
HDFGWTR_EL2_PMEVTYPERn_EL0_MASK)
+#define         HDFGWTR_EL2_PMEVTYPERn_EL0_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMEVTYPERn_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMEVTYPERn_EL0_TRAP (UL(0x1) << 
HDFGWTR_EL2_PMEVTYPERn_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMEVCNTRn_EL0_SHIFT 12
+#define        HDFGWTR_EL2_PMEVCNTRn_EL0_MASK  (UL(0x1) << 
HDFGWTR_EL2_PMEVCNTRn_EL0_SHIFT)
+#define        HDFGWTR_EL2_PMEVCNTRn_EL0_VAL(x) ((x) & 
HDFGWTR_EL2_PMEVCNTRn_EL0_MASK)
+#define         HDFGWTR_EL2_PMEVCNTRn_EL0_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_PMEVCNTRn_EL0_SHIFT)
+#define         HDFGWTR_EL2_PMEVCNTRn_EL0_TRAP (UL(0x1) << 
HDFGWTR_EL2_PMEVCNTRn_EL0_SHIFT)
+#define        HDFGWTR_EL2_OSDLR_EL1_SHIFT     11
+#define        HDFGWTR_EL2_OSDLR_EL1_MASK      (UL(0x1) << 
HDFGWTR_EL2_OSDLR_EL1_SHIFT)
+#define        HDFGWTR_EL2_OSDLR_EL1_VAL(x)    ((x) & 
HDFGWTR_EL2_OSDLR_EL1_MASK)
+#define         HDFGWTR_EL2_OSDLR_EL1_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_OSDLR_EL1_SHIFT)
+#define         HDFGWTR_EL2_OSDLR_EL1_TRAP     (UL(0x1) << 
HDFGWTR_EL2_OSDLR_EL1_SHIFT)
+#define        HDFGWTR_EL2_OSECCR_EL1_SHIFT    10
+#define        HDFGWTR_EL2_OSECCR_EL1_MASK     (UL(0x1) << 
HDFGWTR_EL2_OSECCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_OSECCR_EL1_VAL(x)   ((x) & 
HDFGWTR_EL2_OSECCR_EL1_MASK)
+#define         HDFGWTR_EL2_OSECCR_EL1_NOTRAP  (UL(0x0) << 
HDFGWTR_EL2_OSECCR_EL1_SHIFT)
+#define         HDFGWTR_EL2_OSECCR_EL1_TRAP    (UL(0x1) << 
HDFGWTR_EL2_OSECCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_OSLAR_EL1_SHIFT     8
+#define        HDFGWTR_EL2_OSLAR_EL1_MASK      (UL(0x1) << 
HDFGWTR_EL2_OSLAR_EL1_SHIFT)
+#define        HDFGWTR_EL2_OSLAR_EL1_VAL(x)    ((x) & 
HDFGWTR_EL2_OSLAR_EL1_MASK)
+#define         HDFGWTR_EL2_OSLAR_EL1_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_OSLAR_EL1_SHIFT)
+#define         HDFGWTR_EL2_OSLAR_EL1_TRAP     (UL(0x1) << 
HDFGWTR_EL2_OSLAR_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGPRCR_EL1_SHIFT   7
+#define        HDFGWTR_EL2_DBGPRCR_EL1_MASK    (UL(0x1) << 
HDFGWTR_EL2_DBGPRCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGPRCR_EL1_VAL(x)  ((x) & 
HDFGWTR_EL2_DBGPRCR_EL1_MASK)
+#define         HDFGWTR_EL2_DBGPRCR_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_DBGPRCR_EL1_SHIFT)
+#define         HDFGWTR_EL2_DBGPRCR_EL1_TRAP   (UL(0x1) << 
HDFGWTR_EL2_DBGPRCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGCLAIM_SHIFT      5
+#define        HDFGWTR_EL2_DBGCLAIM_MASK       (UL(0x1) << 
HDFGWTR_EL2_DBGCLAIM_SHIFT)
+#define        HDFGWTR_EL2_DBGCLAIM_VAL(x)     ((x) & 
HDFGWTR_EL2_DBGCLAIM_MASK)
+#define         HDFGWTR_EL2_DBGCLAIM_NOTRAP    (UL(0x0) << 
HDFGWTR_EL2_DBGCLAIM_SHIFT)
+#define         HDFGWTR_EL2_DBGCLAIM_TRAP      (UL(0x1) << 
HDFGWTR_EL2_DBGCLAIM_SHIFT)
+#define        HDFGWTR_EL2_MDSCR_EL1_SHIFT     4
+#define        HDFGWTR_EL2_MDSCR_EL1_MASK      (UL(0x1) << 
HDFGWTR_EL2_MDSCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_MDSCR_EL1_VAL(x)    ((x) & 
HDFGWTR_EL2_MDSCR_EL1_MASK)
+#define         HDFGWTR_EL2_MDSCR_EL1_NOTRAP   (UL(0x0) << 
HDFGWTR_EL2_MDSCR_EL1_SHIFT)
+#define         HDFGWTR_EL2_MDSCR_EL1_TRAP     (UL(0x1) << 
HDFGWTR_EL2_MDSCR_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGWVRn_EL1_SHIFT   3
+#define        HDFGWTR_EL2_DBGWVRn_EL1_MASK    (UL(0x1) << 
HDFGWTR_EL2_DBGWVRn_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGWVRn_EL1_VAL(x)  ((x) & 
HDFGWTR_EL2_DBGWVRn_EL1_MASK)
+#define         HDFGWTR_EL2_DBGWVRn_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_DBGWVRn_EL1_SHIFT)
+#define         HDFGWTR_EL2_DBGWVRn_EL1_TRAP   (UL(0x1) << 
HDFGWTR_EL2_DBGWVRn_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGWCRn_EL1_SHIFT   2
+#define        HDFGWTR_EL2_DBGWCRn_EL1_MASK    (UL(0x1) << 
HDFGWTR_EL2_DBGWCRn_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGWCRn_EL1_VAL(x)  ((x) & 
HDFGWTR_EL2_DBGWCRn_EL1_MASK)
+#define         HDFGWTR_EL2_DBGWCRn_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_DBGWCRn_EL1_SHIFT)
+#define         HDFGWTR_EL2_DBGWCRn_EL1_TRAP   (UL(0x1) << 
HDFGWTR_EL2_DBGWCRn_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGBVRn_EL1_SHIFT   1
+#define        HDFGWTR_EL2_DBGBVRn_EL1_MASK    (UL(0x1) << 
HDFGWTR_EL2_DBGBVRn_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGBVRn_EL1_VAL(x)  ((x) & 
HDFGWTR_EL2_DBGBVRn_EL1_MASK)
+#define         HDFGWTR_EL2_DBGBVRn_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_DBGBVRn_EL1_SHIFT)
+#define         HDFGWTR_EL2_DBGBVRn_EL1_TRAP   (UL(0x1) << 
HDFGWTR_EL2_DBGBVRn_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGBCRn_EL1_SHIFT   0
+#define        HDFGWTR_EL2_DBGBCRn_EL1_MASK    (UL(0x1) << 
HDFGWTR_EL2_DBGBCRn_EL1_SHIFT)
+#define        HDFGWTR_EL2_DBGBCRn_EL1_VAL(x)  ((x) & 
HDFGWTR_EL2_DBGBCRn_EL1_MASK)
+#define         HDFGWTR_EL2_DBGBCRn_EL1_NOTRAP (UL(0x0) << 
HDFGWTR_EL2_DBGBCRn_EL1_SHIFT)
+#define         HDFGWTR_EL2_DBGBCRn_EL1_TRAP   (UL(0x1) << 
HDFGWTR_EL2_DBGBCRn_EL1_SHIFT)
+
+/* HFGITR2_EL2 */
+#define        HFGITR2_EL2_REG                 MRS_REG_ALT_NAME(HFGITR2_EL2)
+#define        HFGITR2_EL2_op0                 3
+#define        HFGITR2_EL2_op1                 4
+#define        HFGITR2_EL2_CRn                 3
+#define        HFGITR2_EL2_CRm                 1
+#define        HFGITR2_EL2_op2                 7
+
+/* HFGITR_EL2 */
+#define        HFGITR_EL2_REG                  MRS_REG_ALT_NAME(HFGITR_EL2)
+#define        HFGITR_EL2_op0                  3
+#define        HFGITR_EL2_op1                  4
+#define        HFGITR_EL2_CRn                  1
+#define        HFGITR_EL2_CRm                  1
+#define        HFGITR_EL2_op2                  6
+#define        HFGITR_EL2_ATS1E1A_SHIFT        62
+#define        HFGITR_EL2_ATS1E1A_MASK         (UL(0x1) << 
HFGITR_EL2_ATS1E1A_SHIFT)
+#define        HFGITR_EL2_ATS1E1A_VAL(x)       ((x) & HFGITR_EL2_ATS1E1A_MASK)
+#define         HFGITR_EL2_ATS1E1A_NOTRAP      (UL(0x0) << 
HFGITR_EL2_ATS1E1A_SHIFT)
+#define         HFGITR_EL2_ATS1E1A_TRAP        (UL(0x1) << 
HFGITR_EL2_ATS1E1A_SHIFT)
+#define        HFGITR_EL2_COSPRCTX_SHIFT       60
+#define        HFGITR_EL2_COSPRCTX_MASK        (UL(0x1) << 
HFGITR_EL2_COSPRCTX_SHIFT)
+#define        HFGITR_EL2_COSPRCTX_VAL(x)      ((x) & HFGITR_EL2_COSPRCTX_MASK)
+#define         HFGITR_EL2_COSPRCTX_NOTRAP     (UL(0x0) << 
HFGITR_EL2_COSPRCTX_SHIFT)
+#define         HFGITR_EL2_COSPRCTX_TRAP       (UL(0x1) << 
HFGITR_EL2_COSPRCTX_SHIFT)
+#define        HFGITR_EL2_nGCSEPP_SHIFT        59
+#define        HFGITR_EL2_nGCSEPP_MASK         (UL(0x1) << 
HFGITR_EL2_nGCSEPP_SHIFT)
+#define        HFGITR_EL2_nGCSEPP_VAL(x)       ((x) & HFGITR_EL2_nGCSEPP_MASK)
+#define         HFGITR_EL2_nGCSEPP_TRAP        (UL(0x0) << 
HFGITR_EL2_nGCSEPP_SHIFT)
+#define         HFGITR_EL2_nGCSEPP_NOTRAP      (UL(0x1) << 
HFGITR_EL2_nGCSEPP_SHIFT)
+#define        HFGITR_EL2_nGCSSTR_EL1_SHIFT    58
+#define        HFGITR_EL2_nGCSSTR_EL1_MASK     (UL(0x1) << 
HFGITR_EL2_nGCSSTR_EL1_SHIFT)
+#define        HFGITR_EL2_nGCSSTR_EL1_VAL(x)   ((x) & 
HFGITR_EL2_nGCSSTR_EL1_MASK)
+#define         HFGITR_EL2_nGCSSTR_EL1_TRAP    (UL(0x0) << 
HFGITR_EL2_nGCSSTR_EL1_SHIFT)
+#define         HFGITR_EL2_nGCSSTR_EL1_NOTRAP  (UL(0x1) << 
HFGITR_EL2_nGCSSTR_EL1_SHIFT)
+#define        HFGITR_EL2_nGCSPUSHM_EL1_SHIFT  57
+#define        HFGITR_EL2_nGCSPUSHM_EL1_MASK   (UL(0x1) << 
HFGITR_EL2_nGCSPUSHM_EL1_SHIFT)
+#define        HFGITR_EL2_nGCSPUSHM_EL1_VAL(x) ((x) & 
HFGITR_EL2_nGCSPUSHM_EL1_MASK)
+#define         HFGITR_EL2_nGCSPUSHM_EL1_TRAP  (UL(0x0) << 
HFGITR_EL2_nGCSPUSHM_EL1_SHIFT)
+#define         HFGITR_EL2_nGCSPUSHM_EL1_NOTRAP (UL(0x1) << 
HFGITR_EL2_nGCSPUSHM_EL1_SHIFT)
+#define        HFGITR_EL2_nBRBIALL_SHIFT       56
+#define        HFGITR_EL2_nBRBIALL_MASK        (UL(0x1) << 
HFGITR_EL2_nBRBIALL_SHIFT)
+#define        HFGITR_EL2_nBRBIALL_VAL(x)      ((x) & HFGITR_EL2_nBRBIALL_MASK)
+#define         HFGITR_EL2_nBRBIALL_TRAP       (UL(0x0) << 
HFGITR_EL2_nBRBIALL_SHIFT)
+#define         HFGITR_EL2_nBRBIALL_NOTRAP     (UL(0x1) << 
HFGITR_EL2_nBRBIALL_SHIFT)
+#define        HFGITR_EL2_nBRBINJ_SHIFT        55
+#define        HFGITR_EL2_nBRBINJ_MASK         (UL(0x1) << 
HFGITR_EL2_nBRBINJ_SHIFT)
+#define        HFGITR_EL2_nBRBINJ_VAL(x)       ((x) & HFGITR_EL2_nBRBINJ_MASK)
+#define         HFGITR_EL2_nBRBINJ_TRAP        (UL(0x0) << 
HFGITR_EL2_nBRBINJ_SHIFT)
+#define         HFGITR_EL2_nBRBINJ_NOTRAP      (UL(0x1) << 
HFGITR_EL2_nBRBINJ_SHIFT)
+#define        HFGITR_EL2_DCCVAC_SHIFT         54
+#define        HFGITR_EL2_DCCVAC_MASK          (UL(0x1) << 
HFGITR_EL2_DCCVAC_SHIFT)
+#define        HFGITR_EL2_DCCVAC_VAL(x)        ((x) & HFGITR_EL2_DCCVAC_MASK)
+#define         HFGITR_EL2_DCCVAC_NOTRAP       (UL(0x0) << 
HFGITR_EL2_DCCVAC_SHIFT)
+#define         HFGITR_EL2_DCCVAC_TRAP         (UL(0x1) << 
HFGITR_EL2_DCCVAC_SHIFT)
+#define        HFGITR_EL2_SVC_EL1_SHIFT        53
+#define        HFGITR_EL2_SVC_EL1_MASK         (UL(0x1) << 
HFGITR_EL2_SVC_EL1_SHIFT)
+#define        HFGITR_EL2_SVC_EL1_VAL(x)       ((x) & HFGITR_EL2_SVC_EL1_MASK)
+#define         HFGITR_EL2_SVC_EL1_NOTRAP      (UL(0x0) << 
HFGITR_EL2_SVC_EL1_SHIFT)
+#define         HFGITR_EL2_SVC_EL1_TRAP        (UL(0x1) << 
HFGITR_EL2_SVC_EL1_SHIFT)
+#define        HFGITR_EL2_SVC_EL0_SHIFT        52
+#define        HFGITR_EL2_SVC_EL0_MASK         (UL(0x1) << 
HFGITR_EL2_SVC_EL0_SHIFT)
+#define        HFGITR_EL2_SVC_EL0_VAL(x)       ((x) & HFGITR_EL2_SVC_EL0_MASK)
+#define         HFGITR_EL2_SVC_EL0_NOTRAP      (UL(0x0) << 
HFGITR_EL2_SVC_EL0_SHIFT)
+#define         HFGITR_EL2_SVC_EL0_TRAP        (UL(0x1) << 
HFGITR_EL2_SVC_EL0_SHIFT)
+#define        HFGITR_EL2_ERET_SHIFT           51
+#define        HFGITR_EL2_ERET_MASK            (UL(0x1) << 
HFGITR_EL2_ERET_SHIFT)
+#define        HFGITR_EL2_ERET_VAL(x)          ((x) & HFGITR_EL2_ERET_MASK)
+#define         HFGITR_EL2_ERET_NOTRAP         (UL(0x0) << 
HFGITR_EL2_ERET_SHIFT)
+#define         HFGITR_EL2_ERET_TRAP           (UL(0x1) << 
HFGITR_EL2_ERET_SHIFT)
+#define        HFGITR_EL2_CPPRCTX_SHIFT        50
+#define        HFGITR_EL2_CPPRCTX_MASK         (UL(0x1) << 
HFGITR_EL2_CPPRCTX_SHIFT)
+#define        HFGITR_EL2_CPPRCTX_VAL(x)       ((x) & HFGITR_EL2_CPPRCTX_MASK)
+#define         HFGITR_EL2_CPPRCTX_NOTRAP      (UL(0x0) << 
HFGITR_EL2_CPPRCTX_SHIFT)
+#define         HFGITR_EL2_CPPRCTX_TRAP        (UL(0x1) << 
HFGITR_EL2_CPPRCTX_SHIFT)
+#define        HFGITR_EL2_DVPRCTX_SHIFT        49
+#define        HFGITR_EL2_DVPRCTX_MASK         (UL(0x1) << 
HFGITR_EL2_DVPRCTX_SHIFT)
+#define        HFGITR_EL2_DVPRCTX_VAL(x)       ((x) & HFGITR_EL2_DVPRCTX_MASK)
+#define         HFGITR_EL2_DVPRCTX_NOTRAP      (UL(0x0) << 
HFGITR_EL2_DVPRCTX_SHIFT)
+#define         HFGITR_EL2_DVPRCTX_TRAP        (UL(0x1) << 
HFGITR_EL2_DVPRCTX_SHIFT)
+#define        HFGITR_EL2_CFPRCTX_SHIFT        48
+#define        HFGITR_EL2_CFPRCTX_MASK         (UL(0x1) << 
HFGITR_EL2_CFPRCTX_SHIFT)
+#define        HFGITR_EL2_CFPRCTX_VAL(x)       ((x) & HFGITR_EL2_CFPRCTX_MASK)
+#define         HFGITR_EL2_CFPRCTX_NOTRAP      (UL(0x0) << 
HFGITR_EL2_CFPRCTX_SHIFT)
+#define         HFGITR_EL2_CFPRCTX_TRAP        (UL(0x1) << 
HFGITR_EL2_CFPRCTX_SHIFT)
+#define        HFGITR_EL2_TLBIVAALE1_SHIFT     47
+#define        HFGITR_EL2_TLBIVAALE1_MASK      (UL(0x1) << 
HFGITR_EL2_TLBIVAALE1_SHIFT)
+#define        HFGITR_EL2_TLBIVAALE1_VAL(x)    ((x) & 
HFGITR_EL2_TLBIVAALE1_MASK)
+#define         HFGITR_EL2_TLBIVAALE1_NOTRAP   (UL(0x0) << 
HFGITR_EL2_TLBIVAALE1_SHIFT)
+#define         HFGITR_EL2_TLBIVAALE1_TRAP     (UL(0x1) << 
HFGITR_EL2_TLBIVAALE1_SHIFT)
+#define        HFGITR_EL2_TLBIVALE1_SHIFT      46
+#define        HFGITR_EL2_TLBIVALE1_MASK       (UL(0x1) << 
HFGITR_EL2_TLBIVALE1_SHIFT)
+#define        HFGITR_EL2_TLBIVALE1_VAL(x)     ((x) & 
HFGITR_EL2_TLBIVALE1_MASK)
+#define         HFGITR_EL2_TLBIVALE1_NOTRAP    (UL(0x0) << 
HFGITR_EL2_TLBIVALE1_SHIFT)
+#define         HFGITR_EL2_TLBIVALE1_TRAP      (UL(0x1) << 
HFGITR_EL2_TLBIVALE1_SHIFT)
+#define        HFGITR_EL2_TLBIVAAE1_SHIFT      45
+#define        HFGITR_EL2_TLBIVAAE1_MASK       (UL(0x1) << 
HFGITR_EL2_TLBIVAAE1_SHIFT)
+#define        HFGITR_EL2_TLBIVAAE1_VAL(x)     ((x) & 
HFGITR_EL2_TLBIVAAE1_MASK)
+#define         HFGITR_EL2_TLBIVAAE1_NOTRAP    (UL(0x0) << 
HFGITR_EL2_TLBIVAAE1_SHIFT)
+#define         HFGITR_EL2_TLBIVAAE1_TRAP      (UL(0x1) << 
HFGITR_EL2_TLBIVAAE1_SHIFT)
+#define        HFGITR_EL2_TLBIASIDE1_SHIFT     44
+#define        HFGITR_EL2_TLBIASIDE1_MASK      (UL(0x1) << 
HFGITR_EL2_TLBIASIDE1_SHIFT)
+#define        HFGITR_EL2_TLBIASIDE1_VAL(x)    ((x) & 
HFGITR_EL2_TLBIASIDE1_MASK)
+#define         HFGITR_EL2_TLBIASIDE1_NOTRAP   (UL(0x0) << 
HFGITR_EL2_TLBIASIDE1_SHIFT)
+#define         HFGITR_EL2_TLBIASIDE1_TRAP     (UL(0x1) << 
HFGITR_EL2_TLBIASIDE1_SHIFT)
+#define        HFGITR_EL2_TLBIVAE1_SHIFT       43
+#define        HFGITR_EL2_TLBIVAE1_MASK        (UL(0x1) << 
HFGITR_EL2_TLBIVAE1_SHIFT)
+#define        HFGITR_EL2_TLBIVAE1_VAL(x)      ((x) & HFGITR_EL2_TLBIVAE1_MASK)
+#define         HFGITR_EL2_TLBIVAE1_NOTRAP     (UL(0x0) << 
HFGITR_EL2_TLBIVAE1_SHIFT)
+#define         HFGITR_EL2_TLBIVAE1_TRAP       (UL(0x1) << 
HFGITR_EL2_TLBIVAE1_SHIFT)
+#define        HFGITR_EL2_TLBIVMALLE1_SHIFT    42
+#define        HFGITR_EL2_TLBIVMALLE1_MASK     (UL(0x1) << 
HFGITR_EL2_TLBIVMALLE1_SHIFT)
+#define        HFGITR_EL2_TLBIVMALLE1_VAL(x)   ((x) & 
HFGITR_EL2_TLBIVMALLE1_MASK)
+#define         HFGITR_EL2_TLBIVMALLE1_NOTRAP  (UL(0x0) << 
HFGITR_EL2_TLBIVMALLE1_SHIFT)
+#define         HFGITR_EL2_TLBIVMALLE1_TRAP    (UL(0x1) << 
HFGITR_EL2_TLBIVMALLE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVAALE1_SHIFT    41
+#define        HFGITR_EL2_TLBIRVAALE1_MASK     (UL(0x1) << 
HFGITR_EL2_TLBIRVAALE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVAALE1_VAL(x)   ((x) & 
HFGITR_EL2_TLBIRVAALE1_MASK)
+#define         HFGITR_EL2_TLBIRVAALE1_NOTRAP  (UL(0x0) << 
HFGITR_EL2_TLBIRVAALE1_SHIFT)
+#define         HFGITR_EL2_TLBIRVAALE1_TRAP    (UL(0x1) << 
HFGITR_EL2_TLBIRVAALE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVALE1_SHIFT     40
+#define        HFGITR_EL2_TLBIRVALE1_MASK      (UL(0x1) << 
HFGITR_EL2_TLBIRVALE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVALE1_VAL(x)    ((x) & 
HFGITR_EL2_TLBIRVALE1_MASK)
+#define         HFGITR_EL2_TLBIRVALE1_NOTRAP   (UL(0x0) << 
HFGITR_EL2_TLBIRVALE1_SHIFT)
+#define         HFGITR_EL2_TLBIRVALE1_TRAP     (UL(0x1) << 
HFGITR_EL2_TLBIRVALE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVAAE1_SHIFT     39
+#define        HFGITR_EL2_TLBIRVAAE1_MASK      (UL(0x1) << 
HFGITR_EL2_TLBIRVAAE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVAAE1_VAL(x)    ((x) & 
HFGITR_EL2_TLBIRVAAE1_MASK)
+#define         HFGITR_EL2_TLBIRVAAE1_NOTRAP   (UL(0x0) << 
HFGITR_EL2_TLBIRVAAE1_SHIFT)
+#define         HFGITR_EL2_TLBIRVAAE1_TRAP     (UL(0x1) << 
HFGITR_EL2_TLBIRVAAE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVAE1_SHIFT      38
+#define        HFGITR_EL2_TLBIRVAE1_MASK       (UL(0x1) << 
HFGITR_EL2_TLBIRVAE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVAE1_VAL(x)     ((x) & 
HFGITR_EL2_TLBIRVAE1_MASK)
+#define         HFGITR_EL2_TLBIRVAE1_NOTRAP    (UL(0x0) << 
HFGITR_EL2_TLBIRVAE1_SHIFT)
+#define         HFGITR_EL2_TLBIRVAE1_TRAP      (UL(0x1) << 
HFGITR_EL2_TLBIRVAE1_SHIFT)
+#define        HFGITR_EL2_TLBIRVAALE1IS_SHIFT  37
+#define        HFGITR_EL2_TLBIRVAALE1IS_MASK   (UL(0x1) << 
HFGITR_EL2_TLBIRVAALE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIRVAALE1IS_VAL(x) ((x) & 
HFGITR_EL2_TLBIRVAALE1IS_MASK)
+#define         HFGITR_EL2_TLBIRVAALE1IS_NOTRAP (UL(0x0) << 
HFGITR_EL2_TLBIRVAALE1IS_SHIFT)
+#define         HFGITR_EL2_TLBIRVAALE1IS_TRAP  (UL(0x1) << 
HFGITR_EL2_TLBIRVAALE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIRVALE1IS_SHIFT   36
+#define        HFGITR_EL2_TLBIRVALE1IS_MASK    (UL(0x1) << 
HFGITR_EL2_TLBIRVALE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIRVALE1IS_VAL(x)  ((x) & 
HFGITR_EL2_TLBIRVALE1IS_MASK)
+#define         HFGITR_EL2_TLBIRVALE1IS_NOTRAP (UL(0x0) << 
HFGITR_EL2_TLBIRVALE1IS_SHIFT)
+#define         HFGITR_EL2_TLBIRVALE1IS_TRAP   (UL(0x1) << 
HFGITR_EL2_TLBIRVALE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIRVAAE1IS_SHIFT   35
+#define        HFGITR_EL2_TLBIRVAAE1IS_MASK    (UL(0x1) << 
HFGITR_EL2_TLBIRVAAE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIRVAAE1IS_VAL(x)  ((x) & 
HFGITR_EL2_TLBIRVAAE1IS_MASK)
+#define         HFGITR_EL2_TLBIRVAAE1IS_NOTRAP (UL(0x0) << 
HFGITR_EL2_TLBIRVAAE1IS_SHIFT)
+#define         HFGITR_EL2_TLBIRVAAE1IS_TRAP   (UL(0x1) << 
HFGITR_EL2_TLBIRVAAE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIRVAE1IS_SHIFT    34
+#define        HFGITR_EL2_TLBIRVAE1IS_MASK     (UL(0x1) << 
HFGITR_EL2_TLBIRVAE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIRVAE1IS_VAL(x)   ((x) & 
HFGITR_EL2_TLBIRVAE1IS_MASK)
+#define         HFGITR_EL2_TLBIRVAE1IS_NOTRAP  (UL(0x0) << 
HFGITR_EL2_TLBIRVAE1IS_SHIFT)
+#define         HFGITR_EL2_TLBIRVAE1IS_TRAP    (UL(0x1) << 
HFGITR_EL2_TLBIRVAE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIVAALE1IS_SHIFT   33
+#define        HFGITR_EL2_TLBIVAALE1IS_MASK    (UL(0x1) << 
HFGITR_EL2_TLBIVAALE1IS_SHIFT)
+#define        HFGITR_EL2_TLBIVAALE1IS_VAL(x)  ((x) & 
HFGITR_EL2_TLBIVAALE1IS_MASK)
*** 793 LINES SKIPPED ***

Reply via email to