#include <asm/sysreg.h>
 #include <asm/types.h>
 
-/* Hyp Configuration Register (HCR) bits */
-
-#define HCR_TID5       (UL(1) << 58)
-#define HCR_DCT                (UL(1) << 57)
-#define HCR_ATA_SHIFT  56
-#define HCR_ATA                (UL(1) << HCR_ATA_SHIFT)
-#define HCR_TTLBOS     (UL(1) << 55)
-#define HCR_TTLBIS     (UL(1) << 54)
-#define HCR_ENSCXT     (UL(1) << 53)
-#define HCR_TOCU       (UL(1) << 52)
-#define HCR_AMVOFFEN   (UL(1) << 51)
-#define HCR_TICAB      (UL(1) << 50)
-#define HCR_TID4       (UL(1) << 49)
-#define HCR_FIEN       (UL(1) << 47)
-#define HCR_FWB                (UL(1) << 46)
-#define HCR_NV2                (UL(1) << 45)
-#define HCR_AT         (UL(1) << 44)
-#define HCR_NV1                (UL(1) << 43)
-#define HCR_NV         (UL(1) << 42)
-#define HCR_API                (UL(1) << 41)
-#define HCR_APK                (UL(1) << 40)
-#define HCR_TEA                (UL(1) << 37)
-#define HCR_TERR       (UL(1) << 36)
-#define HCR_TLOR       (UL(1) << 35)
-#define HCR_E2H                (UL(1) << 34)
-#define HCR_ID         (UL(1) << 33)
-#define HCR_CD         (UL(1) << 32)
-#define HCR_RW_SHIFT   31
-#define HCR_RW         (UL(1) << HCR_RW_SHIFT)
-#define HCR_TRVM       (UL(1) << 30)
-#define HCR_HCD                (UL(1) << 29)
-#define HCR_TDZ                (UL(1) << 28)
-#define HCR_TGE                (UL(1) << 27)
-#define HCR_TVM                (UL(1) << 26)
-#define HCR_TTLB       (UL(1) << 25)
-#define HCR_TPU                (UL(1) << 24)
-#define HCR_TPC                (UL(1) << 23) /* HCR_TPCP if FEAT_DPB */
-#define HCR_TSW                (UL(1) << 22)
-#define HCR_TACR       (UL(1) << 21)
-#define HCR_TIDCP      (UL(1) << 20)
-#define HCR_TSC                (UL(1) << 19)
-#define HCR_TID3       (UL(1) << 18)
-#define HCR_TID2       (UL(1) << 17)
-#define HCR_TID1       (UL(1) << 16)
-#define HCR_TID0       (UL(1) << 15)
-#define HCR_TWE                (UL(1) << 14)
-#define HCR_TWI                (UL(1) << 13)
-#define HCR_DC         (UL(1) << 12)
-#define HCR_BSU                (3 << 10)
-#define HCR_BSU_IS     (UL(1) << 10)
-#define HCR_FB         (UL(1) << 9)
-#define HCR_VSE                (UL(1) << 8)
-#define HCR_VI         (UL(1) << 7)
-#define HCR_VF         (UL(1) << 6)
-#define HCR_AMO                (UL(1) << 5)
-#define HCR_IMO                (UL(1) << 4)
-#define HCR_FMO                (UL(1) << 3)
-#define HCR_PTW                (UL(1) << 2)
-#define HCR_SWIO       (UL(1) << 1)
-#define HCR_VM         (UL(1) << 0)
-#define HCR_RES0       ((UL(1) << 48) | (UL(1) << 39))
+/*
+ * Because I'm terribly lazy and that repainting the whole of the KVM
+ * code with the proper names is a pain, use a helper to map the names
+ * inherited from AArch32 with the new fancy nomenclature. One day...
+ */
+#define        __HCR(x)        HCR_EL2_##x
+
+#define HCR_TID5       __HCR(TID5)
+#define HCR_DCT                __HCR(DCT)
+#define HCR_ATA_SHIFT  __HCR(ATA_SHIFT)
+#define HCR_ATA                __HCR(ATA)
+#define HCR_TTLBOS     __HCR(TTLBOS)
+#define HCR_TTLBIS     __HCR(TTLBIS)
+#define HCR_ENSCXT     __HCR(EnSCXT)
+#define HCR_TOCU       __HCR(TOCU)
+#define HCR_AMVOFFEN   __HCR(AMVOFFEN)
+#define HCR_TICAB      __HCR(TICAB)
+#define HCR_TID4       __HCR(TID4)
+#define HCR_FIEN       __HCR(FIEN)
+#define HCR_FWB                __HCR(FWB)
+#define HCR_NV2                __HCR(NV2)
+#define HCR_AT         __HCR(AT)
+#define HCR_NV1                __HCR(NV1)
+#define HCR_NV         __HCR(NV)
+#define HCR_API                __HCR(API)
+#define HCR_APK                __HCR(APK)
+#define HCR_TEA                __HCR(TEA)
+#define HCR_TERR       __HCR(TERR)
+#define HCR_TLOR       __HCR(TLOR)
+#define HCR_E2H                __HCR(E2H)
+#define HCR_ID         __HCR(ID)
+#define HCR_CD         __HCR(CD)
+#define HCR_RW         __HCR(RW)
+#define HCR_TRVM       __HCR(TRVM)
+#define HCR_HCD                __HCR(HCD)
+#define HCR_TDZ                __HCR(TDZ)
+#define HCR_TGE                __HCR(TGE)
+#define HCR_TVM                __HCR(TVM)
+#define HCR_TTLB       __HCR(TTLB)
+#define HCR_TPU                __HCR(TPU)
+#define HCR_TPC                __HCR(TPCP)
+#define HCR_TSW                __HCR(TSW)
+#define HCR_TACR       __HCR(TACR)
+#define HCR_TIDCP      __HCR(TIDCP)
+#define HCR_TSC                __HCR(TSC)
+#define HCR_TID3       __HCR(TID3)
+#define HCR_TID2       __HCR(TID2)
+#define HCR_TID1       __HCR(TID1)
+#define HCR_TID0       __HCR(TID0)
+#define HCR_TWE                __HCR(TWE)
+#define HCR_TWI                __HCR(TWI)
+#define HCR_DC         __HCR(DC)
+#define HCR_BSU                __HCR(BSU)
+#define HCR_BSU_IS     __HCR(BSU_IS)
+#define HCR_FB         __HCR(FB)
+#define HCR_VSE                __HCR(VSE)
+#define HCR_VI         __HCR(VI)
+#define HCR_VF         __HCR(VF)
+#define HCR_AMO                __HCR(AMO)
+#define HCR_IMO                __HCR(IMO)
+#define HCR_FMO                __HCR(FMO)
+#define HCR_PTW                __HCR(PTW)
+#define HCR_SWIO       __HCR(SWIO)
+#define HCR_VM         __HCR(VM)
 
 /*
  * The bits we set in HCR: