git: 4f82ce5191d5 - main - arm64: Add the Fine-Grained Trap registers

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Tue, 03 Feb 2026 17:27:48 UTC
The branch main has been updated by andrew:

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

commit 4f82ce5191d550b875f7f760c83e05167728fe69
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2026-02-03 17:14:03 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
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 ***