MRS_REG_ALT_NAME
"msr "__XSTRING(MRS_REG_ALT_NAME(reg ## KeyLo_EL1))", %0 \n" \
"msr "__XSTRING(MRS_REG_ALT_NAME(reg ## KeyHi_EL1))", %1 \n" \
#define ID_AA64ISAR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64ISAR1_EL1)
#define APDBKeyHi_EL1_REG MRS_REG_ALT_NAME(APDBKeyHi_EL1)
#define ID_AA64ISAR2_EL1_REG MRS_REG_ALT_NAME(ID_AA64ISAR2_EL1)
#define APDBKeyLo_EL1_REG MRS_REG_ALT_NAME(APDBKeyLo_EL1)
#define APGAKeyHi_EL1_REG MRS_REG_ALT_NAME(APGAKeyHi_EL1)
#define ID_AA64MMFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR0_EL1)
#define APGAKeyLo_EL1_REG MRS_REG_ALT_NAME(APGAKeyLo_EL1)
#define ID_AA64MMFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR1_EL1)
#define APIAKeyHi_EL1_REG MRS_REG_ALT_NAME(APIAKeyHi_EL1)
#define ID_AA64MMFR2_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR2_EL1)
#define APIAKeyLo_EL1_REG MRS_REG_ALT_NAME(APIAKeyLo_EL1)
#define APIBKeyHi_EL1_REG MRS_REG_ALT_NAME(APIBKeyHi_EL1)
#define ID_AA64MMFR3_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR3_EL1)
#define APIBKeyLo_EL1_REG MRS_REG_ALT_NAME(APIBKeyLo_EL1)
#define ID_AA64MMFR4_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR4_EL1)
#define ID_AA64PFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64PFR0_EL1)
#define ID_AA64PFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64PFR1_EL1)
#define ID_AA64PFR2_EL1_REG MRS_REG_ALT_NAME(ID_AA64PFR2_EL1)
#define ID_AA64ZFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64ZFR0_EL1)
#define MAIR_EL1_REG MRS_REG_ALT_NAME(MAIR_EL1)
#define MAIR_EL12_REG MRS_REG_ALT_NAME(MAIR_EL12)
#define CNTP_CTL_EL02_REG MRS_REG_ALT_NAME(CNTP_CTL_EL02)
#define PMBIDR_EL1_REG MRS_REG_ALT_NAME(PMBIDR_EL1)
#define PMBLIMITR_EL1_REG MRS_REG_ALT_NAME(PMBLIMITR_EL1)
#define PMBPTR_EL1_REG MRS_REG_ALT_NAME(PMBPTR_EL1)
#define PMBSR_EL1_REG MRS_REG_ALT_NAME(PMBSR_EL1)
#define CNTP_CVAL_EL02_REG MRS_REG_ALT_NAME(CNTP_CVAL_EL02)
#define PMSCR_EL1_REG MRS_REG_ALT_NAME(PMSCR_EL1)
#define PMSEVFR_EL1_REG MRS_REG_ALT_NAME(PMSEVFR_EL1)
#define PMSFCR_EL1_REG MRS_REG_ALT_NAME(PMSFCR_EL1)
#define PMSICR_EL1_REG MRS_REG_ALT_NAME(PMSICR_EL1)
#define PMSIDR_EL1_REG MRS_REG_ALT_NAME(PMSIDR_EL1)
#define PMSIRR_EL1_REG MRS_REG_ALT_NAME(PMSIRR_EL1)
#define PMSLATFR_EL1_REG MRS_REG_ALT_NAME(PMSLATFR_EL1)
#define PMSNEVFR_EL1_REG MRS_REG_ALT_NAME(PMSNEVFR_EL1)
#define CNTPCTSS_EL0_REG MRS_REG_ALT_NAME(CNTPCTSS_EL0)
#define RNDRRS_REG MRS_REG_ALT_NAME(RNDRRS)
#define SCTLR_EL1_REG MRS_REG_ALT_NAME(SCTLR_EL1)
#define SCTLR_EL12_REG MRS_REG_ALT_NAME(SCTLR_EL12)
#define SPSR_EL1_REG MRS_REG_ALT_NAME(SPSR_EL1)
#define SPSR_EL12_REG MRS_REG_ALT_NAME(SPSR_EL12)
#define TCR_EL1_REG MRS_REG_ALT_NAME(TCR_EL1)
#define TCR_EL12_REG MRS_REG_ALT_NAME(TCR_EL12)
#define TTBR0_EL1_REG MRS_REG_ALT_NAME(TTBR0_EL1)
#define TTBR0_EL12_REG MRS_REG_ALT_NAME(TTBR0_EL12)
#define TTBR1_EL1_REG MRS_REG_ALT_NAME(TTBR1_EL1)
#define TTBR1_EL12_REG MRS_REG_ALT_NAME(TTBR1_EL12)
#define VBAR_EL1_REG MRS_REG_ALT_NAME(VBAR_EL1)
#define VBAR_EL12_REG MRS_REG_ALT_NAME(VBAR_EL12)
#define CNTVCTSS_EL0_REG MRS_REG_ALT_NAME(CNTVCTSS_EL0)
#define ZCR_EL1_REG MRS_REG_ALT_NAME(ZCR_EL1)
#define CONTEXTIDR_EL1_REG MRS_REG_ALT_NAME(CONTEXTIDR_EL1)
#define CONTEXTIDR_EL12_REG MRS_REG_ALT_NAME(CONTEXTIDR_EL12)
#define CPACR_EL1_REG MRS_REG_ALT_NAME(CPACR_EL1)
#define CPACR_EL12_REG MRS_REG_ALT_NAME(CPACR_EL12)
#define CTR_EL0_REG MRS_REG_ALT_NAME(CTR_EL0)
#define AFSR0_EL1_REG MRS_REG_ALT_NAME(AFSR0_EL1)
#define AFSR0_EL12_REG MRS_REG_ALT_NAME(AFSR0_EL12)
#define ELR_EL1_REG MRS_REG_ALT_NAME(ELR_EL1)
#define ELR_EL12_REG MRS_REG_ALT_NAME(ELR_EL12)
#define AFSR1_EL1_REG MRS_REG_ALT_NAME(AFSR1_EL1)
#define AFSR1_EL12_REG MRS_REG_ALT_NAME(AFSR1_EL12)
#define ESR_EL1_REG MRS_REG_ALT_NAME(ESR_EL1)
#define ESR_EL12_REG MRS_REG_ALT_NAME(ESR_EL12)
#define FAR_EL1_REG MRS_REG_ALT_NAME(FAR_EL1)
#define FAR_EL12_REG MRS_REG_ALT_NAME(FAR_EL12)
#define AMAIR_EL1_REG MRS_REG_ALT_NAME(AMAIR_EL1)
#define ID_AA64AFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64AFR0_EL1)
#define ID_AA64AFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64AFR1_EL1)
#define ID_AA64DFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64DFR0_EL1)
#define AMAIR_EL12_REG MRS_REG_ALT_NAME(AMAIR_EL12)
#define ID_AA64DFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64DFR1_EL1)
#define APDAKeyHi_EL1_REG MRS_REG_ALT_NAME(APDAKeyHi_EL1)
#define ID_AA64ISAR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64ISAR0_EL1)
#define APDAKeyLo_EL1_REG MRS_REG_ALT_NAME(APDAKeyLo_EL1)
#define HFGITR2_EL2_REG MRS_REG_ALT_NAME(HFGITR2_EL2)
#define HFGITR_EL2_REG MRS_REG_ALT_NAME(HFGITR_EL2)
#define CNTPOFF_EL2_REG MRS_REG_ALT_NAME(CNTPOFF_EL2)
#define HFGRTR2_EL2_REG MRS_REG_ALT_NAME(HFGRTR2_EL2)
#define HAFGRTR_EL2_REG MRS_REG_ALT_NAME(HAFGRTR_EL2)
#define HFGRTR_EL2_REG MRS_REG_ALT_NAME(HFGRTR_EL2)
#define HFGWTR2_EL2_REG MRS_REG_ALT_NAME(HFGWTR2_EL2)
#define HFGWTR_EL2_REG MRS_REG_ALT_NAME(HFGWTR_EL2)
#define HCRX_EL2_REG MRS_REG_ALT_NAME(HCRX_EL2)
#define HDFGRTR2_EL2_REG MRS_REG_ALT_NAME(HDFGRTR2_EL2)
#define HDFGRTR_EL2_REG MRS_REG_ALT_NAME(HDFGRTR_EL2)
#define HDFGWTR2_EL2_REG MRS_REG_ALT_NAME(HDFGWTR2_EL2)
#define HDFGWTR_EL2_REG MRS_REG_ALT_NAME(HDFGWTR_EL2)
hcrx_el2 = READ_SPECIALREG(MRS_REG_ALT_NAME(HCRX_EL2));
WRITE_SPECIALREG(MRS_REG_ALT_NAME(HCRX_EL2), hcrx_el2);
#define EL1_REG(reg) MRS_REG_ALT_NAME(reg ## _EL1)
#define EL0_REG(reg) MRS_REG_ALT_NAME(reg ## _EL0)
#define EL1_REG(reg) MRS_REG_ALT_NAME(reg ## _EL12)
#define EL0_REG(reg) MRS_REG_ALT_NAME(reg ## _EL02)