use core::num::NonZeroUsize;
use gdbstub::arch::RegId;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum AArch64RegId {
X(u8),
Sp,
Pc,
Pstate,
V(u8),
System(u16),
}
impl RegId for AArch64RegId {
fn from_raw_id(id: usize) -> Option<(Self, Option<NonZeroUsize>)> {
let reg = match id {
0..=30 => Self::X(id as u8),
31 => Self::Sp,
32 => Self::Pc,
33 => Self::Pstate,
34..=65 => Self::V((id - 34) as u8),
66 => Self::FPSR,
67 => Self::FPCR,
#[allow(clippy::unusual_byte_groupings)]
0b10_000_0000_0000_000..=0b11_111_1111_1111_111 => Self::System(id as u16),
_ => return None,
};
Some((reg, Some(NonZeroUsize::new(reg.len()?)?)))
}
}
#[allow(clippy::unusual_byte_groupings)]
impl AArch64RegId {
#[allow(clippy::len_without_is_empty)]
pub fn len(&self) -> Option<usize> {
match self {
Self::Pstate => Some(core::mem::size_of::<u32>()),
Self::X(_n @ 0..=30) => Some(core::mem::size_of::<u64>()),
Self::V(_n @ 0..=31) => Some(core::mem::size_of::<u128>()),
Self::Pc | Self::Sp | Self::System(_) => Some(core::mem::size_of::<u64>()),
_ => None,
}
}
pub const MIDR_EL1: Self = Self::System(0b11_000_0000_0000_000);
pub const MPIDR_EL1: Self = Self::System(0b11_000_0000_0000_101);
pub const REVIDR_EL1: Self = Self::System(0b11_000_0000_0000_110);
pub const ID_PFR0_EL1: Self = Self::System(0b11_000_0000_0001_000);
pub const ID_PFR1_EL1: Self = Self::System(0b11_000_0000_0001_001);
pub const ID_DFR0_EL1: Self = Self::System(0b11_000_0000_0001_010);
pub const ID_AFR0_EL1: Self = Self::System(0b11_000_0000_0001_011);
pub const ID_MMFR0_EL1: Self = Self::System(0b11_000_0000_0001_100);
pub const ID_MMFR1_EL1: Self = Self::System(0b11_000_0000_0001_101);
pub const ID_MMFR2_EL1: Self = Self::System(0b11_000_0000_0001_110);
pub const ID_MMFR3_EL1: Self = Self::System(0b11_000_0000_0001_111);
pub const ID_ISAR0_EL1: Self = Self::System(0b11_000_0000_0010_000);
pub const ID_ISAR1_EL1: Self = Self::System(0b11_000_0000_0010_001);
pub const ID_ISAR2_EL1: Self = Self::System(0b11_000_0000_0010_010);
pub const ID_ISAR3_EL1: Self = Self::System(0b11_000_0000_0010_011);
pub const ID_ISAR4_EL1: Self = Self::System(0b11_000_0000_0010_100);
pub const ID_ISAR5_EL1: Self = Self::System(0b11_000_0000_0010_101);
pub const ID_MMFR4_EL1: Self = Self::System(0b11_000_0000_0010_110);
pub const ID_ISAR6_EL1: Self = Self::System(0b11_000_0000_0010_111);
pub const MVFR0_EL1: Self = Self::System(0b11_000_0000_0011_000);
pub const MVFR1_EL1: Self = Self::System(0b11_000_0000_0011_001);
pub const MVFR2_EL1: Self = Self::System(0b11_000_0000_0011_010);
pub const ID_PFR2_EL1: Self = Self::System(0b11_000_0000_0011_100);
pub const ID_DFR1_EL1: Self = Self::System(0b11_000_0000_0011_101);
pub const ID_MMFR5_EL1: Self = Self::System(0b11_000_0000_0011_110);
pub const ID_AA64PFR0_EL1: Self = Self::System(0b11_000_0000_0100_000);
pub const ID_AA64PFR1_EL1: Self = Self::System(0b11_000_0000_0100_001);
pub const ID_AA64ZFR0_EL1: Self = Self::System(0b11_000_0000_0100_100);
pub const ID_AA64SMFR0_EL1: Self = Self::System(0b11_000_0000_0100_101);
pub const ID_AA64DFR0_EL1: Self = Self::System(0b11_000_0000_0101_000);
pub const ID_AA64DFR1_EL1: Self = Self::System(0b11_000_0000_0101_001);
pub const ID_AA64AFR0_EL1: Self = Self::System(0b11_000_0000_0101_100);
pub const ID_AA64AFR1_EL1: Self = Self::System(0b11_000_0000_0101_101);
pub const ID_AA64ISAR0_EL1: Self = Self::System(0b11_000_0000_0110_000);
pub const ID_AA64ISAR1_EL1: Self = Self::System(0b11_000_0000_0110_001);
pub const ID_AA64ISAR2_EL1: Self = Self::System(0b11_000_0000_0110_010);
pub const ID_AA64MMFR0_EL1: Self = Self::System(0b11_000_0000_0111_000);
pub const ID_AA64MMFR1_EL1: Self = Self::System(0b11_000_0000_0111_001);
pub const ID_AA64MMFR2_EL1: Self = Self::System(0b11_000_0000_0111_010);
pub const SCTLR_EL1: Self = Self::System(0b11_000_0001_0000_000);
pub const ACTLR_EL1: Self = Self::System(0b11_000_0001_0000_001);
pub const CPACR_EL1: Self = Self::System(0b11_000_0001_0000_010);
pub const RGSR_EL1: Self = Self::System(0b11_000_0001_0000_101);
pub const GCR_EL1: Self = Self::System(0b11_000_0001_0000_110);
pub const ZCR_EL1: Self = Self::System(0b11_000_0001_0010_000);
pub const TRFCR_EL1: Self = Self::System(0b11_000_0001_0010_001);
pub const SMPRI_EL1: Self = Self::System(0b11_000_0001_0010_100);
pub const SMCR_EL1: Self = Self::System(0b11_000_0001_0010_110);
pub const TTBR0_EL1: Self = Self::System(0b11_000_0010_0000_000);
pub const TTBR1_EL1: Self = Self::System(0b11_000_0010_0000_001);
pub const TCR_EL1: Self = Self::System(0b11_000_0010_0000_010);
pub const APIAKEYLO_EL1: Self = Self::System(0b11_000_0010_0001_000);
pub const APIAKEYHI_EL1: Self = Self::System(0b11_000_0010_0001_001);
pub const APIBKEYLO_EL1: Self = Self::System(0b11_000_0010_0001_010);
pub const APIBKEYHI_EL1: Self = Self::System(0b11_000_0010_0001_011);
pub const APDAKEYLO_EL1: Self = Self::System(0b11_000_0010_0010_000);
pub const APDAKEYHI_EL1: Self = Self::System(0b11_000_0010_0010_001);
pub const APDBKEYLO_EL1: Self = Self::System(0b11_000_0010_0010_010);
pub const APDBKEYHI_EL1: Self = Self::System(0b11_000_0010_0010_011);
pub const APGAKEYLO_EL1: Self = Self::System(0b11_000_0010_0011_000);
pub const APGAKEYHI_EL1: Self = Self::System(0b11_000_0010_0011_001);
pub const SPSR_EL1: Self = Self::System(0b11_000_0100_0000_000);
pub const ELR_EL1: Self = Self::System(0b11_000_0100_0000_001);
pub const SP_EL0: Self = Self::System(0b11_000_0100_0001_000);
pub const ICC_PMR_EL1: Self = Self::System(0b11_000_0100_0110_000);
pub const ICV_PMR_EL1: Self = Self::System(0b11_000_0100_0110_000);
pub const AFSR0_EL1: Self = Self::System(0b11_000_0101_0001_000);
pub const AFSR1_EL1: Self = Self::System(0b11_000_0101_0001_001);
pub const ESR_EL1: Self = Self::System(0b11_000_0101_0010_000);
pub const ERRIDR_EL1: Self = Self::System(0b11_000_0101_0011_000);
pub const ERRSELR_EL1: Self = Self::System(0b11_000_0101_0011_001);
pub const ERXFR_EL1: Self = Self::System(0b11_000_0101_0100_000);
pub const ERXCTLR_EL1: Self = Self::System(0b11_000_0101_0100_001);
pub const ERXSTATUS_EL1: Self = Self::System(0b11_000_0101_0100_010);
pub const ERXADDR_EL1: Self = Self::System(0b11_000_0101_0100_011);
pub const ERXPFGF_EL1: Self = Self::System(0b11_000_0101_0100_100);
pub const ERXPFGCTL_EL1: Self = Self::System(0b11_000_0101_0100_101);
pub const ERXPFGCDN_EL1: Self = Self::System(0b11_000_0101_0100_110);
pub const ERXMISC0_EL1: Self = Self::System(0b11_000_0101_0101_000);
pub const ERXMISC1_EL1: Self = Self::System(0b11_000_0101_0101_001);
pub const ERXMISC2_EL1: Self = Self::System(0b11_000_0101_0101_010);
pub const ERXMISC3_EL1: Self = Self::System(0b11_000_0101_0101_011);
pub const TFSR_EL1: Self = Self::System(0b11_000_0101_0110_000);
pub const TFSRE0_EL1: Self = Self::System(0b11_000_0101_0110_001);
pub const FAR_EL1: Self = Self::System(0b11_000_0110_0000_000);
pub const PAR_EL1: Self = Self::System(0b11_000_0111_0100_000);
pub const PMSCR_EL1: Self = Self::System(0b11_000_1001_1001_000);
pub const PMSNEVFR_EL1: Self = Self::System(0b11_000_1001_1001_001);
pub const PMSICR_EL1: Self = Self::System(0b11_000_1001_1001_010);
pub const PMSIRR_EL1: Self = Self::System(0b11_000_1001_1001_011);
pub const PMSFCR_EL1: Self = Self::System(0b11_000_1001_1001_100);
pub const PMSEVFR_EL1: Self = Self::System(0b11_000_1001_1001_101);
pub const PMSLATFR_EL1: Self = Self::System(0b11_000_1001_1001_110);
pub const PMSIDR_EL1: Self = Self::System(0b11_000_1001_1001_111);
pub const PMBLIMITR_EL1: Self = Self::System(0b11_000_1001_1010_000);
pub const PMBPTR_EL1: Self = Self::System(0b11_000_1001_1010_001);
pub const PMBSR_EL1: Self = Self::System(0b11_000_1001_1010_011);
pub const PMBIDR_EL1: Self = Self::System(0b11_000_1001_1010_111);
pub const TRBLIMITR_EL1: Self = Self::System(0b11_000_1001_1011_000);
pub const TRBPTR_EL1: Self = Self::System(0b11_000_1001_1011_001);
pub const TRBBASER_EL1: Self = Self::System(0b11_000_1001_1011_010);
pub const TRBSR_EL1: Self = Self::System(0b11_000_1001_1011_011);
pub const TRBMAR_EL1: Self = Self::System(0b11_000_1001_1011_100);
pub const TRBTRG_EL1: Self = Self::System(0b11_000_1001_1011_110);
pub const TRBIDR_EL1: Self = Self::System(0b11_000_1001_1011_111);
pub const PMINTENSET_EL1: Self = Self::System(0b11_000_1001_1110_001);
pub const PMINTENCLR_EL1: Self = Self::System(0b11_000_1001_1110_010);
pub const PMMIR_EL1: Self = Self::System(0b11_000_1001_1110_110);
pub const MAIR_EL1: Self = Self::System(0b11_000_1010_0010_000);
pub const AMAIR_EL1: Self = Self::System(0b11_000_1010_0011_000);
pub const LORSA_EL1: Self = Self::System(0b11_000_1010_0100_000);
pub const LOREA_EL1: Self = Self::System(0b11_000_1010_0100_001);
pub const LORN_EL1: Self = Self::System(0b11_000_1010_0100_010);
pub const LORC_EL1: Self = Self::System(0b11_000_1010_0100_011);
pub const MPAMIDR_EL1: Self = Self::System(0b11_000_1010_0100_100);
pub const LORID_EL1: Self = Self::System(0b11_000_1010_0100_111);
pub const MPAM1_EL1: Self = Self::System(0b11_000_1010_0101_000);
pub const MPAM0_EL1: Self = Self::System(0b11_000_1010_0101_001);
pub const MPAMSM_EL1: Self = Self::System(0b11_000_1010_0101_011);
pub const VBAR_EL1: Self = Self::System(0b11_000_1100_0000_000);
pub const RVBAR_EL1: Self = Self::System(0b11_000_1100_0000_001);
pub const RMR_EL1: Self = Self::System(0b11_000_1100_0000_010);
pub const ISR_EL1: Self = Self::System(0b11_000_1100_0001_000);
pub const DISR_EL1: Self = Self::System(0b11_000_1100_0001_001);
pub const ICC_IAR0_EL1: Self = Self::System(0b11_000_1100_1000_000);
pub const ICV_IAR0_EL1: Self = Self::System(0b11_000_1100_1000_000);
pub const ICC_EOIR0_EL1: Self = Self::System(0b11_000_1100_1000_001);
pub const ICV_EOIR0_EL1: Self = Self::System(0b11_000_1100_1000_001);
pub const ICC_HPPIR0_EL1: Self = Self::System(0b11_000_1100_1000_010);
pub const ICV_HPPIR0_EL1: Self = Self::System(0b11_000_1100_1000_010);
pub const ICC_BPR0_EL1: Self = Self::System(0b11_000_1100_1000_011);
pub const ICV_BPR0_EL1: Self = Self::System(0b11_000_1100_1000_011);
pub const ICC_AP0R0_EL1: Self = Self::System(0b11_000_1100_1000_100);
pub const ICV_AP0R0_EL1: Self = Self::System(0b11_000_1100_1000_100);
pub const ICC_AP0R1_EL1: Self = Self::System(0b11_000_1100_1000_101);
pub const ICV_AP0R1_EL1: Self = Self::System(0b11_000_1100_1000_101);
pub const ICC_AP0R2_EL1: Self = Self::System(0b11_000_1100_1000_110);
pub const ICV_AP0R2_EL1: Self = Self::System(0b11_000_1100_1000_110);
pub const ICC_AP0R3_EL1: Self = Self::System(0b11_000_1100_1000_111);
pub const ICV_AP0R3_EL1: Self = Self::System(0b11_000_1100_1000_111);
pub const ICC_AP1R0_EL1: Self = Self::System(0b11_000_1100_1001_000);
pub const ICV_AP1R0_EL1: Self = Self::System(0b11_000_1100_1001_000);
pub const ICC_AP1R1_EL1: Self = Self::System(0b11_000_1100_1001_001);
pub const ICV_AP1R1_EL1: Self = Self::System(0b11_000_1100_1001_001);
pub const ICC_AP1R2_EL1: Self = Self::System(0b11_000_1100_1001_010);
pub const ICV_AP1R2_EL1: Self = Self::System(0b11_000_1100_1001_010);
pub const ICC_AP1R3_EL1: Self = Self::System(0b11_000_1100_1001_011);
pub const ICV_AP1R3_EL1: Self = Self::System(0b11_000_1100_1001_011);
pub const ICC_NMIAR1_EL1: Self = Self::System(0b11_000_1100_1001_101);
pub const ICV_NMIAR1_EL1: Self = Self::System(0b11_000_1100_1001_101);
pub const ICC_DIR_EL1: Self = Self::System(0b11_000_1100_1011_001);
pub const ICV_DIR_EL1: Self = Self::System(0b11_000_1100_1011_001);
pub const ICC_RPR_EL1: Self = Self::System(0b11_000_1100_1011_011);
pub const ICV_RPR_EL1: Self = Self::System(0b11_000_1100_1011_011);
pub const ICC_SGI1R_EL1: Self = Self::System(0b11_000_1100_1011_101);
pub const ICC_ASGI1R_EL1: Self = Self::System(0b11_000_1100_1011_110);
pub const ICC_SGI0R_EL1: Self = Self::System(0b11_000_1100_1011_111);
pub const ICC_IAR1_EL1: Self = Self::System(0b11_000_1100_1100_000);
pub const ICV_IAR1_EL1: Self = Self::System(0b11_000_1100_1100_000);
pub const ICC_EOIR1_EL1: Self = Self::System(0b11_000_1100_1100_001);
pub const ICV_EOIR1_EL1: Self = Self::System(0b11_000_1100_1100_001);
pub const ICC_HPPIR1_EL1: Self = Self::System(0b11_000_1100_1100_010);
pub const ICV_HPPIR1_EL1: Self = Self::System(0b11_000_1100_1100_010);
pub const ICC_BPR1_EL1: Self = Self::System(0b11_000_1100_1100_011);
pub const ICV_BPR1_EL1: Self = Self::System(0b11_000_1100_1100_011);
pub const ICC_CTLR_EL1: Self = Self::System(0b11_000_1100_1100_100);
pub const ICV_CTLR_EL1: Self = Self::System(0b11_000_1100_1100_100);
pub const ICC_SRE_EL1: Self = Self::System(0b11_000_1100_1100_101);
pub const ICC_IGRPEN0_EL1: Self = Self::System(0b11_000_1100_1100_110);
pub const ICV_IGRPEN0_EL1: Self = Self::System(0b11_000_1100_1100_110);
pub const ICC_IGRPEN1_EL1: Self = Self::System(0b11_000_1100_1100_111);
pub const ICV_IGRPEN1_EL1: Self = Self::System(0b11_000_1100_1100_111);
pub const CONTEXTIDR_EL1: Self = Self::System(0b11_000_1101_0000_001);
pub const TPIDR_EL1: Self = Self::System(0b11_000_1101_0000_100);
pub const ACCDATA_EL1: Self = Self::System(0b11_000_1101_0000_101);
pub const SCXTNUM_EL1: Self = Self::System(0b11_000_1101_0000_111);
pub const CNTKCTL_EL1: Self = Self::System(0b11_000_1110_0001_000);
pub const CCSIDR_EL1: Self = Self::System(0b11_001_0000_0000_000);
pub const CLIDR_EL1: Self = Self::System(0b11_001_0000_0000_001);
pub const CCSIDR2_EL1: Self = Self::System(0b11_001_0000_0000_010);
pub const GMID_EL1: Self = Self::System(0b11_001_0000_0000_100);
pub const SMIDR_EL1: Self = Self::System(0b11_001_0000_0000_110);
pub const AIDR_EL1: Self = Self::System(0b11_001_0000_0000_111);
pub const CSSELR_EL1: Self = Self::System(0b11_010_0000_0000_000);
pub const CTR_EL0: Self = Self::System(0b11_011_0000_0000_001);
pub const DCZID_EL0: Self = Self::System(0b11_011_0000_0000_111);
pub const RNDR: Self = Self::System(0b11_011_0010_0100_000);
pub const RNDRRS: Self = Self::System(0b11_011_0010_0100_001);
pub const SVCR: Self = Self::System(0b11_011_0100_0010_010);
pub const FPCR: Self = Self::System(0b11_011_0100_0100_000);
pub const FPSR: Self = Self::System(0b11_011_0100_0100_001);
pub const DSPSR_EL0: Self = Self::System(0b11_011_0100_0101_000);
pub const DLR_EL0: Self = Self::System(0b11_011_0100_0101_001);
pub const PMCR_EL0: Self = Self::System(0b11_011_1001_1100_000);
pub const PMCNTENSET_EL0: Self = Self::System(0b11_011_1001_1100_001);
pub const PMCNTENCLR_EL0: Self = Self::System(0b11_011_1001_1100_010);
pub const PMOVSCLR_EL0: Self = Self::System(0b11_011_1001_1100_011);
pub const PMSWINC_EL0: Self = Self::System(0b11_011_1001_1100_100);
pub const PMSELR_EL0: Self = Self::System(0b11_011_1001_1100_101);
pub const PMCEID0_EL0: Self = Self::System(0b11_011_1001_1100_110);
pub const PMCEID1_EL0: Self = Self::System(0b11_011_1001_1100_111);
pub const PMCCNTR_EL0: Self = Self::System(0b11_011_1001_1101_000);
pub const PMXEVTYPER_EL0: Self = Self::System(0b11_011_1001_1101_001);
pub const PMXEVCNTR_EL0: Self = Self::System(0b11_011_1001_1101_010);
pub const PMUSERENR_EL0: Self = Self::System(0b11_011_1001_1110_000);
pub const PMOVSSET_EL0: Self = Self::System(0b11_011_1001_1110_011);
pub const TPIDR_EL0: Self = Self::System(0b11_011_1101_0000_010);
pub const TPIDRRO_EL0: Self = Self::System(0b11_011_1101_0000_011);
pub const TPIDR2_EL0: Self = Self::System(0b11_011_1101_0000_101);
pub const SCXTNUM_EL0: Self = Self::System(0b11_011_1101_0000_111);
pub const AMCR_EL0: Self = Self::System(0b11_011_1101_0010_000);
pub const AMCFGR_EL0: Self = Self::System(0b11_011_1101_0010_001);
pub const AMCGCR_EL0: Self = Self::System(0b11_011_1101_0010_010);
pub const AMUSERENR_EL0: Self = Self::System(0b11_011_1101_0010_011);
pub const AMCNTENCLR0_EL0: Self = Self::System(0b11_011_1101_0010_100);
pub const AMCNTENSET0_EL0: Self = Self::System(0b11_011_1101_0010_101);
pub const AMCG1IDR_EL0: Self = Self::System(0b11_011_1101_0010_110);
pub const AMCNTENCLR1_EL0: Self = Self::System(0b11_011_1101_0011_000);
pub const AMCNTENSET1_EL0: Self = Self::System(0b11_011_1101_0011_001);
pub const AMEVCNTR00_EL0: Self = Self::System(0b11_011_1101_0100_000);
pub const AMEVCNTR01_EL0: Self = Self::System(0b11_011_1101_0100_001);
pub const AMEVCNTR02_EL0: Self = Self::System(0b11_011_1101_0100_010);
pub const AMEVCNTR03_EL0: Self = Self::System(0b11_011_1101_0100_011);
pub const AMEVTYPER00_EL0: Self = Self::System(0b11_011_1101_0110_000);
pub const AMEVTYPER01_EL0: Self = Self::System(0b11_011_1101_0110_001);
pub const AMEVTYPER02_EL0: Self = Self::System(0b11_011_1101_0110_010);
pub const AMEVTYPER03_EL0: Self = Self::System(0b11_011_1101_0110_011);
pub const AMEVCNTR10_EL0: Self = Self::System(0b11_011_1101_1100_000);
pub const AMEVCNTR11_EL0: Self = Self::System(0b11_011_1101_1100_001);
pub const AMEVCNTR12_EL0: Self = Self::System(0b11_011_1101_1100_010);
pub const AMEVCNTR13_EL0: Self = Self::System(0b11_011_1101_1100_011);
pub const AMEVCNTR14_EL0: Self = Self::System(0b11_011_1101_1100_100);
pub const AMEVCNTR15_EL0: Self = Self::System(0b11_011_1101_1100_101);
pub const AMEVCNTR16_EL0: Self = Self::System(0b11_011_1101_1100_110);
pub const AMEVCNTR17_EL0: Self = Self::System(0b11_011_1101_1100_111);
pub const AMEVCNTR18_EL0: Self = Self::System(0b11_011_1101_1101_000);
pub const AMEVCNTR19_EL0: Self = Self::System(0b11_011_1101_1101_001);
pub const AMEVCNTR110_EL0: Self = Self::System(0b11_011_1101_1101_010);
pub const AMEVCNTR111_EL0: Self = Self::System(0b11_011_1101_1101_011);
pub const AMEVCNTR112_EL0: Self = Self::System(0b11_011_1101_1101_100);
pub const AMEVCNTR113_EL0: Self = Self::System(0b11_011_1101_1101_101);
pub const AMEVCNTR114_EL0: Self = Self::System(0b11_011_1101_1101_110);
pub const AMEVCNTR115_EL0: Self = Self::System(0b11_011_1101_1101_111);
pub const AMEVTYPER10_EL0: Self = Self::System(0b11_011_1101_1110_000);
pub const AMEVTYPER11_EL0: Self = Self::System(0b11_011_1101_1110_001);
pub const AMEVTYPER12_EL0: Self = Self::System(0b11_011_1101_1110_010);
pub const AMEVTYPER13_EL0: Self = Self::System(0b11_011_1101_1110_011);
pub const AMEVTYPER14_EL0: Self = Self::System(0b11_011_1101_1110_100);
pub const AMEVTYPER15_EL0: Self = Self::System(0b11_011_1101_1110_101);
pub const AMEVTYPER16_EL0: Self = Self::System(0b11_011_1101_1110_110);
pub const AMEVTYPER17_EL0: Self = Self::System(0b11_011_1101_1110_111);
pub const AMEVTYPER18_EL0: Self = Self::System(0b11_011_1101_1111_000);
pub const AMEVTYPER19_EL0: Self = Self::System(0b11_011_1101_1111_001);
pub const AMEVTYPER110_EL0: Self = Self::System(0b11_011_1101_1111_010);
pub const AMEVTYPER111_EL0: Self = Self::System(0b11_011_1101_1111_011);
pub const AMEVTYPER112_EL0: Self = Self::System(0b11_011_1101_1111_100);
pub const AMEVTYPER113_EL0: Self = Self::System(0b11_011_1101_1111_101);
pub const AMEVTYPER114_EL0: Self = Self::System(0b11_011_1101_1111_110);
pub const AMEVTYPER115_EL0: Self = Self::System(0b11_011_1101_1111_111);
pub const CNTFRQ_EL0: Self = Self::System(0b11_011_1110_0000_000);
pub const CNTPCT_EL0: Self = Self::System(0b11_011_1110_0000_001);
pub const CNTVCT_EL0: Self = Self::System(0b11_011_1110_0000_010);
pub const CNTPCTSS_EL0: Self = Self::System(0b11_011_1110_0000_101);
pub const CNTVCTSS_EL0: Self = Self::System(0b11_011_1110_0000_110);
pub const CNTP_TVAL_EL0: Self = Self::System(0b11_011_1110_0010_000);
pub const CNTP_CTL_EL0: Self = Self::System(0b11_011_1110_0010_001);
pub const CNTP_CVAL_EL0: Self = Self::System(0b11_011_1110_0010_010);
pub const CNTV_TVAL_EL0: Self = Self::System(0b11_011_1110_0011_000);
pub const CNTV_CTL_EL0: Self = Self::System(0b11_011_1110_0011_001);
pub const CNTV_CVAL_EL0: Self = Self::System(0b11_011_1110_0011_010);
pub const PMEVCNTR0_EL0: Self = Self::System(0b11_011_1110_1000_000);
pub const PMEVCNTR1_EL0: Self = Self::System(0b11_011_1110_1000_001);
pub const PMEVCNTR2_EL0: Self = Self::System(0b11_011_1110_1000_010);
pub const PMEVCNTR3_EL0: Self = Self::System(0b11_011_1110_1000_011);
pub const PMEVCNTR4_EL0: Self = Self::System(0b11_011_1110_1000_100);
pub const PMEVCNTR5_EL0: Self = Self::System(0b11_011_1110_1000_101);
pub const PMEVCNTR6_EL0: Self = Self::System(0b11_011_1110_1000_110);
pub const PMEVCNTR7_EL0: Self = Self::System(0b11_011_1110_1000_111);
pub const PMEVCNTR8_EL0: Self = Self::System(0b11_011_1110_1001_000);
pub const PMEVCNTR9_EL0: Self = Self::System(0b11_011_1110_1001_001);
pub const PMEVCNTR10_EL0: Self = Self::System(0b11_011_1110_1001_010);
pub const PMEVCNTR11_EL0: Self = Self::System(0b11_011_1110_1001_011);
pub const PMEVCNTR12_EL0: Self = Self::System(0b11_011_1110_1001_100);
pub const PMEVCNTR13_EL0: Self = Self::System(0b11_011_1110_1001_101);
pub const PMEVCNTR14_EL0: Self = Self::System(0b11_011_1110_1001_110);
pub const PMEVCNTR15_EL0: Self = Self::System(0b11_011_1110_1001_111);
pub const PMEVCNTR16_EL0: Self = Self::System(0b11_011_1110_1010_000);
pub const PMEVCNTR17_EL0: Self = Self::System(0b11_011_1110_1010_001);
pub const PMEVCNTR18_EL0: Self = Self::System(0b11_011_1110_1010_010);
pub const PMEVCNTR19_EL0: Self = Self::System(0b11_011_1110_1010_011);
pub const PMEVCNTR20_EL0: Self = Self::System(0b11_011_1110_1010_100);
pub const PMEVCNTR21_EL0: Self = Self::System(0b11_011_1110_1010_101);
pub const PMEVCNTR22_EL0: Self = Self::System(0b11_011_1110_1010_110);
pub const PMEVCNTR23_EL0: Self = Self::System(0b11_011_1110_1010_111);
pub const PMEVCNTR24_EL0: Self = Self::System(0b11_011_1110_1011_000);
pub const PMEVCNTR25_EL0: Self = Self::System(0b11_011_1110_1011_001);
pub const PMEVCNTR26_EL0: Self = Self::System(0b11_011_1110_1011_010);
pub const PMEVCNTR27_EL0: Self = Self::System(0b11_011_1110_1011_011);
pub const PMEVCNTR28_EL0: Self = Self::System(0b11_011_1110_1011_100);
pub const PMEVCNTR29_EL0: Self = Self::System(0b11_011_1110_1011_101);
pub const PMEVCNTR30_EL0: Self = Self::System(0b11_011_1110_1011_110);
pub const PMEVTYPER0_EL0: Self = Self::System(0b11_011_1110_1100_000);
pub const PMEVTYPER1_EL0: Self = Self::System(0b11_011_1110_1100_001);
pub const PMEVTYPER2_EL0: Self = Self::System(0b11_011_1110_1100_010);
pub const PMEVTYPER3_EL0: Self = Self::System(0b11_011_1110_1100_011);
pub const PMEVTYPER4_EL0: Self = Self::System(0b11_011_1110_1100_100);
pub const PMEVTYPER5_EL0: Self = Self::System(0b11_011_1110_1100_101);
pub const PMEVTYPER6_EL0: Self = Self::System(0b11_011_1110_1100_110);
pub const PMEVTYPER7_EL0: Self = Self::System(0b11_011_1110_1100_111);
pub const PMEVTYPER8_EL0: Self = Self::System(0b11_011_1110_1101_000);
pub const PMEVTYPER9_EL0: Self = Self::System(0b11_011_1110_1101_001);
pub const PMEVTYPER10_EL0: Self = Self::System(0b11_011_1110_1101_010);
pub const PMEVTYPER11_EL0: Self = Self::System(0b11_011_1110_1101_011);
pub const PMEVTYPER12_EL0: Self = Self::System(0b11_011_1110_1101_100);
pub const PMEVTYPER13_EL0: Self = Self::System(0b11_011_1110_1101_101);
pub const PMEVTYPER14_EL0: Self = Self::System(0b11_011_1110_1101_110);
pub const PMEVTYPER15_EL0: Self = Self::System(0b11_011_1110_1101_111);
pub const PMEVTYPER16_EL0: Self = Self::System(0b11_011_1110_1110_000);
pub const PMEVTYPER17_EL0: Self = Self::System(0b11_011_1110_1110_001);
pub const PMEVTYPER18_EL0: Self = Self::System(0b11_011_1110_1110_010);
pub const PMEVTYPER19_EL0: Self = Self::System(0b11_011_1110_1110_011);
pub const PMEVTYPER20_EL0: Self = Self::System(0b11_011_1110_1110_100);
pub const PMEVTYPER21_EL0: Self = Self::System(0b11_011_1110_1110_101);
pub const PMEVTYPER22_EL0: Self = Self::System(0b11_011_1110_1110_110);
pub const PMEVTYPER23_EL0: Self = Self::System(0b11_011_1110_1110_111);
pub const PMEVTYPER24_EL0: Self = Self::System(0b11_011_1110_1111_000);
pub const PMEVTYPER25_EL0: Self = Self::System(0b11_011_1110_1111_001);
pub const PMEVTYPER26_EL0: Self = Self::System(0b11_011_1110_1111_010);
pub const PMEVTYPER27_EL0: Self = Self::System(0b11_011_1110_1111_011);
pub const PMEVTYPER28_EL0: Self = Self::System(0b11_011_1110_1111_100);
pub const PMEVTYPER29_EL0: Self = Self::System(0b11_011_1110_1111_101);
pub const PMEVTYPER30_EL0: Self = Self::System(0b11_011_1110_1111_110);
pub const PMCCFILTR_EL0: Self = Self::System(0b11_011_1110_1111_111);
pub const VPIDR_EL2: Self = Self::System(0b11_100_0000_0000_000);
pub const VMPIDR_EL2: Self = Self::System(0b11_100_0000_0000_101);
pub const SCTLR_EL2: Self = Self::System(0b11_100_0001_0000_000);
pub const ACTLR_EL2: Self = Self::System(0b11_100_0001_0000_001);
pub const HCR_EL2: Self = Self::System(0b11_100_0001_0001_000);
pub const MDCR_EL2: Self = Self::System(0b11_100_0001_0001_001);
pub const CPTR_EL2: Self = Self::System(0b11_100_0001_0001_010);
pub const HSTR_EL2: Self = Self::System(0b11_100_0001_0001_011);
pub const HFGRTR_EL2: Self = Self::System(0b11_100_0001_0001_100);
pub const HFGWTR_EL2: Self = Self::System(0b11_100_0001_0001_101);
pub const HFGITR_EL2: Self = Self::System(0b11_100_0001_0001_110);
pub const HACR_EL2: Self = Self::System(0b11_100_0001_0001_111);
pub const ZCR_EL2: Self = Self::System(0b11_100_0001_0010_000);
pub const TRFCR_EL2: Self = Self::System(0b11_100_0001_0010_001);
pub const HCRX_EL2: Self = Self::System(0b11_100_0001_0010_010);
pub const SMPRIMAP_EL2: Self = Self::System(0b11_100_0001_0010_101);
pub const SMCR_EL2: Self = Self::System(0b11_100_0001_0010_110);
pub const SDER32_EL2: Self = Self::System(0b11_100_0001_0011_001);
pub const TTBR0_EL2: Self = Self::System(0b11_100_0010_0000_000);
pub const TTBR1_EL2: Self = Self::System(0b11_100_0010_0000_001);
pub const TCR_EL2: Self = Self::System(0b11_100_0010_0000_010);
pub const VTTBR_EL2: Self = Self::System(0b11_100_0010_0001_000);
pub const VTCR_EL2: Self = Self::System(0b11_100_0010_0001_010);
pub const VNCR_EL2: Self = Self::System(0b11_100_0010_0010_000);
pub const VSTTBR_EL2: Self = Self::System(0b11_100_0010_0110_000);
pub const VSTCR_EL2: Self = Self::System(0b11_100_0010_0110_010);
pub const DACR32_EL2: Self = Self::System(0b11_100_0011_0000_000);
pub const HDFGRTR_EL2: Self = Self::System(0b11_100_0011_0001_100);
pub const HDFGWTR_EL2: Self = Self::System(0b11_100_0011_0001_101);
pub const HAFGRTR_EL2: Self = Self::System(0b11_100_0011_0001_110);
pub const SPSR_EL2: Self = Self::System(0b11_100_0100_0000_000);
pub const ELR_EL2: Self = Self::System(0b11_100_0100_0000_001);
pub const SP_EL1: Self = Self::System(0b11_100_0100_0001_000);
pub const SPSR_IRQ: Self = Self::System(0b11_100_0100_0011_000);
pub const SPSR_ABT: Self = Self::System(0b11_100_0100_0011_001);
pub const SPSR_UND: Self = Self::System(0b11_100_0100_0011_010);
pub const SPSR_FIQ: Self = Self::System(0b11_100_0100_0011_011);
pub const IFSR32_EL2: Self = Self::System(0b11_100_0101_0000_001);
pub const AFSR0_EL2: Self = Self::System(0b11_100_0101_0001_000);
pub const AFSR1_EL2: Self = Self::System(0b11_100_0101_0001_001);
pub const ESR_EL2: Self = Self::System(0b11_100_0101_0010_000);
pub const VSESR_EL2: Self = Self::System(0b11_100_0101_0010_011);
pub const FPEXC32_EL2: Self = Self::System(0b11_100_0101_0011_000);
pub const TFSR_EL2: Self = Self::System(0b11_100_0101_0110_000);
pub const FAR_EL2: Self = Self::System(0b11_100_0110_0000_000);
pub const HPFAR_EL2: Self = Self::System(0b11_100_0110_0000_100);
pub const PMSCR_EL2: Self = Self::System(0b11_100_1001_1001_000);
pub const MAIR_EL2: Self = Self::System(0b11_100_1010_0010_000);
pub const AMAIR_EL2: Self = Self::System(0b11_100_1010_0011_000);
pub const MPAMHCR_EL2: Self = Self::System(0b11_100_1010_0100_000);
pub const MPAMVPMV_EL2: Self = Self::System(0b11_100_1010_0100_001);
pub const MPAM2_EL2: Self = Self::System(0b11_100_1010_0101_000);
pub const MPAMVPM0_EL2: Self = Self::System(0b11_100_1010_0110_000);
pub const MPAMVPM1_EL2: Self = Self::System(0b11_100_1010_0110_001);
pub const MPAMVPM2_EL2: Self = Self::System(0b11_100_1010_0110_010);
pub const MPAMVPM3_EL2: Self = Self::System(0b11_100_1010_0110_011);
pub const MPAMVPM4_EL2: Self = Self::System(0b11_100_1010_0110_100);
pub const MPAMVPM5_EL2: Self = Self::System(0b11_100_1010_0110_101);
pub const MPAMVPM6_EL2: Self = Self::System(0b11_100_1010_0110_110);
pub const MPAMVPM7_EL2: Self = Self::System(0b11_100_1010_0110_111);
pub const VBAR_EL2: Self = Self::System(0b11_100_1100_0000_000);
pub const RVBAR_EL2: Self = Self::System(0b11_100_1100_0000_001);
pub const RMR_EL2: Self = Self::System(0b11_100_1100_0000_010);
pub const VDISR_EL2: Self = Self::System(0b11_100_1100_0001_001);
pub const ICH_AP0R0_EL2: Self = Self::System(0b11_100_1100_1000_000);
pub const ICH_AP0R1_EL2: Self = Self::System(0b11_100_1100_1000_001);
pub const ICH_AP0R2_EL2: Self = Self::System(0b11_100_1100_1000_010);
pub const ICH_AP0R3_EL2: Self = Self::System(0b11_100_1100_1000_011);
pub const ICH_AP1R0_EL2: Self = Self::System(0b11_100_1100_1001_000);
pub const ICH_AP1R1_EL2: Self = Self::System(0b11_100_1100_1001_001);
pub const ICH_AP1R2_EL2: Self = Self::System(0b11_100_1100_1001_010);
pub const ICH_AP1R3_EL2: Self = Self::System(0b11_100_1100_1001_011);
pub const ICC_SRE_EL2: Self = Self::System(0b11_100_1100_1001_101);
pub const ICH_HCR_EL2: Self = Self::System(0b11_100_1100_1011_000);
pub const ICH_VTR_EL2: Self = Self::System(0b11_100_1100_1011_001);
pub const ICH_MISR_EL2: Self = Self::System(0b11_100_1100_1011_010);
pub const ICH_EISR_EL2: Self = Self::System(0b11_100_1100_1011_011);
pub const ICH_ELRSR_EL2: Self = Self::System(0b11_100_1100_1011_101);
pub const ICH_VMCR_EL2: Self = Self::System(0b11_100_1100_1011_111);
pub const ICH_LR0_EL2: Self = Self::System(0b11_100_1100_1100_000);
pub const ICH_LR1_EL2: Self = Self::System(0b11_100_1100_1100_001);
pub const ICH_LR2_EL2: Self = Self::System(0b11_100_1100_1100_010);
pub const ICH_LR3_EL2: Self = Self::System(0b11_100_1100_1100_011);
pub const ICH_LR4_EL2: Self = Self::System(0b11_100_1100_1100_100);
pub const ICH_LR5_EL2: Self = Self::System(0b11_100_1100_1100_101);
pub const ICH_LR6_EL2: Self = Self::System(0b11_100_1100_1100_110);
pub const ICH_LR7_EL2: Self = Self::System(0b11_100_1100_1100_111);
pub const ICH_LR8_EL2: Self = Self::System(0b11_100_1100_1101_000);
pub const ICH_LR9_EL2: Self = Self::System(0b11_100_1100_1101_001);
pub const ICH_LR10_EL2: Self = Self::System(0b11_100_1100_1101_010);
pub const ICH_LR11_EL2: Self = Self::System(0b11_100_1100_1101_011);
pub const ICH_LR12_EL2: Self = Self::System(0b11_100_1100_1101_100);
pub const ICH_LR13_EL2: Self = Self::System(0b11_100_1100_1101_101);
pub const ICH_LR14_EL2: Self = Self::System(0b11_100_1100_1101_110);
pub const ICH_LR15_EL2: Self = Self::System(0b11_100_1100_1101_111);
pub const CONTEXTIDR_EL2: Self = Self::System(0b11_100_1101_0000_001);
pub const TPIDR_EL2: Self = Self::System(0b11_100_1101_0000_010);
pub const SCXTNUM_EL2: Self = Self::System(0b11_100_1101_0000_111);
pub const AMEVCNTVOFF00_EL2: Self = Self::System(0b11_100_1101_1000_000);
pub const AMEVCNTVOFF01_EL2: Self = Self::System(0b11_100_1101_1000_001);
pub const AMEVCNTVOFF02_EL2: Self = Self::System(0b11_100_1101_1000_010);
pub const AMEVCNTVOFF03_EL2: Self = Self::System(0b11_100_1101_1000_011);
pub const AMEVCNTVOFF04_EL2: Self = Self::System(0b11_100_1101_1000_100);
pub const AMEVCNTVOFF05_EL2: Self = Self::System(0b11_100_1101_1000_101);
pub const AMEVCNTVOFF06_EL2: Self = Self::System(0b11_100_1101_1000_110);
pub const AMEVCNTVOFF07_EL2: Self = Self::System(0b11_100_1101_1000_111);
pub const AMEVCNTVOFF08_EL2: Self = Self::System(0b11_100_1101_1001_000);
pub const AMEVCNTVOFF09_EL2: Self = Self::System(0b11_100_1101_1001_001);
pub const AMEVCNTVOFF010_EL2: Self = Self::System(0b11_100_1101_1001_010);
pub const AMEVCNTVOFF011_EL2: Self = Self::System(0b11_100_1101_1001_011);
pub const AMEVCNTVOFF012_EL2: Self = Self::System(0b11_100_1101_1001_100);
pub const AMEVCNTVOFF013_EL2: Self = Self::System(0b11_100_1101_1001_101);
pub const AMEVCNTVOFF014_EL2: Self = Self::System(0b11_100_1101_1001_110);
pub const AMEVCNTVOFF015_EL2: Self = Self::System(0b11_100_1101_1001_111);
pub const AMEVCNTVOFF10_EL2: Self = Self::System(0b11_100_1101_1010_000);
pub const AMEVCNTVOFF11_EL2: Self = Self::System(0b11_100_1101_1010_001);
pub const AMEVCNTVOFF12_EL2: Self = Self::System(0b11_100_1101_1010_010);
pub const AMEVCNTVOFF13_EL2: Self = Self::System(0b11_100_1101_1010_011);
pub const AMEVCNTVOFF14_EL2: Self = Self::System(0b11_100_1101_1010_100);
pub const AMEVCNTVOFF15_EL2: Self = Self::System(0b11_100_1101_1010_101);
pub const AMEVCNTVOFF16_EL2: Self = Self::System(0b11_100_1101_1010_110);
pub const AMEVCNTVOFF17_EL2: Self = Self::System(0b11_100_1101_1010_111);
pub const AMEVCNTVOFF18_EL2: Self = Self::System(0b11_100_1101_1011_000);
pub const AMEVCNTVOFF19_EL2: Self = Self::System(0b11_100_1101_1011_001);
pub const AMEVCNTVOFF110_EL2: Self = Self::System(0b11_100_1101_1011_010);
pub const AMEVCNTVOFF111_EL2: Self = Self::System(0b11_100_1101_1011_011);
pub const AMEVCNTVOFF112_EL2: Self = Self::System(0b11_100_1101_1011_100);
pub const AMEVCNTVOFF113_EL2: Self = Self::System(0b11_100_1101_1011_101);
pub const AMEVCNTVOFF114_EL2: Self = Self::System(0b11_100_1101_1011_110);
pub const AMEVCNTVOFF115_EL2: Self = Self::System(0b11_100_1101_1011_111);
pub const CNTVOFF_EL2: Self = Self::System(0b11_100_1110_0000_011);
pub const CNTPOFF_EL2: Self = Self::System(0b11_100_1110_0000_110);
pub const CNTHCTL_EL2: Self = Self::System(0b11_100_1110_0001_000);
pub const CNTHP_TVAL_EL2: Self = Self::System(0b11_100_1110_0010_000);
pub const CNTHP_CTL_EL2: Self = Self::System(0b11_100_1110_0010_001);
pub const CNTHP_CVAL_EL2: Self = Self::System(0b11_100_1110_0010_010);
pub const CNTHV_TVAL_EL2: Self = Self::System(0b11_100_1110_0011_000);
pub const CNTHV_CTL_EL2: Self = Self::System(0b11_100_1110_0011_001);
pub const CNTHV_CVAL_EL2: Self = Self::System(0b11_100_1110_0011_010);
pub const CNTHVS_TVAL_EL2: Self = Self::System(0b11_100_1110_0100_000);
pub const CNTHVS_CTL_EL2: Self = Self::System(0b11_100_1110_0100_001);
pub const CNTHVS_CVAL_EL2: Self = Self::System(0b11_100_1110_0100_010);
pub const CNTHPS_TVAL_EL2: Self = Self::System(0b11_100_1110_0101_000);
pub const CNTHPS_CTL_EL2: Self = Self::System(0b11_100_1110_0101_001);
pub const CNTHPS_CVAL_EL2: Self = Self::System(0b11_100_1110_0101_010);
pub const SCTLR_EL3: Self = Self::System(0b11_110_0001_0000_000);
pub const ACTLR_EL3: Self = Self::System(0b11_110_0001_0000_001);
pub const SCR_EL3: Self = Self::System(0b11_110_0001_0001_000);
pub const SDER32_EL3: Self = Self::System(0b11_110_0001_0001_001);
pub const CPTR_EL3: Self = Self::System(0b11_110_0001_0001_010);
pub const ZCR_EL3: Self = Self::System(0b11_110_0001_0010_000);
pub const SMCR_EL3: Self = Self::System(0b11_110_0001_0010_110);
pub const MDCR_EL3: Self = Self::System(0b11_110_0001_0011_001);
pub const TTBR0_EL3: Self = Self::System(0b11_110_0010_0000_000);
pub const TCR_EL3: Self = Self::System(0b11_110_0010_0000_010);
pub const GPTBR_EL3: Self = Self::System(0b11_110_0010_0001_100);
pub const GPCCR_EL3: Self = Self::System(0b11_110_0010_0001_110);
pub const SPSR_EL3: Self = Self::System(0b11_110_0100_0000_000);
pub const ELR_EL3: Self = Self::System(0b11_110_0100_0000_001);
pub const SP_EL2: Self = Self::System(0b11_110_0100_0001_000);
pub const AFSR0_EL3: Self = Self::System(0b11_110_0101_0001_000);
pub const AFSR1_EL3: Self = Self::System(0b11_110_0101_0001_001);
pub const ESR_EL3: Self = Self::System(0b11_110_0101_0010_000);
pub const TFSR_EL3: Self = Self::System(0b11_110_0101_0110_000);
pub const FAR_EL3: Self = Self::System(0b11_110_0110_0000_000);
pub const MFAR_EL3: Self = Self::System(0b11_110_0110_0000_101);
pub const MAIR_EL3: Self = Self::System(0b11_110_1010_0010_000);
pub const AMAIR_EL3: Self = Self::System(0b11_110_1010_0011_000);
pub const MPAM3_EL3: Self = Self::System(0b11_110_1010_0101_000);
pub const VBAR_EL3: Self = Self::System(0b11_110_1100_0000_000);
pub const RVBAR_EL3: Self = Self::System(0b11_110_1100_0000_001);
pub const RMR_EL3: Self = Self::System(0b11_110_1100_0000_010);
pub const ICC_CTLR_EL3: Self = Self::System(0b11_110_1100_1100_100);
pub const ICC_SRE_EL3: Self = Self::System(0b11_110_1100_1100_101);
pub const ICC_IGRPEN1_EL3: Self = Self::System(0b11_110_1100_1100_111);
pub const TPIDR_EL3: Self = Self::System(0b11_110_1101_0000_010);
pub const SCXTNUM_EL3: Self = Self::System(0b11_110_1101_0000_111);
pub const CNTPS_TVAL_EL1: Self = Self::System(0b11_111_1110_0010_000);
pub const CNTPS_CTL_EL1: Self = Self::System(0b11_111_1110_0010_001);
pub const CNTPS_CVAL_EL1: Self = Self::System(0b11_111_1110_0010_010);
pub const OSDTRRX_EL1: Self = Self::System(0b10_000_0000_0000_010);
pub const DBGBVR0_EL1: Self = Self::System(0b10_000_0000_0000_100);
pub const DBGBCR0_EL1: Self = Self::System(0b10_000_0000_0000_101);
pub const DBGWVR0_EL1: Self = Self::System(0b10_000_0000_0000_110);
pub const DBGWCR0_EL1: Self = Self::System(0b10_000_0000_0000_111);
pub const DBGBVR1_EL1: Self = Self::System(0b10_000_0000_0001_100);
pub const DBGBCR1_EL1: Self = Self::System(0b10_000_0000_0001_101);
pub const DBGWVR1_EL1: Self = Self::System(0b10_000_0000_0001_110);
pub const DBGWCR1_EL1: Self = Self::System(0b10_000_0000_0001_111);
pub const MDCCINT_EL1: Self = Self::System(0b10_000_0000_0010_000);
pub const MDSCR_EL1: Self = Self::System(0b10_000_0000_0010_010);
pub const DBGBVR2_EL1: Self = Self::System(0b10_000_0000_0010_100);
pub const DBGBCR2_EL1: Self = Self::System(0b10_000_0000_0010_101);
pub const DBGWVR2_EL1: Self = Self::System(0b10_000_0000_0010_110);
pub const DBGWCR2_EL1: Self = Self::System(0b10_000_0000_0010_111);
pub const OSDTRTX_EL1: Self = Self::System(0b10_000_0000_0011_010);
pub const DBGBVR3_EL1: Self = Self::System(0b10_000_0000_0011_100);
pub const DBGBCR3_EL1: Self = Self::System(0b10_000_0000_0011_101);
pub const DBGWVR3_EL1: Self = Self::System(0b10_000_0000_0011_110);
pub const DBGWCR3_EL1: Self = Self::System(0b10_000_0000_0011_111);
pub const DBGBVR4_EL1: Self = Self::System(0b10_000_0000_0100_100);
pub const DBGBCR4_EL1: Self = Self::System(0b10_000_0000_0100_101);
pub const DBGWVR4_EL1: Self = Self::System(0b10_000_0000_0100_110);
pub const DBGWCR4_EL1: Self = Self::System(0b10_000_0000_0100_111);
pub const DBGBVR5_EL1: Self = Self::System(0b10_000_0000_0101_100);
pub const DBGBCR5_EL1: Self = Self::System(0b10_000_0000_0101_101);
pub const DBGWVR5_EL1: Self = Self::System(0b10_000_0000_0101_110);
pub const DBGWCR5_EL1: Self = Self::System(0b10_000_0000_0101_111);
pub const OSECCR_EL1: Self = Self::System(0b10_000_0000_0110_010);
pub const DBGBVR6_EL1: Self = Self::System(0b10_000_0000_0110_100);
pub const DBGBCR6_EL1: Self = Self::System(0b10_000_0000_0110_101);
pub const DBGWVR6_EL1: Self = Self::System(0b10_000_0000_0110_110);
pub const DBGWCR6_EL1: Self = Self::System(0b10_000_0000_0110_111);
pub const DBGBVR7_EL1: Self = Self::System(0b10_000_0000_0111_100);
pub const DBGBCR7_EL1: Self = Self::System(0b10_000_0000_0111_101);
pub const DBGWVR7_EL1: Self = Self::System(0b10_000_0000_0111_110);
pub const DBGWCR7_EL1: Self = Self::System(0b10_000_0000_0111_111);
pub const DBGBVR8_EL1: Self = Self::System(0b10_000_0000_1000_100);
pub const DBGBCR8_EL1: Self = Self::System(0b10_000_0000_1000_101);
pub const DBGWVR8_EL1: Self = Self::System(0b10_000_0000_1000_110);
pub const DBGWCR8_EL1: Self = Self::System(0b10_000_0000_1000_111);
pub const DBGBVR9_EL1: Self = Self::System(0b10_000_0000_1001_100);
pub const DBGBCR9_EL1: Self = Self::System(0b10_000_0000_1001_101);
pub const DBGWVR9_EL1: Self = Self::System(0b10_000_0000_1001_110);
pub const DBGWCR9_EL1: Self = Self::System(0b10_000_0000_1001_111);
pub const DBGBVR10_EL1: Self = Self::System(0b10_000_0000_1010_100);
pub const DBGBCR10_EL1: Self = Self::System(0b10_000_0000_1010_101);
pub const DBGWVR10_EL1: Self = Self::System(0b10_000_0000_1010_110);
pub const DBGWCR10_EL1: Self = Self::System(0b10_000_0000_1010_111);
pub const DBGBVR11_EL1: Self = Self::System(0b10_000_0000_1011_100);
pub const DBGBCR11_EL1: Self = Self::System(0b10_000_0000_1011_101);
pub const DBGWVR11_EL1: Self = Self::System(0b10_000_0000_1011_110);
pub const DBGWCR11_EL1: Self = Self::System(0b10_000_0000_1011_111);
pub const DBGBVR12_EL1: Self = Self::System(0b10_000_0000_1100_100);
pub const DBGBCR12_EL1: Self = Self::System(0b10_000_0000_1100_101);
pub const DBGWVR12_EL1: Self = Self::System(0b10_000_0000_1100_110);
pub const DBGWCR12_EL1: Self = Self::System(0b10_000_0000_1100_111);
pub const DBGBVR13_EL1: Self = Self::System(0b10_000_0000_1101_100);
pub const DBGBCR13_EL1: Self = Self::System(0b10_000_0000_1101_101);
pub const DBGWVR13_EL1: Self = Self::System(0b10_000_0000_1101_110);
pub const DBGWCR13_EL1: Self = Self::System(0b10_000_0000_1101_111);
pub const DBGBVR14_EL1: Self = Self::System(0b10_000_0000_1110_100);
pub const DBGBCR14_EL1: Self = Self::System(0b10_000_0000_1110_101);
pub const DBGWVR14_EL1: Self = Self::System(0b10_000_0000_1110_110);
pub const DBGWCR14_EL1: Self = Self::System(0b10_000_0000_1110_111);
pub const DBGBVR15_EL1: Self = Self::System(0b10_000_0000_1111_100);
pub const DBGBCR15_EL1: Self = Self::System(0b10_000_0000_1111_101);
pub const DBGWVR15_EL1: Self = Self::System(0b10_000_0000_1111_110);
pub const DBGWCR15_EL1: Self = Self::System(0b10_000_0000_1111_111);
pub const MDRAR_EL1: Self = Self::System(0b10_000_0001_0000_000);
pub const OSLAR_EL1: Self = Self::System(0b10_000_0001_0000_100);
pub const OSLSR_EL1: Self = Self::System(0b10_000_0001_0001_100);
pub const OSDLR_EL1: Self = Self::System(0b10_000_0001_0011_100);
pub const DBGPRCR_EL1: Self = Self::System(0b10_000_0001_0100_100);
pub const DBGCLAIMSET_EL1: Self = Self::System(0b10_000_0111_1000_110);
pub const DBGCLAIMCLR_EL1: Self = Self::System(0b10_000_0111_1001_110);
pub const DBGAUTHSTATUS_EL1: Self = Self::System(0b10_000_0111_1110_110);
pub const TRCTRACEIDR: Self = Self::System(0b10_001_0000_0000_001);
pub const TRCVICTLR: Self = Self::System(0b10_001_0000_0000_010);
pub const TRCSEQEVR0: Self = Self::System(0b10_001_0000_0000_100);
pub const TRCCNTRLDVR0: Self = Self::System(0b10_001_0000_0000_101);
pub const TRCIDR8: Self = Self::System(0b10_001_0000_0000_110);
pub const TRCIMSPEC0: Self = Self::System(0b10_001_0000_0000_111);
pub const TRCPRGCTLR: Self = Self::System(0b10_001_0000_0001_000);
pub const TRCQCTLR: Self = Self::System(0b10_001_0000_0001_001);
pub const TRCVIIECTLR: Self = Self::System(0b10_001_0000_0001_010);
pub const TRCSEQEVR1: Self = Self::System(0b10_001_0000_0001_100);
pub const TRCCNTRLDVR1: Self = Self::System(0b10_001_0000_0001_101);
pub const TRCIDR9: Self = Self::System(0b10_001_0000_0001_110);
pub const TRCIMSPEC1: Self = Self::System(0b10_001_0000_0001_111);
pub const TRCVISSCTLR: Self = Self::System(0b10_001_0000_0010_010);
pub const TRCSEQEVR2: Self = Self::System(0b10_001_0000_0010_100);
pub const TRCCNTRLDVR2: Self = Self::System(0b10_001_0000_0010_101);
pub const TRCIDR10: Self = Self::System(0b10_001_0000_0010_110);
pub const TRCIMSPEC2: Self = Self::System(0b10_001_0000_0010_111);
pub const TRCSTATR: Self = Self::System(0b10_001_0000_0011_000);
pub const TRCVIPCSSCTLR: Self = Self::System(0b10_001_0000_0011_010);
pub const TRCCNTRLDVR3: Self = Self::System(0b10_001_0000_0011_101);
pub const TRCIDR11: Self = Self::System(0b10_001_0000_0011_110);
pub const TRCIMSPEC3: Self = Self::System(0b10_001_0000_0011_111);
pub const TRCCONFIGR: Self = Self::System(0b10_001_0000_0100_000);
pub const TRCCNTCTLR0: Self = Self::System(0b10_001_0000_0100_101);
pub const TRCIDR12: Self = Self::System(0b10_001_0000_0100_110);
pub const TRCIMSPEC4: Self = Self::System(0b10_001_0000_0100_111);
pub const TRCCNTCTLR1: Self = Self::System(0b10_001_0000_0101_101);
pub const TRCIDR13: Self = Self::System(0b10_001_0000_0101_110);
pub const TRCIMSPEC5: Self = Self::System(0b10_001_0000_0101_111);
pub const TRCAUXCTLR: Self = Self::System(0b10_001_0000_0110_000);
pub const TRCSEQRSTEVR: Self = Self::System(0b10_001_0000_0110_100);
pub const TRCCNTCTLR2: Self = Self::System(0b10_001_0000_0110_101);
pub const TRCIMSPEC6: Self = Self::System(0b10_001_0000_0110_111);
pub const TRCSEQSTR: Self = Self::System(0b10_001_0000_0111_100);
pub const TRCCNTCTLR3: Self = Self::System(0b10_001_0000_0111_101);
pub const TRCIMSPEC7: Self = Self::System(0b10_001_0000_0111_111);
pub const TRCEVENTCTL0R: Self = Self::System(0b10_001_0000_1000_000);
pub const TRCEXTINSELR0: Self = Self::System(0b10_001_0000_1000_100);
pub const TRCCNTVR0: Self = Self::System(0b10_001_0000_1000_101);
pub const TRCIDR0: Self = Self::System(0b10_001_0000_1000_111);
pub const TRCEVENTCTL1R: Self = Self::System(0b10_001_0000_1001_000);
pub const TRCEXTINSELR1: Self = Self::System(0b10_001_0000_1001_100);
pub const TRCCNTVR1: Self = Self::System(0b10_001_0000_1001_101);
pub const TRCIDR1: Self = Self::System(0b10_001_0000_1001_111);
pub const TRCRSR: Self = Self::System(0b10_001_0000_1010_000);
pub const TRCEXTINSELR2: Self = Self::System(0b10_001_0000_1010_100);
pub const TRCCNTVR2: Self = Self::System(0b10_001_0000_1010_101);
pub const TRCIDR2: Self = Self::System(0b10_001_0000_1010_111);
pub const TRCSTALLCTLR: Self = Self::System(0b10_001_0000_1011_000);
pub const TRCEXTINSELR3: Self = Self::System(0b10_001_0000_1011_100);
pub const TRCCNTVR3: Self = Self::System(0b10_001_0000_1011_101);
pub const TRCIDR3: Self = Self::System(0b10_001_0000_1011_111);
pub const TRCTSCTLR: Self = Self::System(0b10_001_0000_1100_000);
pub const TRCIDR4: Self = Self::System(0b10_001_0000_1100_111);
pub const TRCSYNCPR: Self = Self::System(0b10_001_0000_1101_000);
pub const TRCIDR5: Self = Self::System(0b10_001_0000_1101_111);
pub const TRCCCCTLR: Self = Self::System(0b10_001_0000_1110_000);
pub const TRCIDR6: Self = Self::System(0b10_001_0000_1110_111);
pub const TRCBBCTLR: Self = Self::System(0b10_001_0000_1111_000);
pub const TRCIDR7: Self = Self::System(0b10_001_0000_1111_111);
pub const TRCRSCTLR16: Self = Self::System(0b10_001_0001_0000_001);
pub const TRCSSCCR0: Self = Self::System(0b10_001_0001_0000_010);
pub const TRCSSPCICR0: Self = Self::System(0b10_001_0001_0000_011);
pub const TRCRSCTLR17: Self = Self::System(0b10_001_0001_0001_001);
pub const TRCSSCCR1: Self = Self::System(0b10_001_0001_0001_010);
pub const TRCSSPCICR1: Self = Self::System(0b10_001_0001_0001_011);
pub const TRCOSLSR: Self = Self::System(0b10_001_0001_0001_100);
pub const TRCRSCTLR2: Self = Self::System(0b10_001_0001_0010_000);
pub const TRCRSCTLR18: Self = Self::System(0b10_001_0001_0010_001);
pub const TRCSSCCR2: Self = Self::System(0b10_001_0001_0010_010);
pub const TRCSSPCICR2: Self = Self::System(0b10_001_0001_0010_011);
pub const TRCRSCTLR3: Self = Self::System(0b10_001_0001_0011_000);
pub const TRCRSCTLR19: Self = Self::System(0b10_001_0001_0011_001);
pub const TRCSSCCR3: Self = Self::System(0b10_001_0001_0011_010);
pub const TRCSSPCICR3: Self = Self::System(0b10_001_0001_0011_011);
pub const TRCRSCTLR4: Self = Self::System(0b10_001_0001_0100_000);
pub const TRCRSCTLR20: Self = Self::System(0b10_001_0001_0100_001);
pub const TRCSSCCR4: Self = Self::System(0b10_001_0001_0100_010);
pub const TRCSSPCICR4: Self = Self::System(0b10_001_0001_0100_011);
pub const TRCRSCTLR5: Self = Self::System(0b10_001_0001_0101_000);
pub const TRCRSCTLR21: Self = Self::System(0b10_001_0001_0101_001);
pub const TRCSSCCR5: Self = Self::System(0b10_001_0001_0101_010);
pub const TRCSSPCICR5: Self = Self::System(0b10_001_0001_0101_011);
pub const TRCRSCTLR6: Self = Self::System(0b10_001_0001_0110_000);
pub const TRCRSCTLR22: Self = Self::System(0b10_001_0001_0110_001);
pub const TRCSSCCR6: Self = Self::System(0b10_001_0001_0110_010);
pub const TRCSSPCICR6: Self = Self::System(0b10_001_0001_0110_011);
pub const TRCRSCTLR7: Self = Self::System(0b10_001_0001_0111_000);
pub const TRCRSCTLR23: Self = Self::System(0b10_001_0001_0111_001);
pub const TRCSSCCR7: Self = Self::System(0b10_001_0001_0111_010);
pub const TRCSSPCICR7: Self = Self::System(0b10_001_0001_0111_011);
pub const TRCRSCTLR8: Self = Self::System(0b10_001_0001_1000_000);
pub const TRCRSCTLR24: Self = Self::System(0b10_001_0001_1000_001);
pub const TRCSSCSR0: Self = Self::System(0b10_001_0001_1000_010);
pub const TRCRSCTLR9: Self = Self::System(0b10_001_0001_1001_000);
pub const TRCRSCTLR25: Self = Self::System(0b10_001_0001_1001_001);
pub const TRCSSCSR1: Self = Self::System(0b10_001_0001_1001_010);
pub const TRCRSCTLR10: Self = Self::System(0b10_001_0001_1010_000);
pub const TRCRSCTLR26: Self = Self::System(0b10_001_0001_1010_001);
pub const TRCSSCSR2: Self = Self::System(0b10_001_0001_1010_010);
pub const TRCRSCTLR11: Self = Self::System(0b10_001_0001_1011_000);
pub const TRCRSCTLR27: Self = Self::System(0b10_001_0001_1011_001);
pub const TRCSSCSR3: Self = Self::System(0b10_001_0001_1011_010);
pub const TRCRSCTLR12: Self = Self::System(0b10_001_0001_1100_000);
pub const TRCRSCTLR28: Self = Self::System(0b10_001_0001_1100_001);
pub const TRCSSCSR4: Self = Self::System(0b10_001_0001_1100_010);
pub const TRCRSCTLR13: Self = Self::System(0b10_001_0001_1101_000);
pub const TRCRSCTLR29: Self = Self::System(0b10_001_0001_1101_001);
pub const TRCSSCSR5: Self = Self::System(0b10_001_0001_1101_010);
pub const TRCRSCTLR14: Self = Self::System(0b10_001_0001_1110_000);
pub const TRCRSCTLR30: Self = Self::System(0b10_001_0001_1110_001);
pub const TRCSSCSR6: Self = Self::System(0b10_001_0001_1110_010);
pub const TRCRSCTLR15: Self = Self::System(0b10_001_0001_1111_000);
pub const TRCRSCTLR31: Self = Self::System(0b10_001_0001_1111_001);
pub const TRCSSCSR7: Self = Self::System(0b10_001_0001_1111_010);
pub const TRCACVR0: Self = Self::System(0b10_001_0010_0000_000);
pub const TRCACVR8: Self = Self::System(0b10_001_0010_0000_001);
pub const TRCACATR0: Self = Self::System(0b10_001_0010_0000_010);
pub const TRCACATR8: Self = Self::System(0b10_001_0010_0000_011);
pub const TRCACVR1: Self = Self::System(0b10_001_0010_0010_000);
pub const TRCACVR9: Self = Self::System(0b10_001_0010_0010_001);
pub const TRCACATR1: Self = Self::System(0b10_001_0010_0010_010);
pub const TRCACATR9: Self = Self::System(0b10_001_0010_0010_011);
pub const TRCACVR2: Self = Self::System(0b10_001_0010_0100_000);
pub const TRCACVR10: Self = Self::System(0b10_001_0010_0100_001);
pub const TRCACATR2: Self = Self::System(0b10_001_0010_0100_010);
pub const TRCACATR10: Self = Self::System(0b10_001_0010_0100_011);
pub const TRCACVR3: Self = Self::System(0b10_001_0010_0110_000);
pub const TRCACVR11: Self = Self::System(0b10_001_0010_0110_001);
pub const TRCACATR3: Self = Self::System(0b10_001_0010_0110_010);
pub const TRCACATR11: Self = Self::System(0b10_001_0010_0110_011);
pub const TRCACVR4: Self = Self::System(0b10_001_0010_1000_000);
pub const TRCACVR12: Self = Self::System(0b10_001_0010_1000_001);
pub const TRCACATR4: Self = Self::System(0b10_001_0010_1000_010);
pub const TRCACATR12: Self = Self::System(0b10_001_0010_1000_011);
pub const TRCACVR5: Self = Self::System(0b10_001_0010_1010_000);
pub const TRCACVR13: Self = Self::System(0b10_001_0010_1010_001);
pub const TRCACATR5: Self = Self::System(0b10_001_0010_1010_010);
pub const TRCACATR13: Self = Self::System(0b10_001_0010_1010_011);
pub const TRCACVR6: Self = Self::System(0b10_001_0010_1100_000);
pub const TRCACVR14: Self = Self::System(0b10_001_0010_1100_001);
pub const TRCACATR6: Self = Self::System(0b10_001_0010_1100_010);
pub const TRCACATR14: Self = Self::System(0b10_001_0010_1100_011);
pub const TRCACVR7: Self = Self::System(0b10_001_0010_1110_000);
pub const TRCACVR15: Self = Self::System(0b10_001_0010_1110_001);
pub const TRCACATR7: Self = Self::System(0b10_001_0010_1110_010);
pub const TRCACATR15: Self = Self::System(0b10_001_0010_1110_011);
pub const TRCCIDCVR0: Self = Self::System(0b10_001_0011_0000_000);
pub const TRCVMIDCVR0: Self = Self::System(0b10_001_0011_0000_001);
pub const TRCCIDCCTLR0: Self = Self::System(0b10_001_0011_0000_010);
pub const TRCCIDCCTLR1: Self = Self::System(0b10_001_0011_0001_010);
pub const TRCCIDCVR1: Self = Self::System(0b10_001_0011_0010_000);
pub const TRCVMIDCVR1: Self = Self::System(0b10_001_0011_0010_001);
pub const TRCVMIDCCTLR0: Self = Self::System(0b10_001_0011_0010_010);
pub const TRCVMIDCCTLR1: Self = Self::System(0b10_001_0011_0011_010);
pub const TRCCIDCVR2: Self = Self::System(0b10_001_0011_0100_000);
pub const TRCVMIDCVR2: Self = Self::System(0b10_001_0011_0100_001);
pub const TRCCIDCVR3: Self = Self::System(0b10_001_0011_0110_000);
pub const TRCVMIDCVR3: Self = Self::System(0b10_001_0011_0110_001);
pub const TRCCIDCVR4: Self = Self::System(0b10_001_0011_1000_000);
pub const TRCVMIDCVR4: Self = Self::System(0b10_001_0011_1000_001);
pub const TRCCIDCVR5: Self = Self::System(0b10_001_0011_1010_000);
pub const TRCVMIDCVR5: Self = Self::System(0b10_001_0011_1010_001);
pub const TRCCIDCVR6: Self = Self::System(0b10_001_0011_1100_000);
pub const TRCVMIDCVR6: Self = Self::System(0b10_001_0011_1100_001);
pub const TRCCIDCVR7: Self = Self::System(0b10_001_0011_1110_000);
pub const TRCVMIDCVR7: Self = Self::System(0b10_001_0011_1110_001);
pub const TRCDEVID: Self = Self::System(0b10_001_0111_0010_111);
pub const TRCCLAIMSET: Self = Self::System(0b10_001_0111_1000_110);
pub const TRCCLAIMCLR: Self = Self::System(0b10_001_0111_1001_110);
pub const TRCAUTHSTATUS: Self = Self::System(0b10_001_0111_1110_110);
pub const TRCDEVARCH: Self = Self::System(0b10_001_0111_1111_110);
pub const BRBINF0_EL1: Self = Self::System(0b10_001_1000_0000_000);
pub const BRBSRC0_EL1: Self = Self::System(0b10_001_1000_0000_001);
pub const BRBTGT0_EL1: Self = Self::System(0b10_001_1000_0000_010);
pub const BRBINF16_EL1: Self = Self::System(0b10_001_1000_0000_100);
pub const BRBSRC16_EL1: Self = Self::System(0b10_001_1000_0000_101);
pub const BRBTGT16_EL1: Self = Self::System(0b10_001_1000_0000_110);
pub const BRBINF1_EL1: Self = Self::System(0b10_001_1000_0001_000);
pub const BRBSRC1_EL1: Self = Self::System(0b10_001_1000_0001_001);
pub const BRBTGT1_EL1: Self = Self::System(0b10_001_1000_0001_010);
pub const BRBINF17_EL1: Self = Self::System(0b10_001_1000_0001_100);
pub const BRBSRC17_EL1: Self = Self::System(0b10_001_1000_0001_101);
pub const BRBTGT17_EL1: Self = Self::System(0b10_001_1000_0001_110);
pub const BRBINF2_EL1: Self = Self::System(0b10_001_1000_0010_000);
pub const BRBSRC2_EL1: Self = Self::System(0b10_001_1000_0010_001);
pub const BRBTGT2_EL1: Self = Self::System(0b10_001_1000_0010_010);
pub const BRBINF18_EL1: Self = Self::System(0b10_001_1000_0010_100);
pub const BRBSRC18_EL1: Self = Self::System(0b10_001_1000_0010_101);
pub const BRBTGT18_EL1: Self = Self::System(0b10_001_1000_0010_110);
pub const BRBINF3_EL1: Self = Self::System(0b10_001_1000_0011_000);
pub const BRBSRC3_EL1: Self = Self::System(0b10_001_1000_0011_001);
pub const BRBTGT3_EL1: Self = Self::System(0b10_001_1000_0011_010);
pub const BRBINF19_EL1: Self = Self::System(0b10_001_1000_0011_100);
pub const BRBSRC19_EL1: Self = Self::System(0b10_001_1000_0011_101);
pub const BRBTGT19_EL1: Self = Self::System(0b10_001_1000_0011_110);
pub const BRBINF4_EL1: Self = Self::System(0b10_001_1000_0100_000);
pub const BRBSRC4_EL1: Self = Self::System(0b10_001_1000_0100_001);
pub const BRBTGT4_EL1: Self = Self::System(0b10_001_1000_0100_010);
pub const BRBINF20_EL1: Self = Self::System(0b10_001_1000_0100_100);
pub const BRBSRC20_EL1: Self = Self::System(0b10_001_1000_0100_101);
pub const BRBTGT20_EL1: Self = Self::System(0b10_001_1000_0100_110);
pub const BRBINF5_EL1: Self = Self::System(0b10_001_1000_0101_000);
pub const BRBSRC5_EL1: Self = Self::System(0b10_001_1000_0101_001);
pub const BRBTGT5_EL1: Self = Self::System(0b10_001_1000_0101_010);
pub const BRBINF21_EL1: Self = Self::System(0b10_001_1000_0101_100);
pub const BRBSRC21_EL1: Self = Self::System(0b10_001_1000_0101_101);
pub const BRBTGT21_EL1: Self = Self::System(0b10_001_1000_0101_110);
pub const BRBINF6_EL1: Self = Self::System(0b10_001_1000_0110_000);
pub const BRBSRC6_EL1: Self = Self::System(0b10_001_1000_0110_001);
pub const BRBTGT6_EL1: Self = Self::System(0b10_001_1000_0110_010);
pub const BRBINF22_EL1: Self = Self::System(0b10_001_1000_0110_100);
pub const BRBSRC22_EL1: Self = Self::System(0b10_001_1000_0110_101);
pub const BRBTGT22_EL1: Self = Self::System(0b10_001_1000_0110_110);
pub const BRBINF7_EL1: Self = Self::System(0b10_001_1000_0111_000);
pub const BRBSRC7_EL1: Self = Self::System(0b10_001_1000_0111_001);
pub const BRBTGT7_EL1: Self = Self::System(0b10_001_1000_0111_010);
pub const BRBINF23_EL1: Self = Self::System(0b10_001_1000_0111_100);
pub const BRBSRC23_EL1: Self = Self::System(0b10_001_1000_0111_101);
pub const BRBTGT23_EL1: Self = Self::System(0b10_001_1000_0111_110);
pub const BRBINF8_EL1: Self = Self::System(0b10_001_1000_1000_000);
pub const BRBSRC8_EL1: Self = Self::System(0b10_001_1000_1000_001);
pub const BRBTGT8_EL1: Self = Self::System(0b10_001_1000_1000_010);
pub const BRBINF24_EL1: Self = Self::System(0b10_001_1000_1000_100);
pub const BRBSRC24_EL1: Self = Self::System(0b10_001_1000_1000_101);
pub const BRBTGT24_EL1: Self = Self::System(0b10_001_1000_1000_110);
pub const BRBINF9_EL1: Self = Self::System(0b10_001_1000_1001_000);
pub const BRBSRC9_EL1: Self = Self::System(0b10_001_1000_1001_001);
pub const BRBTGT9_EL1: Self = Self::System(0b10_001_1000_1001_010);
pub const BRBINF25_EL1: Self = Self::System(0b10_001_1000_1001_100);
pub const BRBSRC25_EL1: Self = Self::System(0b10_001_1000_1001_101);
pub const BRBTGT25_EL1: Self = Self::System(0b10_001_1000_1001_110);
pub const BRBINF10_EL1: Self = Self::System(0b10_001_1000_1010_000);
pub const BRBSRC10_EL1: Self = Self::System(0b10_001_1000_1010_001);
pub const BRBTGT10_EL1: Self = Self::System(0b10_001_1000_1010_010);
pub const BRBINF26_EL1: Self = Self::System(0b10_001_1000_1010_100);
pub const BRBSRC26_EL1: Self = Self::System(0b10_001_1000_1010_101);
pub const BRBTGT26_EL1: Self = Self::System(0b10_001_1000_1010_110);
pub const BRBINF11_EL1: Self = Self::System(0b10_001_1000_1011_000);
pub const BRBSRC11_EL1: Self = Self::System(0b10_001_1000_1011_001);
pub const BRBTGT11_EL1: Self = Self::System(0b10_001_1000_1011_010);
pub const BRBINF27_EL1: Self = Self::System(0b10_001_1000_1011_100);
pub const BRBSRC27_EL1: Self = Self::System(0b10_001_1000_1011_101);
pub const BRBTGT27_EL1: Self = Self::System(0b10_001_1000_1011_110);
pub const BRBINF12_EL1: Self = Self::System(0b10_001_1000_1100_000);
pub const BRBSRC12_EL1: Self = Self::System(0b10_001_1000_1100_001);
pub const BRBTGT12_EL1: Self = Self::System(0b10_001_1000_1100_010);
pub const BRBINF28_EL1: Self = Self::System(0b10_001_1000_1100_100);
pub const BRBSRC28_EL1: Self = Self::System(0b10_001_1000_1100_101);
pub const BRBTGT28_EL1: Self = Self::System(0b10_001_1000_1100_110);
pub const BRBINF13_EL1: Self = Self::System(0b10_001_1000_1101_000);
pub const BRBSRC13_EL1: Self = Self::System(0b10_001_1000_1101_001);
pub const BRBTGT13_EL1: Self = Self::System(0b10_001_1000_1101_010);
pub const BRBINF29_EL1: Self = Self::System(0b10_001_1000_1101_100);
pub const BRBSRC29_EL1: Self = Self::System(0b10_001_1000_1101_101);
pub const BRBTGT29_EL1: Self = Self::System(0b10_001_1000_1101_110);
pub const BRBINF14_EL1: Self = Self::System(0b10_001_1000_1110_000);
pub const BRBSRC14_EL1: Self = Self::System(0b10_001_1000_1110_001);
pub const BRBTGT14_EL1: Self = Self::System(0b10_001_1000_1110_010);
pub const BRBINF30_EL1: Self = Self::System(0b10_001_1000_1110_100);
pub const BRBSRC30_EL1: Self = Self::System(0b10_001_1000_1110_101);
pub const BRBTGT30_EL1: Self = Self::System(0b10_001_1000_1110_110);
pub const BRBINF15_EL1: Self = Self::System(0b10_001_1000_1111_000);
pub const BRBSRC15_EL1: Self = Self::System(0b10_001_1000_1111_001);
pub const BRBTGT15_EL1: Self = Self::System(0b10_001_1000_1111_010);
pub const BRBINF31_EL1: Self = Self::System(0b10_001_1000_1111_100);
pub const BRBSRC31_EL1: Self = Self::System(0b10_001_1000_1111_101);
pub const BRBTGT31_EL1: Self = Self::System(0b10_001_1000_1111_110);
pub const BRBCR_EL1: Self = Self::System(0b10_001_1001_0000_000);
pub const BRBCR_EL2: Self = Self::System(0b10_001_1001_0000_000);
pub const BRBFCR_EL1: Self = Self::System(0b10_001_1001_0000_001);
pub const BRBTS_EL1: Self = Self::System(0b10_001_1001_0000_010);
pub const BRBINFINJ_EL1: Self = Self::System(0b10_001_1001_0001_000);
pub const BRBSRCINJ_EL1: Self = Self::System(0b10_001_1001_0001_001);
pub const BRBTGTINJ_EL1: Self = Self::System(0b10_001_1001_0001_010);
pub const BRBIDR0_EL1: Self = Self::System(0b10_001_1001_0010_000);
pub const MDCCSR_EL0: Self = Self::System(0b10_011_0000_0001_000);
pub const DBGDTR_EL0: Self = Self::System(0b10_011_0000_0100_000);
pub const DBGDTRRX_EL0: Self = Self::System(0b10_011_0000_0101_000);
pub const DBGDTRTX_EL0: Self = Self::System(0b10_011_0000_0101_000);
pub const DBGVCR32_EL2: Self = Self::System(0b10_100_0000_0111_000);
}