Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Aug 2019 17:02:36 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r351034 - in stable/12/sys/arm64: arm64 include
Message-ID:  <201908141702.x7EH2a7j052186@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Wed Aug 14 17:02:36 2019
New Revision: 351034
URL: https://svnweb.freebsd.org/changeset/base/351034

Log:
  MFC r350112, r350241, and r350242:
  
  r350166:
  arm64: Implement HWCAP
  
  Add HWCAP support for arm64.
  defines are the same as in Linux and a userland program can use
  elf_aux_info to get the data.
  We only save the common denominator for all cores in case the
  big and little cluster have different support (this is known to
  exists even if we don't support those SoCs in FreeBSD)
  
  Differential Revision:	https://reviews.freebsd.org/D17137
  
  r350241:
  Ensure the arm64 ID register fields are 64 bit types.
  
  Previously only some of the ID register fields were 64 bit. To allow
  for a script to generate these mark them all 64 bit. To allow for their
  use in assembly we need to use the UINT64_C macro via a new UL macro
  to stop the lines from being too long.
  
  Sponsored by:	DARPA, AFRL
  Differential Revision:	https://reviews.freebsd.org/D20977
  
  r350242:
  As with r350241 use the new UL macro on the main register mask.
  
  Sponsored by:	DARPA, AFRL

Modified:
  stable/12/sys/arm64/arm64/identcpu.c
  stable/12/sys/arm64/include/armreg.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/arm64/arm64/identcpu.c
==============================================================================
--- stable/12/sys/arm64/arm64/identcpu.c	Wed Aug 14 16:55:06 2019	(r351033)
+++ stable/12/sys/arm64/arm64/identcpu.c	Wed Aug 14 17:02:36 2019	(r351034)
@@ -196,7 +196,7 @@ static struct mrs_field id_aa64isar0_fields[] = {
 	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_SM3_SHIFT),
 	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_SHA3_SHIFT),
 	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_RDM_SHIFT),
-	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_ATOMIC_SHIFT),
+	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_Atomic_SHIFT),
 	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_CRC32_SHIFT),
 	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_SHA2_SHIFT),
 	MRS_FIELD(false, MRS_LOWER, ID_AA64ISAR0_SHA1_SHIFT),
@@ -220,7 +220,7 @@ static struct mrs_field id_aa64pfr0_fields[] = {
 	MRS_FIELD(false, MRS_EXACT, ID_AA64PFR0_SVE_SHIFT),
 	MRS_FIELD(false, MRS_EXACT, ID_AA64PFR0_RAS_SHIFT),
 	MRS_FIELD(false, MRS_EXACT, ID_AA64PFR0_GIC_SHIFT),
-	MRS_FIELD(true,  MRS_LOWER, ID_AA64PFR0_ADV_SIMD_SHIFT),
+	MRS_FIELD(true,  MRS_LOWER, ID_AA64PFR0_AdvSIMD_SHIFT),
 	MRS_FIELD(true,  MRS_LOWER, ID_AA64PFR0_FP_SHIFT),
 	MRS_FIELD(false, MRS_EXACT, ID_AA64PFR0_EL3_SHIFT),
 	MRS_FIELD(false, MRS_EXACT, ID_AA64PFR0_EL2_SHIFT),
@@ -230,13 +230,13 @@ static struct mrs_field id_aa64pfr0_fields[] = {
 };
 
 static struct mrs_field id_aa64dfr0_fields[] = {
-	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_PMS_VER_SHIFT),
-	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_CTX_CMPS_SHIFT),
-	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_WRPS_SHIFT),
-	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_BRPS_SHIFT),
-	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_PMU_VER_SHIFT),
-	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_TRACE_VER_SHIFT),
-	MRS_FIELD(false, MRS_EXACT_VAL(0x6), ID_AA64DFR0_DEBUG_VER_SHIFT),
+	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_PMSVer_SHIFT),
+	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_CTX_CMPs_SHIFT),
+	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_WRPs_SHIFT),
+	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_BRPs_SHIFT),
+	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_PMUVer_SHIFT),
+	MRS_FIELD(false, MRS_EXACT, ID_AA64DFR0_TraceVer_SHIFT),
+	MRS_FIELD(false, MRS_EXACT_VAL(0x6), ID_AA64DFR0_DebugVer_SHIFT),
 	MRS_FIELD_END,
 };
 
@@ -400,9 +400,9 @@ identify_cpu_sysinit(void *dummy __unused)
 	/* Create a user visible cpu description with safe values */
 	memset(&user_cpu_desc, 0, sizeof(user_cpu_desc));
 	/* Safe values for these registers */
-	user_cpu_desc.id_aa64pfr0 = ID_AA64PFR0_ADV_SIMD_NONE |
+	user_cpu_desc.id_aa64pfr0 = ID_AA64PFR0_AdvSIMD_NONE |
 	    ID_AA64PFR0_FP_NONE | ID_AA64PFR0_EL1_64 | ID_AA64PFR0_EL0_64;
-	user_cpu_desc.id_aa64dfr0 = ID_AA64DFR0_DEBUG_VER_8;
+	user_cpu_desc.id_aa64dfr0 = ID_AA64DFR0_DebugVer_8;
 
 
 	CPU_FOREACH(cpu) {
@@ -532,10 +532,10 @@ print_cpu_features(u_int cpu)
 			sbuf_printf(sb, "%sUnknown RDM", SEP_STR);
 		}
 
-		switch (ID_AA64ISAR0_ATOMIC(cpu_desc[cpu].id_aa64isar0)) {
-		case ID_AA64ISAR0_ATOMIC_NONE:
+		switch (ID_AA64ISAR0_Atomic(cpu_desc[cpu].id_aa64isar0)) {
+		case ID_AA64ISAR0_Atomic_NONE:
 			break;
-		case ID_AA64ISAR0_ATOMIC_IMPL:
+		case ID_AA64ISAR0_Atomic_IMPL:
 			sbuf_printf(sb, "%sAtomic", SEP_STR);
 			break;
 		default:
@@ -740,13 +740,13 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64PFR0_ADV_SIMD(cpu_desc[cpu].id_aa64pfr0)) {
-		case ID_AA64PFR0_ADV_SIMD_NONE:
+		switch (ID_AA64PFR0_AdvSIMD(cpu_desc[cpu].id_aa64pfr0)) {
+		case ID_AA64PFR0_AdvSIMD_NONE:
 			break;
-		case ID_AA64PFR0_ADV_SIMD_IMPL:
+		case ID_AA64PFR0_AdvSIMD_IMPL:
 			sbuf_printf(sb, "%sAdvSIMD", SEP_STR);
 			break;
-		case ID_AA64PFR0_ADV_SIMD_HP:
+		case ID_AA64PFR0_AdvSIMD_HP:
 			sbuf_printf(sb, "%sAdvSIMD+HP", SEP_STR);
 			break;
 		default:
@@ -841,10 +841,10 @@ print_cpu_features(u_int cpu)
 	if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_MMFR0) != 0) {
 		printed = 0;
 		sbuf_printf(sb, "      Memory Model Features 0 = <");
-		switch (ID_AA64MMFR0_TGRAN4(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_TGRAN4_NONE:
+		switch (ID_AA64MMFR0_TGran4(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_TGran4_NONE:
 			break;
-		case ID_AA64MMFR0_TGRAN4_IMPL:
+		case ID_AA64MMFR0_TGran4_IMPL:
 			sbuf_printf(sb, "%s4k Granule", SEP_STR);
 			break;
 		default:
@@ -852,10 +852,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR0_TGRAN64(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_TGRAN64_NONE:
+		switch (ID_AA64MMFR0_TGran64(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_TGran64_NONE:
 			break;
-		case ID_AA64MMFR0_TGRAN64_IMPL:
+		case ID_AA64MMFR0_TGran64_IMPL:
 			sbuf_printf(sb, "%s64k Granule", SEP_STR);
 			break;
 		default:
@@ -863,10 +863,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR0_TGRAN16(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_TGRAN16_NONE:
+		switch (ID_AA64MMFR0_TGran16(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_TGran16_NONE:
 			break;
-		case ID_AA64MMFR0_TGRAN16_IMPL:
+		case ID_AA64MMFR0_TGran16_IMPL:
 			sbuf_printf(sb, "%s16k Granule", SEP_STR);
 			break;
 		default:
@@ -874,10 +874,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR0_BIGEND_EL0(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_BIGEND_EL0_FIXED:
+		switch (ID_AA64MMFR0_BigEndEL0(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_BigEndEL0_FIXED:
 			break;
-		case ID_AA64MMFR0_BIGEND_EL0_MIXED:
+		case ID_AA64MMFR0_BigEndEL0_MIXED:
 			sbuf_printf(sb, "%sEL0 MixEndian", SEP_STR);
 			break;
 		default:
@@ -885,10 +885,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR0_S_NS_MEM(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_S_NS_MEM_NONE:
+		switch (ID_AA64MMFR0_SNSMem(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_SNSMem_NONE:
 			break;
-		case ID_AA64MMFR0_S_NS_MEM_DISTINCT:
+		case ID_AA64MMFR0_SNSMem_DISTINCT:
 			sbuf_printf(sb, "%sS/NS Mem", SEP_STR);
 			break;
 		default:
@@ -896,10 +896,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR0_BIGEND(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_BIGEND_FIXED:
+		switch (ID_AA64MMFR0_BigEnd(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_BigEnd_FIXED:
 			break;
-		case ID_AA64MMFR0_BIGEND_MIXED:
+		case ID_AA64MMFR0_BigEnd_MIXED:
 			sbuf_printf(sb, "%sMixedEndian", SEP_STR);
 			break;
 		default:
@@ -907,11 +907,11 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR0_ASID_BITS(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_ASID_BITS_8:
+		switch (ID_AA64MMFR0_ASIDBits(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_ASIDBits_8:
 			sbuf_printf(sb, "%s8bit ASID", SEP_STR);
 			break;
-		case ID_AA64MMFR0_ASID_BITS_16:
+		case ID_AA64MMFR0_ASIDBits_16:
 			sbuf_printf(sb, "%s16bit ASID", SEP_STR);
 			break;
 		default:
@@ -919,26 +919,26 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR0_PA_RANGE(cpu_desc[cpu].id_aa64mmfr0)) {
-		case ID_AA64MMFR0_PA_RANGE_4G:
+		switch (ID_AA64MMFR0_PARange(cpu_desc[cpu].id_aa64mmfr0)) {
+		case ID_AA64MMFR0_PARange_4G:
 			sbuf_printf(sb, "%s4GB PA", SEP_STR);
 			break;
-		case ID_AA64MMFR0_PA_RANGE_64G:
+		case ID_AA64MMFR0_PARange_64G:
 			sbuf_printf(sb, "%s64GB PA", SEP_STR);
 			break;
-		case ID_AA64MMFR0_PA_RANGE_1T:
+		case ID_AA64MMFR0_PARange_1T:
 			sbuf_printf(sb, "%s1TB PA", SEP_STR);
 			break;
-		case ID_AA64MMFR0_PA_RANGE_4T:
+		case ID_AA64MMFR0_PARange_4T:
 			sbuf_printf(sb, "%s4TB PA", SEP_STR);
 			break;
-		case ID_AA64MMFR0_PA_RANGE_16T:
+		case ID_AA64MMFR0_PARange_16T:
 			sbuf_printf(sb, "%s16TB PA", SEP_STR);
 			break;
-		case ID_AA64MMFR0_PA_RANGE_256T:
+		case ID_AA64MMFR0_PARange_256T:
 			sbuf_printf(sb, "%s256TB PA", SEP_STR);
 			break;
-		case ID_AA64MMFR0_PA_RANGE_4P:
+		case ID_AA64MMFR0_PARange_4P:
 			sbuf_printf(sb, "%s4PB PA", SEP_STR);
 			break;
 		default:
@@ -970,10 +970,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR1_SPEC_SEI(cpu_desc[cpu].id_aa64mmfr1)) {
-		case ID_AA64MMFR1_SPEC_SEI_NONE:
+		switch (ID_AA64MMFR1_SpecSEI(cpu_desc[cpu].id_aa64mmfr1)) {
+		case ID_AA64MMFR1_SpecSEI_NONE:
 			break;
-		case ID_AA64MMFR1_SPEC_SEI_IMPL:
+		case ID_AA64MMFR1_SpecSEI_IMPL:
 			sbuf_printf(sb, "%sSpecSEI", SEP_STR);
 			break;
 		default:
@@ -1031,10 +1031,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR1_VMIDBITS(cpu_desc[cpu].id_aa64mmfr1)) {
-		case ID_AA64MMFR1_VMIDBITS_8:
+		switch (ID_AA64MMFR1_VMIDBits(cpu_desc[cpu].id_aa64mmfr1)) {
+		case ID_AA64MMFR1_VMIDBits_8:
 			break;
-		case ID_AA64MMFR1_VMIDBITS_16:
+		case ID_AA64MMFR1_VMIDBits_16:
 			sbuf_printf(sb, "%s16 VMID bits", SEP_STR);
 			break;
 		default:
@@ -1092,11 +1092,11 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR2_VA_RANGE(cpu_desc[cpu].id_aa64mmfr2)) {
-		case ID_AA64MMFR2_VA_RANGE_48:
+		switch (ID_AA64MMFR2_VARange(cpu_desc[cpu].id_aa64mmfr2)) {
+		case ID_AA64MMFR2_VARange_48:
 			sbuf_printf(sb, "%s48b VA", SEP_STR);
 			break;
-		case ID_AA64MMFR2_VA_RANGE_52:
+		case ID_AA64MMFR2_VARange_52:
 			sbuf_printf(sb, "%s52b VA", SEP_STR);
 			break;
 		default:
@@ -1137,10 +1137,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64MMFR2_CNP(cpu_desc[cpu].id_aa64mmfr2)) {
-		case ID_AA64MMFR2_CNP_NONE:
+		switch (ID_AA64MMFR2_CnP(cpu_desc[cpu].id_aa64mmfr2)) {
+		case ID_AA64MMFR2_CnP_NONE:
 			break;
-		case ID_AA64MMFR2_CNP_IMPL:
+		case ID_AA64MMFR2_CnP_IMPL:
 			sbuf_printf(sb, "%sCnP", SEP_STR);
 			break;
 		default:
@@ -1160,10 +1160,10 @@ print_cpu_features(u_int cpu)
 	if (cpu == 0 || (cpu_print_regs & PRINT_ID_AA64_DFR0) != 0) {
 		printed = 0;
 		sbuf_printf(sb, "             Debug Features 0 = <");
-		switch(ID_AA64DFR0_PMS_VER(cpu_desc[cpu].id_aa64dfr0)) {
-		case ID_AA64DFR0_PMS_VER_NONE:
+		switch(ID_AA64DFR0_PMSVer(cpu_desc[cpu].id_aa64dfr0)) {
+		case ID_AA64DFR0_PMSVer_NONE:
 			break;
-		case ID_AA64DFR0_PMS_VER_V1:
+		case ID_AA64DFR0_PMSVer_V1:
 			sbuf_printf(sb, "%sSPE v1", SEP_STR);
 			break;
 		default:
@@ -1172,24 +1172,24 @@ print_cpu_features(u_int cpu)
 		}
 
 		sbuf_printf(sb, "%s%lu CTX Breakpoints", SEP_STR,
-		    ID_AA64DFR0_CTX_CMPS(cpu_desc[cpu].id_aa64dfr0));
+		    ID_AA64DFR0_CTX_CMPs(cpu_desc[cpu].id_aa64dfr0));
 
 		sbuf_printf(sb, "%s%lu Watchpoints", SEP_STR,
-		    ID_AA64DFR0_WRPS(cpu_desc[cpu].id_aa64dfr0));
+		    ID_AA64DFR0_WRPs(cpu_desc[cpu].id_aa64dfr0));
 
 		sbuf_printf(sb, "%s%lu Breakpoints", SEP_STR,
-		    ID_AA64DFR0_BRPS(cpu_desc[cpu].id_aa64dfr0));
+		    ID_AA64DFR0_BRPs(cpu_desc[cpu].id_aa64dfr0));
 
-		switch (ID_AA64DFR0_PMU_VER(cpu_desc[cpu].id_aa64dfr0)) {
-		case ID_AA64DFR0_PMU_VER_NONE:
+		switch (ID_AA64DFR0_PMUVer(cpu_desc[cpu].id_aa64dfr0)) {
+		case ID_AA64DFR0_PMUVer_NONE:
 			break;
-		case ID_AA64DFR0_PMU_VER_3:
+		case ID_AA64DFR0_PMUVer_3:
 			sbuf_printf(sb, "%sPMUv3", SEP_STR);
 			break;
-		case ID_AA64DFR0_PMU_VER_3_1:
+		case ID_AA64DFR0_PMUVer_3_1:
 			sbuf_printf(sb, "%sPMUv3+16 bit evtCount", SEP_STR);
 			break;
-		case ID_AA64DFR0_PMU_VER_IMPL:
+		case ID_AA64DFR0_PMUVer_IMPL:
 			sbuf_printf(sb, "%sImplementation defined PMU", SEP_STR);
 			break;
 		default:
@@ -1197,10 +1197,10 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64DFR0_TRACE_VER(cpu_desc[cpu].id_aa64dfr0)) {
-		case ID_AA64DFR0_TRACE_VER_NONE:
+		switch (ID_AA64DFR0_TraceVer(cpu_desc[cpu].id_aa64dfr0)) {
+		case ID_AA64DFR0_TraceVer_NONE:
 			break;
-		case ID_AA64DFR0_TRACE_VER_IMPL:
+		case ID_AA64DFR0_TraceVer_IMPL:
 			sbuf_printf(sb, "%sTrace", SEP_STR);
 			break;
 		default:
@@ -1208,14 +1208,14 @@ print_cpu_features(u_int cpu)
 			break;
 		}
 
-		switch (ID_AA64DFR0_DEBUG_VER(cpu_desc[cpu].id_aa64dfr0)) {
-		case ID_AA64DFR0_DEBUG_VER_8:
+		switch (ID_AA64DFR0_DebugVer(cpu_desc[cpu].id_aa64dfr0)) {
+		case ID_AA64DFR0_DebugVer_8:
 			sbuf_printf(sb, "%sDebug v8", SEP_STR);
 			break;
-		case ID_AA64DFR0_DEBUG_VER_8_VHE:
+		case ID_AA64DFR0_DebugVer_8_VHE:
 			sbuf_printf(sb, "%sDebug v8+VHE", SEP_STR);
 			break;
-		case ID_AA64DFR0_DEBUG_VER_8_2:
+		case ID_AA64DFR0_DebugVer_8_2:
 			sbuf_printf(sb, "%sDebug v8.2", SEP_STR);
 			break;
 		default:

Modified: stable/12/sys/arm64/include/armreg.h
==============================================================================
--- stable/12/sys/arm64/include/armreg.h	Wed Aug 14 16:55:06 2019	(r351033)
+++ stable/12/sys/arm64/include/armreg.h	Wed Aug 14 17:02:36 2019	(r351034)
@@ -43,6 +43,8 @@
 #define	WRITE_SPECIALREG(reg, val)					\
 	__asm __volatile("msr	" __STRING(reg) ", %0" : : "r"((uint64_t)val))
 
+#define	UL(x)	UINT64_C(x)
+
 /* CNTHCTL_EL2 - Counter-timer Hypervisor Control register */
 #define	CNTHCTL_EVNTI_MASK	(0xf << 4) /* Bit to trigger event stream */
 #define	CNTHCTL_EVNTDIR		(1 << 3) /* Control transition trigger bit */
@@ -174,326 +176,326 @@
 #define	ICC_SRE_EL2_EN		(1U << 3)
 
 /* ID_AA64DFR0_EL1 */
-#define	ID_AA64DFR0_MASK		0x0000000ff0f0fffful
-#define	ID_AA64DFR0_DEBUG_VER_SHIFT	0
-#define	ID_AA64DFR0_DEBUG_VER_MASK	(0xf << ID_AA64DFR0_DEBUG_VER_SHIFT)
-#define	ID_AA64DFR0_DEBUG_VER(x)	((x) & ID_AA64DFR0_DEBUG_VER_MASK)
-#define	 ID_AA64DFR0_DEBUG_VER_8	(0x6 << ID_AA64DFR0_DEBUG_VER_SHIFT)
-#define	 ID_AA64DFR0_DEBUG_VER_8_VHE	(0x7 << ID_AA64DFR0_DEBUG_VER_SHIFT)
-#define	 ID_AA64DFR0_DEBUG_VER_8_2	(0x8 << ID_AA64DFR0_DEBUG_VER_SHIFT)
-#define	ID_AA64DFR0_TRACE_VER_SHIFT	4
-#define	ID_AA64DFR0_TRACE_VER_MASK	(0xf << ID_AA64DFR0_TRACE_VER_SHIFT)
-#define	ID_AA64DFR0_TRACE_VER(x)	((x) & ID_AA64DFR0_TRACE_VER_MASK)
-#define	 ID_AA64DFR0_TRACE_VER_NONE	(0x0 << ID_AA64DFR0_TRACE_VER_SHIFT)
-#define	 ID_AA64DFR0_TRACE_VER_IMPL	(0x1 << ID_AA64DFR0_TRACE_VER_SHIFT)
-#define	ID_AA64DFR0_PMU_VER_SHIFT	8
-#define	ID_AA64DFR0_PMU_VER_MASK	(0xf << ID_AA64DFR0_PMU_VER_SHIFT)
-#define	ID_AA64DFR0_PMU_VER(x)		((x) & ID_AA64DFR0_PMU_VER_MASK)
-#define	 ID_AA64DFR0_PMU_VER_NONE	(0x0 << ID_AA64DFR0_PMU_VER_SHIFT)
-#define	 ID_AA64DFR0_PMU_VER_3		(0x1 << ID_AA64DFR0_PMU_VER_SHIFT)
-#define	 ID_AA64DFR0_PMU_VER_3_1	(0x4 << ID_AA64DFR0_PMU_VER_SHIFT)
-#define	 ID_AA64DFR0_PMU_VER_IMPL	(0xf << ID_AA64DFR0_PMU_VER_SHIFT)
-#define	ID_AA64DFR0_BRPS_SHIFT		12
-#define	ID_AA64DFR0_BRPS_MASK		(0xf << ID_AA64DFR0_BRPS_SHIFT)
-#define	ID_AA64DFR0_BRPS(x)		\
-    ((((x) >> ID_AA64DFR0_BRPS_SHIFT) & 0xf) + 1)
-#define	ID_AA64DFR0_WRPS_SHIFT		20
-#define	ID_AA64DFR0_WRPS_MASK		(0xf << ID_AA64DFR0_WRPS_SHIFT)
-#define	ID_AA64DFR0_WRPS(x)		\
-    ((((x) >> ID_AA64DFR0_WRPS_SHIFT) & 0xf) + 1)
-#define	ID_AA64DFR0_CTX_CMPS_SHIFT	28
-#define	ID_AA64DFR0_CTX_CMPS_MASK	(0xf << ID_AA64DFR0_CTX_CMPS_SHIFT)
-#define	ID_AA64DFR0_CTX_CMPS(x)		\
-    ((((x) >> ID_AA64DFR0_CTX_CMPS_SHIFT) & 0xf) + 1)
-#define	ID_AA64DFR0_PMS_VER_SHIFT	32
-#define	ID_AA64DFR0_PMS_VER_MASK	(0xful << ID_AA64DFR0_PMS_VER_SHIFT)
-#define	ID_AA64DFR0_PMS_VER(x)	((x) & ID_AA64DFR0_PMS_VER_MASK)
-#define	 ID_AA64DFR0_PMS_VER_NONE	(0x0ul << ID_AA64DFR0_PMS_VER_SHIFT)
-#define	 ID_AA64DFR0_PMS_VER_V1		(0x1ul << ID_AA64DFR0_PMS_VER_SHIFT)
+#define	ID_AA64DFR0_MASK		UL(0x0000000ff0f0ffff)
+#define	ID_AA64DFR0_DebugVer_SHIFT	0
+#define	ID_AA64DFR0_DebugVer_MASK	(UL(0xf) << ID_AA64DFR0_DebugVer_SHIFT)
+#define	ID_AA64DFR0_DebugVer(x)		((x) & ID_AA64DFR0_DebugVer_MASK)
+#define	 ID_AA64DFR0_DebugVer_8		(UL(0x6) << ID_AA64DFR0_DebugVer_SHIFT)
+#define	 ID_AA64DFR0_DebugVer_8_VHE	(UL(0x7) << ID_AA64DFR0_DebugVer_SHIFT)
+#define	 ID_AA64DFR0_DebugVer_8_2	(UL(0x8) << ID_AA64DFR0_DebugVer_SHIFT)
+#define	ID_AA64DFR0_TraceVer_SHIFT	4
+#define	ID_AA64DFR0_TraceVer_MASK	(UL(0xf) << ID_AA64DFR0_TraceVer_SHIFT)
+#define	ID_AA64DFR0_TraceVer(x)		((x) & ID_AA64DFR0_TraceVer_MASK)
+#define	 ID_AA64DFR0_TraceVer_NONE	(UL(0x0) << ID_AA64DFR0_TraceVer_SHIFT)
+#define	 ID_AA64DFR0_TraceVer_IMPL	(UL(0x1) << ID_AA64DFR0_TraceVer_SHIFT)
+#define	ID_AA64DFR0_PMUVer_SHIFT	8
+#define	ID_AA64DFR0_PMUVer_MASK		(UL(0xf) << ID_AA64DFR0_PMUVer_SHIFT)
+#define	ID_AA64DFR0_PMUVer(x)		((x) & ID_AA64DFR0_PMUVer_MASK)
+#define	 ID_AA64DFR0_PMUVer_NONE	(UL(0x0) << ID_AA64DFR0_PMUVer_SHIFT)
+#define	 ID_AA64DFR0_PMUVer_3		(UL(0x1) << ID_AA64DFR0_PMUVer_SHIFT)
+#define	 ID_AA64DFR0_PMUVer_3_1		(UL(0x4) << ID_AA64DFR0_PMUVer_SHIFT)
+#define	 ID_AA64DFR0_PMUVer_IMPL	(UL(0xf) << ID_AA64DFR0_PMUVer_SHIFT)
+#define	ID_AA64DFR0_BRPs_SHIFT		12
+#define	ID_AA64DFR0_BRPs_MASK		(UL(0xf) << ID_AA64DFR0_BRPs_SHIFT)
+#define	ID_AA64DFR0_BRPs(x)		\
+    ((((x) >> ID_AA64DFR0_BRPs_SHIFT) & 0xf) + 1)
+#define	ID_AA64DFR0_WRPs_SHIFT		20
+#define	ID_AA64DFR0_WRPs_MASK		(UL(0xf) << ID_AA64DFR0_WRPs_SHIFT)
+#define	ID_AA64DFR0_WRPs(x)		\
+    ((((x) >> ID_AA64DFR0_WRPs_SHIFT) & 0xf) + 1)
+#define	ID_AA64DFR0_CTX_CMPs_SHIFT	28
+#define	ID_AA64DFR0_CTX_CMPs_MASK	(UL(0xf) << ID_AA64DFR0_CTX_CMPs_SHIFT)
+#define	ID_AA64DFR0_CTX_CMPs(x)		\
+    ((((x) >> ID_AA64DFR0_CTX_CMPs_SHIFT) & 0xf) + 1)
+#define	ID_AA64DFR0_PMSVer_SHIFT	32
+#define	ID_AA64DFR0_PMSVer_MASK		(UL(0xf) << ID_AA64DFR0_PMSVer_SHIFT)
+#define	ID_AA64DFR0_PMSVer(x)		((x) & ID_AA64DFR0_PMSVer_MASK)
+#define	 ID_AA64DFR0_PMSVer_NONE	(UL(0x0) << ID_AA64DFR0_PMSVer_SHIFT)
+#define	 ID_AA64DFR0_PMSVer_V1		(UL(0x1) << ID_AA64DFR0_PMSVer_SHIFT)
 
 /* ID_AA64ISAR0_EL1 */
-#define	ID_AA64ISAR0_MASK		0x0000fffff0fffff0ul
+#define	ID_AA64ISAR0_MASK		UL(0x0000fffff0fffff0)
 #define	ID_AA64ISAR0_AES_SHIFT		4
-#define	ID_AA64ISAR0_AES_MASK		(0xf << ID_AA64ISAR0_AES_SHIFT)
+#define	ID_AA64ISAR0_AES_MASK		(UL(0xf) << ID_AA64ISAR0_AES_SHIFT)
 #define	ID_AA64ISAR0_AES(x)		((x) & ID_AA64ISAR0_AES_MASK)
-#define	 ID_AA64ISAR0_AES_NONE		(0x0 << ID_AA64ISAR0_AES_SHIFT)
-#define	 ID_AA64ISAR0_AES_BASE		(0x1 << ID_AA64ISAR0_AES_SHIFT)
-#define	 ID_AA64ISAR0_AES_PMULL		(0x2 << ID_AA64ISAR0_AES_SHIFT)
+#define	 ID_AA64ISAR0_AES_NONE		(UL(0x0) << ID_AA64ISAR0_AES_SHIFT)
+#define	 ID_AA64ISAR0_AES_BASE		(UL(0x1) << ID_AA64ISAR0_AES_SHIFT)
+#define	 ID_AA64ISAR0_AES_PMULL		(UL(0x2) << ID_AA64ISAR0_AES_SHIFT)
 #define	ID_AA64ISAR0_SHA1_SHIFT		8
-#define	ID_AA64ISAR0_SHA1_MASK		(0xf << ID_AA64ISAR0_SHA1_SHIFT)
+#define	ID_AA64ISAR0_SHA1_MASK		(UL(0xf) << ID_AA64ISAR0_SHA1_SHIFT)
 #define	ID_AA64ISAR0_SHA1(x)		((x) & ID_AA64ISAR0_SHA1_MASK)
-#define	 ID_AA64ISAR0_SHA1_NONE		(0x0 << ID_AA64ISAR0_SHA1_SHIFT)
-#define	 ID_AA64ISAR0_SHA1_BASE		(0x1 << ID_AA64ISAR0_SHA1_SHIFT)
+#define	 ID_AA64ISAR0_SHA1_NONE		(UL(0x0) << ID_AA64ISAR0_SHA1_SHIFT)
+#define	 ID_AA64ISAR0_SHA1_BASE		(UL(0x1) << ID_AA64ISAR0_SHA1_SHIFT)
 #define	ID_AA64ISAR0_SHA2_SHIFT		12
-#define	ID_AA64ISAR0_SHA2_MASK		(0xf << ID_AA64ISAR0_SHA2_SHIFT)
+#define	ID_AA64ISAR0_SHA2_MASK		(UL(0xf) << ID_AA64ISAR0_SHA2_SHIFT)
 #define	ID_AA64ISAR0_SHA2(x)		((x) & ID_AA64ISAR0_SHA2_MASK)
-#define	 ID_AA64ISAR0_SHA2_NONE		(0x0 << ID_AA64ISAR0_SHA2_SHIFT)
-#define	 ID_AA64ISAR0_SHA2_BASE		(0x1 << ID_AA64ISAR0_SHA2_SHIFT)
-#define	 ID_AA64ISAR0_SHA2_512		(0x2 << ID_AA64ISAR0_SHA2_SHIFT)
+#define	 ID_AA64ISAR0_SHA2_NONE		(UL(0x0) << ID_AA64ISAR0_SHA2_SHIFT)
+#define	 ID_AA64ISAR0_SHA2_BASE		(UL(0x1) << ID_AA64ISAR0_SHA2_SHIFT)
+#define	 ID_AA64ISAR0_SHA2_512		(UL(0x2) << ID_AA64ISAR0_SHA2_SHIFT)
 #define	ID_AA64ISAR0_CRC32_SHIFT	16
-#define	ID_AA64ISAR0_CRC32_MASK		(0xf << ID_AA64ISAR0_CRC32_SHIFT)
+#define	ID_AA64ISAR0_CRC32_MASK		(UL(0xf) << ID_AA64ISAR0_CRC32_SHIFT)
 #define	ID_AA64ISAR0_CRC32(x)		((x) & ID_AA64ISAR0_CRC32_MASK)
-#define	 ID_AA64ISAR0_CRC32_NONE	(0x0 << ID_AA64ISAR0_CRC32_SHIFT)
-#define	 ID_AA64ISAR0_CRC32_BASE	(0x1 << ID_AA64ISAR0_CRC32_SHIFT)
-#define	ID_AA64ISAR0_ATOMIC_SHIFT	20
-#define	ID_AA64ISAR0_ATOMIC_MASK	(0xf << ID_AA64ISAR0_ATOMIC_SHIFT)
-#define	ID_AA64ISAR0_ATOMIC(x)		((x) & ID_AA64ISAR0_ATOMIC_MASK)
-#define	 ID_AA64ISAR0_ATOMIC_NONE	(0x0 << ID_AA64ISAR0_ATOMIC_SHIFT)
-#define	 ID_AA64ISAR0_ATOMIC_IMPL	(0x2 << ID_AA64ISAR0_ATOMIC_SHIFT)
+#define	 ID_AA64ISAR0_CRC32_NONE	(UL(0x0) << ID_AA64ISAR0_CRC32_SHIFT)
+#define	 ID_AA64ISAR0_CRC32_BASE	(UL(0x1) << ID_AA64ISAR0_CRC32_SHIFT)
+#define	ID_AA64ISAR0_Atomic_SHIFT	20
+#define	ID_AA64ISAR0_Atomic_MASK	(UL(0xf) << ID_AA64ISAR0_Atomic_SHIFT)
+#define	ID_AA64ISAR0_Atomic(x)		((x) & ID_AA64ISAR0_Atomic_MASK)
+#define	 ID_AA64ISAR0_Atomic_NONE	(UL(0x0) << ID_AA64ISAR0_Atomic_SHIFT)
+#define	 ID_AA64ISAR0_Atomic_IMPL	(UL(0x2) << ID_AA64ISAR0_Atomic_SHIFT)
 #define	ID_AA64ISAR0_RDM_SHIFT		28
-#define	ID_AA64ISAR0_RDM_MASK		(0xf << ID_AA64ISAR0_RDM_SHIFT)
+#define	ID_AA64ISAR0_RDM_MASK		(UL(0xf) << ID_AA64ISAR0_RDM_SHIFT)
 #define	ID_AA64ISAR0_RDM(x)		((x) & ID_AA64ISAR0_RDM_MASK)
-#define	 ID_AA64ISAR0_RDM_NONE		(0x0 << ID_AA64ISAR0_RDM_SHIFT)
-#define	 ID_AA64ISAR0_RDM_IMPL		(0x1 << ID_AA64ISAR0_RDM_SHIFT)
+#define	 ID_AA64ISAR0_RDM_NONE		(UL(0x0) << ID_AA64ISAR0_RDM_SHIFT)
+#define	 ID_AA64ISAR0_RDM_IMPL		(UL(0x1) << ID_AA64ISAR0_RDM_SHIFT)
 #define	ID_AA64ISAR0_SHA3_SHIFT		32
-#define	ID_AA64ISAR0_SHA3_MASK		(0xful << ID_AA64ISAR0_SHA3_SHIFT)
+#define	ID_AA64ISAR0_SHA3_MASK		(UL(0xf) << ID_AA64ISAR0_SHA3_SHIFT)
 #define	ID_AA64ISAR0_SHA3(x)		((x) & ID_AA64ISAR0_SHA3_MASK)
-#define	 ID_AA64ISAR0_SHA3_NONE		(0x0ul << ID_AA64ISAR0_SHA3_SHIFT)
-#define	 ID_AA64ISAR0_SHA3_IMPL		(0x1ul << ID_AA64ISAR0_SHA3_SHIFT)
+#define	 ID_AA64ISAR0_SHA3_NONE		(UL(0x0) << ID_AA64ISAR0_SHA3_SHIFT)
+#define	 ID_AA64ISAR0_SHA3_IMPL		(UL(0x1) << ID_AA64ISAR0_SHA3_SHIFT)
 #define	ID_AA64ISAR0_SM3_SHIFT		36
-#define	ID_AA64ISAR0_SM3_MASK		(0xful << ID_AA64ISAR0_SM3_SHIFT)
+#define	ID_AA64ISAR0_SM3_MASK		(UL(0xf) << ID_AA64ISAR0_SM3_SHIFT)
 #define	ID_AA64ISAR0_SM3(x)		((x) & ID_AA64ISAR0_SM3_MASK)
-#define	 ID_AA64ISAR0_SM3_NONE		(0x0ul << ID_AA64ISAR0_SM3_SHIFT)
-#define	 ID_AA64ISAR0_SM3_IMPL		(0x1ul << ID_AA64ISAR0_SM3_SHIFT)
+#define	 ID_AA64ISAR0_SM3_NONE		(UL(0x0) << ID_AA64ISAR0_SM3_SHIFT)
+#define	 ID_AA64ISAR0_SM3_IMPL		(UL(0x1) << ID_AA64ISAR0_SM3_SHIFT)
 #define	ID_AA64ISAR0_SM4_SHIFT		40
-#define	ID_AA64ISAR0_SM4_MASK		(0xful << ID_AA64ISAR0_SM4_SHIFT)
+#define	ID_AA64ISAR0_SM4_MASK		(UL(0xf) << ID_AA64ISAR0_SM4_SHIFT)
 #define	ID_AA64ISAR0_SM4(x)		((x) & ID_AA64ISAR0_SM4_MASK)
-#define	 ID_AA64ISAR0_SM4_NONE		(0x0ul << ID_AA64ISAR0_SM4_SHIFT)
-#define	 ID_AA64ISAR0_SM4_IMPL		(0x1ul << ID_AA64ISAR0_SM4_SHIFT)
+#define	 ID_AA64ISAR0_SM4_NONE		(UL(0x0) << ID_AA64ISAR0_SM4_SHIFT)
+#define	 ID_AA64ISAR0_SM4_IMPL		(UL(0x1) << ID_AA64ISAR0_SM4_SHIFT)
 #define	ID_AA64ISAR0_DP_SHIFT		44
-#define	ID_AA64ISAR0_DP_MASK		(0xful << ID_AA64ISAR0_DP_SHIFT)
+#define	ID_AA64ISAR0_DP_MASK		(UL(0xf) << ID_AA64ISAR0_DP_SHIFT)
 #define	ID_AA64ISAR0_DP(x)		((x) & ID_AA64ISAR0_DP_MASK)
-#define	 ID_AA64ISAR0_DP_NONE		(0x0ul << ID_AA64ISAR0_DP_SHIFT)
-#define	 ID_AA64ISAR0_DP_IMPL		(0x1ul << ID_AA64ISAR0_DP_SHIFT)
+#define	 ID_AA64ISAR0_DP_NONE		(UL(0x0) << ID_AA64ISAR0_DP_SHIFT)
+#define	 ID_AA64ISAR0_DP_IMPL		(UL(0x1) << ID_AA64ISAR0_DP_SHIFT)
 
 /* ID_AA64ISAR1_EL1 */
-#define	ID_AA64ISAR1_MASK		0xffffffff
+#define	ID_AA64ISAR1_MASK		UL(0x00000000ffffffff)
 #define	ID_AA64ISAR1_DPB_SHIFT		0
-#define	ID_AA64ISAR1_DPB_MASK		(0xf << ID_AA64ISAR1_DPB_SHIFT)
+#define	ID_AA64ISAR1_DPB_MASK		(UL(0xf) << ID_AA64ISAR1_DPB_SHIFT)
 #define	ID_AA64ISAR1_DPB(x)		((x) & ID_AA64ISAR1_DPB_MASK)
-#define	 ID_AA64ISAR1_DPB_NONE		(0x0 << ID_AA64ISAR1_DPB_SHIFT)
-#define	 ID_AA64ISAR1_DPB_IMPL		(0x1 << ID_AA64ISAR1_DPB_SHIFT)
+#define	 ID_AA64ISAR1_DPB_NONE		(UL(0x0) << ID_AA64ISAR1_DPB_SHIFT)
+#define	 ID_AA64ISAR1_DPB_IMPL		(UL(0x1) << ID_AA64ISAR1_DPB_SHIFT)
 #define	ID_AA64ISAR1_APA_SHIFT		4
-#define	ID_AA64ISAR1_APA_MASK		(0xf << ID_AA64ISAR1_APA_SHIFT)
+#define	ID_AA64ISAR1_APA_MASK		(UL(0xf) << ID_AA64ISAR1_APA_SHIFT)
 #define	ID_AA64ISAR1_APA(x)		((x) & ID_AA64ISAR1_APA_MASK)
-#define	 ID_AA64ISAR1_APA_NONE		(0x0 << ID_AA64ISAR1_APA_SHIFT)
-#define	 ID_AA64ISAR1_APA_IMPL		(0x1 << ID_AA64ISAR1_APA_SHIFT)
+#define	 ID_AA64ISAR1_APA_NONE		(UL(0x0) << ID_AA64ISAR1_APA_SHIFT)
+#define	 ID_AA64ISAR1_APA_IMPL		(UL(0x1) << ID_AA64ISAR1_APA_SHIFT)
 #define	ID_AA64ISAR1_API_SHIFT		8
-#define	ID_AA64ISAR1_API_MASK		(0xf << ID_AA64ISAR1_API_SHIFT)
+#define	ID_AA64ISAR1_API_MASK		(UL(0xf) << ID_AA64ISAR1_API_SHIFT)
 #define	ID_AA64ISAR1_API(x)		((x) & ID_AA64ISAR1_API_MASK)
-#define	 ID_AA64ISAR1_API_NONE		(0x0 << ID_AA64ISAR1_API_SHIFT)
-#define	 ID_AA64ISAR1_API_IMPL		(0x1 << ID_AA64ISAR1_API_SHIFT)
+#define	 ID_AA64ISAR1_API_NONE		(UL(0x0) << ID_AA64ISAR1_API_SHIFT)
+#define	 ID_AA64ISAR1_API_IMPL		(UL(0x1) << ID_AA64ISAR1_API_SHIFT)
 #define	ID_AA64ISAR1_JSCVT_SHIFT	12
-#define	ID_AA64ISAR1_JSCVT_MASK		(0xf << ID_AA64ISAR1_JSCVT_SHIFT)
+#define	ID_AA64ISAR1_JSCVT_MASK		(UL(0xf) << ID_AA64ISAR1_JSCVT_SHIFT)
 #define	ID_AA64ISAR1_JSCVT(x)		((x) & ID_AA64ISAR1_JSCVT_MASK)
-#define	 ID_AA64ISAR1_JSCVT_NONE	(0x0 << ID_AA64ISAR1_JSCVT_SHIFT)
-#define	 ID_AA64ISAR1_JSCVT_IMPL	(0x1 << ID_AA64ISAR1_JSCVT_SHIFT)
+#define	 ID_AA64ISAR1_JSCVT_NONE	(UL(0x0) << ID_AA64ISAR1_JSCVT_SHIFT)
+#define	 ID_AA64ISAR1_JSCVT_IMPL	(UL(0x1) << ID_AA64ISAR1_JSCVT_SHIFT)
 #define	ID_AA64ISAR1_FCMA_SHIFT		16
-#define	ID_AA64ISAR1_FCMA_MASK		(0xf << ID_AA64ISAR1_FCMA_SHIFT)
+#define	ID_AA64ISAR1_FCMA_MASK		(UL(0xf) << ID_AA64ISAR1_FCMA_SHIFT)
 #define	ID_AA64ISAR1_FCMA(x)		((x) & ID_AA64ISAR1_FCMA_MASK)
-#define	 ID_AA64ISAR1_FCMA_NONE		(0x0 << ID_AA64ISAR1_FCMA_SHIFT)
-#define	 ID_AA64ISAR1_FCMA_IMPL		(0x1 << ID_AA64ISAR1_FCMA_SHIFT)
+#define	 ID_AA64ISAR1_FCMA_NONE		(UL(0x0) << ID_AA64ISAR1_FCMA_SHIFT)
+#define	 ID_AA64ISAR1_FCMA_IMPL		(UL(0x1) << ID_AA64ISAR1_FCMA_SHIFT)
 #define	ID_AA64ISAR1_LRCPC_SHIFT	20
-#define	ID_AA64ISAR1_LRCPC_MASK		(0xf << ID_AA64ISAR1_LRCPC_SHIFT)
+#define	ID_AA64ISAR1_LRCPC_MASK		(UL(0xf) << ID_AA64ISAR1_LRCPC_SHIFT)
 #define	ID_AA64ISAR1_LRCPC(x)		((x) & ID_AA64ISAR1_LRCPC_MASK)
-#define	 ID_AA64ISAR1_LRCPC_NONE	(0x0 << ID_AA64ISAR1_LRCPC_SHIFT)
-#define	 ID_AA64ISAR1_LRCPC_IMPL	(0x1 << ID_AA64ISAR1_LRCPC_SHIFT)
+#define	 ID_AA64ISAR1_LRCPC_NONE	(UL(0x0) << ID_AA64ISAR1_LRCPC_SHIFT)
+#define	 ID_AA64ISAR1_LRCPC_IMPL	(UL(0x1) << ID_AA64ISAR1_LRCPC_SHIFT)
 #define	ID_AA64ISAR1_GPA_SHIFT		24
-#define	ID_AA64ISAR1_GPA_MASK		(0xf << ID_AA64ISAR1_GPA_SHIFT)
+#define	ID_AA64ISAR1_GPA_MASK		(UL(0xf) << ID_AA64ISAR1_GPA_SHIFT)
 #define	ID_AA64ISAR1_GPA(x)		((x) & ID_AA64ISAR1_GPA_MASK)
-#define	 ID_AA64ISAR1_GPA_NONE		(0x0 << ID_AA64ISAR1_GPA_SHIFT)
-#define	 ID_AA64ISAR1_GPA_IMPL		(0x1 << ID_AA64ISAR1_GPA_SHIFT)
+#define	 ID_AA64ISAR1_GPA_NONE		(UL(0x0) << ID_AA64ISAR1_GPA_SHIFT)
+#define	 ID_AA64ISAR1_GPA_IMPL		(UL(0x1) << ID_AA64ISAR1_GPA_SHIFT)
 #define	ID_AA64ISAR1_GPI_SHIFT		28
-#define	ID_AA64ISAR1_GPI_MASK		(0xf << ID_AA64ISAR1_GPI_SHIFT)
+#define	ID_AA64ISAR1_GPI_MASK		(UL(0xf) << ID_AA64ISAR1_GPI_SHIFT)
 #define	ID_AA64ISAR1_GPI(x)		((x) & ID_AA64ISAR1_GPI_MASK)
-#define	 ID_AA64ISAR1_GPI_NONE		(0x0 << ID_AA64ISAR1_GPI_SHIFT)
-#define	 ID_AA64ISAR1_GPI_IMPL		(0x1 << ID_AA64ISAR1_GPI_SHIFT)
+#define	 ID_AA64ISAR1_GPI_NONE		(UL(0x0) << ID_AA64ISAR1_GPI_SHIFT)
+#define	 ID_AA64ISAR1_GPI_IMPL		(UL(0x1) << ID_AA64ISAR1_GPI_SHIFT)
 
 /* ID_AA64MMFR0_EL1 */
-#define	ID_AA64MMFR0_MASK		0xffffffff
-#define	ID_AA64MMFR0_PA_RANGE_SHIFT	0
-#define	ID_AA64MMFR0_PA_RANGE_MASK	(0xf << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	ID_AA64MMFR0_PA_RANGE(x)	((x) & ID_AA64MMFR0_PA_RANGE_MASK)
-#define	 ID_AA64MMFR0_PA_RANGE_4G	(0x0 << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	 ID_AA64MMFR0_PA_RANGE_64G	(0x1 << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	 ID_AA64MMFR0_PA_RANGE_1T	(0x2 << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	 ID_AA64MMFR0_PA_RANGE_4T	(0x3 << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	 ID_AA64MMFR0_PA_RANGE_16T	(0x4 << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	 ID_AA64MMFR0_PA_RANGE_256T	(0x5 << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	 ID_AA64MMFR0_PA_RANGE_4P	(0x6 << ID_AA64MMFR0_PA_RANGE_SHIFT)
-#define	ID_AA64MMFR0_ASID_BITS_SHIFT	4
-#define	ID_AA64MMFR0_ASID_BITS_MASK	(0xf << ID_AA64MMFR0_ASID_BITS_SHIFT)
-#define	ID_AA64MMFR0_ASID_BITS(x)	((x) & ID_AA64MMFR0_ASID_BITS_MASK)
-#define	 ID_AA64MMFR0_ASID_BITS_8	(0x0 << ID_AA64MMFR0_ASID_BITS_SHIFT)
-#define	 ID_AA64MMFR0_ASID_BITS_16	(0x2 << ID_AA64MMFR0_ASID_BITS_SHIFT)
-#define	ID_AA64MMFR0_BIGEND_SHIFT	8
-#define	ID_AA64MMFR0_BIGEND_MASK	(0xf << ID_AA64MMFR0_BIGEND_SHIFT)
-#define	ID_AA64MMFR0_BIGEND(x)		((x) & ID_AA64MMFR0_BIGEND_MASK)
-#define	 ID_AA64MMFR0_BIGEND_FIXED	(0x0 << ID_AA64MMFR0_BIGEND_SHIFT)
-#define	 ID_AA64MMFR0_BIGEND_MIXED	(0x1 << ID_AA64MMFR0_BIGEND_SHIFT)
-#define	ID_AA64MMFR0_S_NS_MEM_SHIFT	12
-#define	ID_AA64MMFR0_S_NS_MEM_MASK	(0xf << ID_AA64MMFR0_S_NS_MEM_SHIFT)
-#define	ID_AA64MMFR0_S_NS_MEM(x)	((x) & ID_AA64MMFR0_S_NS_MEM_MASK)
-#define	 ID_AA64MMFR0_S_NS_MEM_NONE	(0x0 << ID_AA64MMFR0_S_NS_MEM_SHIFT)
-#define	 ID_AA64MMFR0_S_NS_MEM_DISTINCT	(0x1 << ID_AA64MMFR0_S_NS_MEM_SHIFT)
-#define	ID_AA64MMFR0_BIGEND_EL0_SHIFT	16
-#define	ID_AA64MMFR0_BIGEND_EL0_MASK	(0xf << ID_AA64MMFR0_BIGEND_EL0_SHIFT)
-#define	ID_AA64MMFR0_BIGEND_EL0(x)	((x) & ID_AA64MMFR0_BIGEND_EL0_MASK)
-#define	 ID_AA64MMFR0_BIGEND_EL0_FIXED	(0x0 << ID_AA64MMFR0_BIGEND_EL0_SHIFT)
-#define	 ID_AA64MMFR0_BIGEND_EL0_MIXED	(0x1 << ID_AA64MMFR0_BIGEND_EL0_SHIFT)
-#define	ID_AA64MMFR0_TGRAN16_SHIFT	20
-#define	ID_AA64MMFR0_TGRAN16_MASK	(0xf << ID_AA64MMFR0_TGRAN16_SHIFT)
-#define	ID_AA64MMFR0_TGRAN16(x)		((x) & ID_AA64MMFR0_TGRAN16_MASK)
-#define	 ID_AA64MMFR0_TGRAN16_NONE	(0x0 << ID_AA64MMFR0_TGRAN16_SHIFT)
-#define	 ID_AA64MMFR0_TGRAN16_IMPL	(0x1 << ID_AA64MMFR0_TGRAN16_SHIFT)
-#define	ID_AA64MMFR0_TGRAN64_SHIFT	24
-#define	ID_AA64MMFR0_TGRAN64_MASK	(0xf << ID_AA64MMFR0_TGRAN64_SHIFT)
-#define	ID_AA64MMFR0_TGRAN64(x)		((x) & ID_AA64MMFR0_TGRAN64_MASK)
-#define	 ID_AA64MMFR0_TGRAN64_IMPL	(0x0 << ID_AA64MMFR0_TGRAN64_SHIFT)
-#define	 ID_AA64MMFR0_TGRAN64_NONE	(0xf << ID_AA64MMFR0_TGRAN64_SHIFT)
-#define	ID_AA64MMFR0_TGRAN4_SHIFT	28
-#define	ID_AA64MMFR0_TGRAN4_MASK	(0xf << ID_AA64MMFR0_TGRAN4_SHIFT)
-#define	ID_AA64MMFR0_TGRAN4(x)		((x) & ID_AA64MMFR0_TGRAN4_MASK)
-#define	 ID_AA64MMFR0_TGRAN4_IMPL	(0x0 << ID_AA64MMFR0_TGRAN4_SHIFT)
-#define	 ID_AA64MMFR0_TGRAN4_NONE	(0xf << ID_AA64MMFR0_TGRAN4_SHIFT)
+#define	ID_AA64MMFR0_MASK		UL(0x00000000ffffffff)
+#define	ID_AA64MMFR0_PARange_SHIFT	0
+#define	ID_AA64MMFR0_PARange_MASK	(UL(0xf) << ID_AA64MMFR0_PARange_SHIFT)
+#define	ID_AA64MMFR0_PARange(x)		((x) & ID_AA64MMFR0_PARange_MASK)
+#define	 ID_AA64MMFR0_PARange_4G	(UL(0x0) << ID_AA64MMFR0_PARange_SHIFT)
+#define	 ID_AA64MMFR0_PARange_64G	(UL(0x1) << ID_AA64MMFR0_PARange_SHIFT)
+#define	 ID_AA64MMFR0_PARange_1T	(UL(0x2) << ID_AA64MMFR0_PARange_SHIFT)
+#define	 ID_AA64MMFR0_PARange_4T	(UL(0x3) << ID_AA64MMFR0_PARange_SHIFT)
+#define	 ID_AA64MMFR0_PARange_16T	(UL(0x4) << ID_AA64MMFR0_PARange_SHIFT)
+#define	 ID_AA64MMFR0_PARange_256T	(UL(0x5) << ID_AA64MMFR0_PARange_SHIFT)
+#define	 ID_AA64MMFR0_PARange_4P	(UL(0x6) << ID_AA64MMFR0_PARange_SHIFT)
+#define	ID_AA64MMFR0_ASIDBits_SHIFT	4
+#define	ID_AA64MMFR0_ASIDBits_MASK	(UL(0xf) << ID_AA64MMFR0_ASIDBits_SHIFT)
+#define	ID_AA64MMFR0_ASIDBits(x)	((x) & ID_AA64MMFR0_ASIDBits_MASK)
+#define	 ID_AA64MMFR0_ASIDBits_8	(UL(0x0) << ID_AA64MMFR0_ASIDBits_SHIFT)
+#define	 ID_AA64MMFR0_ASIDBits_16	(UL(0x2) << ID_AA64MMFR0_ASIDBits_SHIFT)
+#define	ID_AA64MMFR0_BigEnd_SHIFT	8
+#define	ID_AA64MMFR0_BigEnd_MASK	(UL(0xf) << ID_AA64MMFR0_BigEnd_SHIFT)
+#define	ID_AA64MMFR0_BigEnd(x)		((x) & ID_AA64MMFR0_BigEnd_MASK)
+#define	 ID_AA64MMFR0_BigEnd_FIXED	(UL(0x0) << ID_AA64MMFR0_BigEnd_SHIFT)
+#define	 ID_AA64MMFR0_BigEnd_MIXED	(UL(0x1) << ID_AA64MMFR0_BigEnd_SHIFT)
+#define	ID_AA64MMFR0_SNSMem_SHIFT	12
+#define	ID_AA64MMFR0_SNSMem_MASK	(UL(0xf) << ID_AA64MMFR0_SNSMem_SHIFT)
+#define	ID_AA64MMFR0_SNSMem(x)		((x) & ID_AA64MMFR0_SNSMem_MASK)
+#define	 ID_AA64MMFR0_SNSMem_NONE	(UL(0x0) << ID_AA64MMFR0_SNSMem_SHIFT)
+#define	 ID_AA64MMFR0_SNSMem_DISTINCT	(UL(0x1) << ID_AA64MMFR0_SNSMem_SHIFT)
+#define	ID_AA64MMFR0_BigEndEL0_SHIFT	16
+#define	ID_AA64MMFR0_BigEndEL0_MASK	(UL(0xf) << ID_AA64MMFR0_BigEndEL0_SHIFT)
+#define	ID_AA64MMFR0_BigEndEL0(x)	((x) & ID_AA64MMFR0_BigEndEL0_MASK)
+#define	 ID_AA64MMFR0_BigEndEL0_FIXED	(UL(0x0) << ID_AA64MMFR0_BigEndEL0_SHIFT)
+#define	 ID_AA64MMFR0_BigEndEL0_MIXED	(UL(0x1) << ID_AA64MMFR0_BigEndEL0_SHIFT)
+#define	ID_AA64MMFR0_TGran16_SHIFT	20
+#define	ID_AA64MMFR0_TGran16_MASK	(UL(0xf) << ID_AA64MMFR0_TGran16_SHIFT)
+#define	ID_AA64MMFR0_TGran16(x)		((x) & ID_AA64MMFR0_TGran16_MASK)
+#define	 ID_AA64MMFR0_TGran16_NONE	(UL(0x0) << ID_AA64MMFR0_TGran16_SHIFT)
+#define	 ID_AA64MMFR0_TGran16_IMPL	(UL(0x1) << ID_AA64MMFR0_TGran16_SHIFT)
+#define	ID_AA64MMFR0_TGran64_SHIFT	24
+#define	ID_AA64MMFR0_TGran64_MASK	(UL(0xf) << ID_AA64MMFR0_TGran64_SHIFT)
+#define	ID_AA64MMFR0_TGran64(x)		((x) & ID_AA64MMFR0_TGran64_MASK)
+#define	 ID_AA64MMFR0_TGran64_IMPL	(UL(0x0) << ID_AA64MMFR0_TGran64_SHIFT)
+#define	 ID_AA64MMFR0_TGran64_NONE	(UL(0xf) << ID_AA64MMFR0_TGran64_SHIFT)
+#define	ID_AA64MMFR0_TGran4_SHIFT	28
+#define	ID_AA64MMFR0_TGran4_MASK	(UL(0xf) << ID_AA64MMFR0_TGran4_SHIFT)
+#define	ID_AA64MMFR0_TGran4(x)		((x) & ID_AA64MMFR0_TGran4_MASK)
+#define	 ID_AA64MMFR0_TGran4_IMPL	(UL(0x0) << ID_AA64MMFR0_TGran4_SHIFT)
+#define	 ID_AA64MMFR0_TGran4_NONE	(UL(0xf) << ID_AA64MMFR0_TGran4_SHIFT)
 
 /* ID_AA64MMFR1_EL1 */
-#define	ID_AA64MMFR1_MASK		0xffffffff
+#define	ID_AA64MMFR1_MASK		UL(0x00000000ffffffff)
 #define	ID_AA64MMFR1_HAFDBS_SHIFT	0
-#define	ID_AA64MMFR1_HAFDBS_MASK	(0xf << ID_AA64MMFR1_HAFDBS_SHIFT)
+#define	ID_AA64MMFR1_HAFDBS_MASK	(UL(0xf) << ID_AA64MMFR1_HAFDBS_SHIFT)
 #define	ID_AA64MMFR1_HAFDBS(x)		((x) & ID_AA64MMFR1_HAFDBS_MASK)
-#define	 ID_AA64MMFR1_HAFDBS_NONE	(0x0 << ID_AA64MMFR1_HAFDBS_SHIFT)
-#define	 ID_AA64MMFR1_HAFDBS_AF		(0x1 << ID_AA64MMFR1_HAFDBS_SHIFT)
-#define	 ID_AA64MMFR1_HAFDBS_AF_DBS	(0x2 << ID_AA64MMFR1_HAFDBS_SHIFT)
-#define	ID_AA64MMFR1_VMIDBITS_SHIFT	4
-#define	ID_AA64MMFR1_VMIDBITS_MASK	(0xf << ID_AA64MMFR1_VMIDBITS_SHIFT)
-#define	ID_AA64MMFR1_VMIDBITS(x)	((x) & ID_AA64MMFR1_VMIDBITS_MASK)
-#define	 ID_AA64MMFR1_VMIDBITS_8	(0x0 << ID_AA64MMFR1_VMIDBITS_SHIFT)
-#define	 ID_AA64MMFR1_VMIDBITS_16	(0x2 << ID_AA64MMFR1_VMIDBITS_SHIFT)
+#define	 ID_AA64MMFR1_HAFDBS_NONE	(UL(0x0) << ID_AA64MMFR1_HAFDBS_SHIFT)
+#define	 ID_AA64MMFR1_HAFDBS_AF		(UL(0x1) << ID_AA64MMFR1_HAFDBS_SHIFT)
+#define	 ID_AA64MMFR1_HAFDBS_AF_DBS	(UL(0x2) << ID_AA64MMFR1_HAFDBS_SHIFT)
+#define	ID_AA64MMFR1_VMIDBits_SHIFT	4
+#define	ID_AA64MMFR1_VMIDBits_MASK	(UL(0xf) << ID_AA64MMFR1_VMIDBits_SHIFT)
+#define	ID_AA64MMFR1_VMIDBits(x)	((x) & ID_AA64MMFR1_VMIDBits_MASK)
+#define	 ID_AA64MMFR1_VMIDBits_8	(UL(0x0) << ID_AA64MMFR1_VMIDBits_SHIFT)
+#define	 ID_AA64MMFR1_VMIDBits_16	(UL(0x2) << ID_AA64MMFR1_VMIDBits_SHIFT)
 #define	ID_AA64MMFR1_VH_SHIFT		8
-#define	ID_AA64MMFR1_VH_MASK		(0xf << ID_AA64MMFR1_VH_SHIFT)
+#define	ID_AA64MMFR1_VH_MASK		(UL(0xf) << ID_AA64MMFR1_VH_SHIFT)
 #define	ID_AA64MMFR1_VH(x)		((x) & ID_AA64MMFR1_VH_MASK)
-#define	 ID_AA64MMFR1_VH_NONE		(0x0 << ID_AA64MMFR1_VH_SHIFT)
-#define	 ID_AA64MMFR1_VH_IMPL		(0x1 << ID_AA64MMFR1_VH_SHIFT)
+#define	 ID_AA64MMFR1_VH_NONE		(UL(0x0) << ID_AA64MMFR1_VH_SHIFT)
+#define	 ID_AA64MMFR1_VH_IMPL		(UL(0x1) << ID_AA64MMFR1_VH_SHIFT)
 #define	ID_AA64MMFR1_HPDS_SHIFT		12
-#define	ID_AA64MMFR1_HPDS_MASK		(0xf << ID_AA64MMFR1_HPDS_SHIFT)
+#define	ID_AA64MMFR1_HPDS_MASK		(UL(0xf) << ID_AA64MMFR1_HPDS_SHIFT)
 #define	ID_AA64MMFR1_HPDS(x)		((x) & ID_AA64MMFR1_HPDS_MASK)
-#define	 ID_AA64MMFR1_HPDS_NONE		(0x0 << ID_AA64MMFR1_HPDS_SHIFT)
-#define	 ID_AA64MMFR1_HPDS_HPD		(0x1 << ID_AA64MMFR1_HPDS_SHIFT)
-#define	 ID_AA64MMFR1_HPDS_TTPBHA	(0x2 << ID_AA64MMFR1_HPDS_SHIFT)
+#define	 ID_AA64MMFR1_HPDS_NONE		(UL(0x0) << ID_AA64MMFR1_HPDS_SHIFT)
+#define	 ID_AA64MMFR1_HPDS_HPD		(UL(0x1) << ID_AA64MMFR1_HPDS_SHIFT)
+#define	 ID_AA64MMFR1_HPDS_TTPBHA	(UL(0x2) << ID_AA64MMFR1_HPDS_SHIFT)
 #define	ID_AA64MMFR1_LO_SHIFT		16
-#define	ID_AA64MMFR1_LO_MASK		(0xf << ID_AA64MMFR1_LO_SHIFT)
+#define	ID_AA64MMFR1_LO_MASK		(UL(0xf) << ID_AA64MMFR1_LO_SHIFT)
 #define	ID_AA64MMFR1_LO(x)		((x) & ID_AA64MMFR1_LO_MASK)
-#define	 ID_AA64MMFR1_LO_NONE		(0x0 << ID_AA64MMFR1_LO_SHIFT)
-#define	 ID_AA64MMFR1_LO_IMPL		(0x1 << ID_AA64MMFR1_LO_SHIFT)
+#define	 ID_AA64MMFR1_LO_NONE		(UL(0x0) << ID_AA64MMFR1_LO_SHIFT)
+#define	 ID_AA64MMFR1_LO_IMPL		(UL(0x1) << ID_AA64MMFR1_LO_SHIFT)
 #define	ID_AA64MMFR1_PAN_SHIFT		20
-#define	ID_AA64MMFR1_PAN_MASK		(0xf << ID_AA64MMFR1_PAN_SHIFT)
+#define	ID_AA64MMFR1_PAN_MASK		(UL(0xf) << ID_AA64MMFR1_PAN_SHIFT)
 #define	ID_AA64MMFR1_PAN(x)		((x) & ID_AA64MMFR1_PAN_MASK)
-#define	 ID_AA64MMFR1_PAN_NONE		(0x0 << ID_AA64MMFR1_PAN_SHIFT)
-#define	 ID_AA64MMFR1_PAN_IMPL		(0x1 << ID_AA64MMFR1_PAN_SHIFT)
-#define	 ID_AA64MMFR1_PAN_ATS1E1	(0x2 << ID_AA64MMFR1_PAN_SHIFT)
-#define	ID_AA64MMFR1_SPEC_SEI_SHIFT	24
-#define	ID_AA64MMFR1_SPEC_SEI_MASK	(0xf << ID_AA64MMFR1_SPEC_SEI_SHIFT)
-#define	ID_AA64MMFR1_SPEC_SEI(x)	((x) & ID_AA64MMFR1_SPEC_SEI_MASK)
-#define	 ID_AA64MMFR1_SPEC_SEI_NONE	(0x0 << ID_AA64MMFR1_SPEC_SEI_SHIFT)
-#define	 ID_AA64MMFR1_SPEC_SEI_IMPL	(0x1 << ID_AA64MMFR1_SPEC_SEI_SHIFT)
+#define	 ID_AA64MMFR1_PAN_NONE		(UL(0x0) << ID_AA64MMFR1_PAN_SHIFT)
+#define	 ID_AA64MMFR1_PAN_IMPL		(UL(0x1) << ID_AA64MMFR1_PAN_SHIFT)
+#define	 ID_AA64MMFR1_PAN_ATS1E1	(UL(0x2) << ID_AA64MMFR1_PAN_SHIFT)
+#define	ID_AA64MMFR1_SpecSEI_SHIFT	24
+#define	ID_AA64MMFR1_SpecSEI_MASK	(UL(0xf) << ID_AA64MMFR1_SpecSEI_SHIFT)
+#define	ID_AA64MMFR1_SpecSEI(x)		((x) & ID_AA64MMFR1_SpecSEI_MASK)
+#define	 ID_AA64MMFR1_SpecSEI_NONE	(UL(0x0) << ID_AA64MMFR1_SpecSEI_SHIFT)
+#define	 ID_AA64MMFR1_SpecSEI_IMPL	(UL(0x1) << ID_AA64MMFR1_SpecSEI_SHIFT)
 #define	ID_AA64MMFR1_XNX_SHIFT		28
-#define	ID_AA64MMFR1_XNX_MASK		(0xf << ID_AA64MMFR1_XNX_SHIFT)
+#define	ID_AA64MMFR1_XNX_MASK		(UL(0xf) << ID_AA64MMFR1_XNX_SHIFT)
 #define	ID_AA64MMFR1_XNX(x)		((x) & ID_AA64MMFR1_XNX_MASK)
-#define	 ID_AA64MMFR1_XNX_NONE		(0x0 << ID_AA64MMFR1_XNX_SHIFT)
-#define	 ID_AA64MMFR1_XNX_IMPL		(0x1 << ID_AA64MMFR1_XNX_SHIFT)
+#define	 ID_AA64MMFR1_XNX_NONE		(UL(0x0) << ID_AA64MMFR1_XNX_SHIFT)
+#define	 ID_AA64MMFR1_XNX_IMPL		(UL(0x1) << ID_AA64MMFR1_XNX_SHIFT)
 
 /* ID_AA64MMFR2_EL1 */
 #define	ID_AA64MMFR2_EL1		S3_0_C0_C7_2
-#define	ID_AA64MMFR2_MASK		0x0fffffff
-#define	ID_AA64MMFR2_CNP_SHIFT		0
-#define	ID_AA64MMFR2_CNP_MASK		(0xf << ID_AA64MMFR2_CNP_SHIFT)
-#define	ID_AA64MMFR2_CNP(x)		((x) & ID_AA64MMFR2_CNP_MASK)
-#define	 ID_AA64MMFR2_CNP_NONE		(0x0 << ID_AA64MMFR2_CNP_SHIFT)
-#define	 ID_AA64MMFR2_CNP_IMPL		(0x1 << ID_AA64MMFR2_CNP_SHIFT)
+#define	ID_AA64MMFR2_MASK		UL(0x000000000fffffff)
+#define	ID_AA64MMFR2_CnP_SHIFT		0
+#define	ID_AA64MMFR2_CnP_MASK		(UL(0xf) << ID_AA64MMFR2_CnP_SHIFT)
+#define	ID_AA64MMFR2_CnP(x)		((x) & ID_AA64MMFR2_CnP_MASK)
+#define	 ID_AA64MMFR2_CnP_NONE		(UL(0x0) << ID_AA64MMFR2_CnP_SHIFT)
+#define	 ID_AA64MMFR2_CnP_IMPL		(UL(0x1) << ID_AA64MMFR2_CnP_SHIFT)
 #define	ID_AA64MMFR2_UAO_SHIFT		4
-#define	ID_AA64MMFR2_UAO_MASK		(0xf << ID_AA64MMFR2_UAO_SHIFT)
+#define	ID_AA64MMFR2_UAO_MASK		(UL(0xf) << ID_AA64MMFR2_UAO_SHIFT)
 #define	ID_AA64MMFR2_UAO(x)		((x) & ID_AA64MMFR2_UAO_MASK)
-#define	 ID_AA64MMFR2_UAO_NONE		(0x0 << ID_AA64MMFR2_UAO_SHIFT)
-#define	 ID_AA64MMFR2_UAO_IMPL		(0x1 << ID_AA64MMFR2_UAO_SHIFT)
+#define	 ID_AA64MMFR2_UAO_NONE		(UL(0x0) << ID_AA64MMFR2_UAO_SHIFT)
+#define	 ID_AA64MMFR2_UAO_IMPL		(UL(0x1) << ID_AA64MMFR2_UAO_SHIFT)
 #define	ID_AA64MMFR2_LSM_SHIFT		8
-#define	ID_AA64MMFR2_LSM_MASK		(0xf << ID_AA64MMFR2_LSM_SHIFT)
+#define	ID_AA64MMFR2_LSM_MASK		(UL(0xf) << ID_AA64MMFR2_LSM_SHIFT)
 #define	ID_AA64MMFR2_LSM(x)		((x) & ID_AA64MMFR2_LSM_MASK)
-#define	 ID_AA64MMFR2_LSM_NONE		(0x0 << ID_AA64MMFR2_LSM_SHIFT)
-#define	 ID_AA64MMFR2_LSM_IMPL		(0x1 << ID_AA64MMFR2_LSM_SHIFT)
+#define	 ID_AA64MMFR2_LSM_NONE		(UL(0x0) << ID_AA64MMFR2_LSM_SHIFT)
+#define	 ID_AA64MMFR2_LSM_IMPL		(UL(0x1) << ID_AA64MMFR2_LSM_SHIFT)
 #define	ID_AA64MMFR2_IESB_SHIFT		12
-#define	ID_AA64MMFR2_IESB_MASK		(0xf << ID_AA64MMFR2_IESB_SHIFT)
+#define	ID_AA64MMFR2_IESB_MASK		(UL(0xf) << ID_AA64MMFR2_IESB_SHIFT)
 #define	ID_AA64MMFR2_IESB(x)		((x) & ID_AA64MMFR2_IESB_MASK)
-#define	 ID_AA64MMFR2_IESB_NONE		(0x0 << ID_AA64MMFR2_IESB_SHIFT)
-#define	 ID_AA64MMFR2_IESB_IMPL		(0x1 << ID_AA64MMFR2_IESB_SHIFT)
-#define	ID_AA64MMFR2_VA_RANGE_SHIFT	16
-#define	ID_AA64MMFR2_VA_RANGE_MASK	(0xf << ID_AA64MMFR2_VA_RANGE_SHIFT)
-#define	ID_AA64MMFR2_VA_RANGE(x)	((x) & ID_AA64MMFR2_VA_RANGE_MASK)
-#define	 ID_AA64MMFR2_VA_RANGE_48	(0x0 << ID_AA64MMFR2_VA_RANGE_SHIFT)
-#define	 ID_AA64MMFR2_VA_RANGE_52	(0x1 << ID_AA64MMFR2_VA_RANGE_SHIFT)
+#define	 ID_AA64MMFR2_IESB_NONE		(UL(0x0) << ID_AA64MMFR2_IESB_SHIFT)
+#define	 ID_AA64MMFR2_IESB_IMPL		(UL(0x1) << ID_AA64MMFR2_IESB_SHIFT)
+#define	ID_AA64MMFR2_VARange_SHIFT	16
+#define	ID_AA64MMFR2_VARange_MASK	(UL(0xf) << ID_AA64MMFR2_VARange_SHIFT)
+#define	ID_AA64MMFR2_VARange(x)		((x) & ID_AA64MMFR2_VARange_MASK)
+#define	 ID_AA64MMFR2_VARange_48	(UL(0x0) << ID_AA64MMFR2_VARange_SHIFT)
+#define	 ID_AA64MMFR2_VARange_52	(UL(0x1) << ID_AA64MMFR2_VARange_SHIFT)
 #define	ID_AA64MMFR2_CCIDX_SHIFT	20
-#define	ID_AA64MMFR2_CCIDX_MASK		(0xf << ID_AA64MMFR2_CCIDX_SHIFT)
+#define	ID_AA64MMFR2_CCIDX_MASK		(UL(0xf) << ID_AA64MMFR2_CCIDX_SHIFT)
 #define	ID_AA64MMFR2_CCIDX(x)		((x) & ID_AA64MMFR2_CCIDX_MASK)
-#define	 ID_AA64MMFR2_CCIDX_32		(0x0 << ID_AA64MMFR2_CCIDX_SHIFT)
-#define	 ID_AA64MMFR2_CCIDX_64		(0x1 << ID_AA64MMFR2_CCIDX_SHIFT)
+#define	 ID_AA64MMFR2_CCIDX_32		(UL(0x0) << ID_AA64MMFR2_CCIDX_SHIFT)
+#define	 ID_AA64MMFR2_CCIDX_64		(UL(0x1) << ID_AA64MMFR2_CCIDX_SHIFT)
 #define	ID_AA64MMFR2_NV_SHIFT		24
-#define	ID_AA64MMFR2_NV_MASK		(0xf << ID_AA64MMFR2_NV_SHIFT)
+#define	ID_AA64MMFR2_NV_MASK		(UL(0xf) << ID_AA64MMFR2_NV_SHIFT)
 #define	ID_AA64MMFR2_NV(x)		((x) & ID_AA64MMFR2_NV_MASK)
-#define	 ID_AA64MMFR2_NV_NONE		(0x0 << ID_AA64MMFR2_NV_SHIFT)
-#define	 ID_AA64MMFR2_NV_IMPL		(0x1 << ID_AA64MMFR2_NV_SHIFT)
+#define	 ID_AA64MMFR2_NV_NONE		(UL(0x0) << ID_AA64MMFR2_NV_SHIFT)
+#define	 ID_AA64MMFR2_NV_IMPL		(UL(0x1) << ID_AA64MMFR2_NV_SHIFT)
 
 /* ID_AA64PFR0_EL1 */
-#define	ID_AA64PFR0_MASK		0x0000000ffffffffful
+#define	ID_AA64PFR0_MASK		UL(0x0000000fffffffff)
 #define	ID_AA64PFR0_EL0_SHIFT		0
-#define	ID_AA64PFR0_EL0_MASK		(0xf << ID_AA64PFR0_EL0_SHIFT)
+#define	ID_AA64PFR0_EL0_MASK		(UL(0xf) << ID_AA64PFR0_EL0_SHIFT)
 #define	ID_AA64PFR0_EL0(x)		((x) & ID_AA64PFR0_EL0_MASK)
-#define	 ID_AA64PFR0_EL0_64		(1 << ID_AA64PFR0_EL0_SHIFT)
-#define	 ID_AA64PFR0_EL0_64_32		(2 << ID_AA64PFR0_EL0_SHIFT)
+#define	 ID_AA64PFR0_EL0_64		(UL(0x1) << ID_AA64PFR0_EL0_SHIFT)
+#define	 ID_AA64PFR0_EL0_64_32		(UL(0x2) << ID_AA64PFR0_EL0_SHIFT)
 #define	ID_AA64PFR0_EL1_SHIFT		4
-#define	ID_AA64PFR0_EL1_MASK		(0xf << ID_AA64PFR0_EL1_SHIFT)
+#define	ID_AA64PFR0_EL1_MASK		(UL(0xf) << ID_AA64PFR0_EL1_SHIFT)
 #define	ID_AA64PFR0_EL1(x)		((x) & ID_AA64PFR0_EL1_MASK)
-#define	 ID_AA64PFR0_EL1_64		(1 << ID_AA64PFR0_EL1_SHIFT)
-#define	 ID_AA64PFR0_EL1_64_32		(2 << ID_AA64PFR0_EL1_SHIFT)
+#define	 ID_AA64PFR0_EL1_64		(UL(0x1) << ID_AA64PFR0_EL1_SHIFT)
+#define	 ID_AA64PFR0_EL1_64_32		(UL(0x2) << ID_AA64PFR0_EL1_SHIFT)
 #define	ID_AA64PFR0_EL2_SHIFT		8
-#define	ID_AA64PFR0_EL2_MASK		(0xf << ID_AA64PFR0_EL2_SHIFT)
+#define	ID_AA64PFR0_EL2_MASK		(UL(0xf) << ID_AA64PFR0_EL2_SHIFT)
 #define	ID_AA64PFR0_EL2(x)		((x) & ID_AA64PFR0_EL2_MASK)
-#define	 ID_AA64PFR0_EL2_NONE		(0 << ID_AA64PFR0_EL2_SHIFT)
-#define	 ID_AA64PFR0_EL2_64		(1 << ID_AA64PFR0_EL2_SHIFT)
-#define	 ID_AA64PFR0_EL2_64_32		(2 << ID_AA64PFR0_EL2_SHIFT)
+#define	 ID_AA64PFR0_EL2_NONE		(UL(0x0) << ID_AA64PFR0_EL2_SHIFT)
+#define	 ID_AA64PFR0_EL2_64		(UL(0x1) << ID_AA64PFR0_EL2_SHIFT)
+#define	 ID_AA64PFR0_EL2_64_32		(UL(0x2) << ID_AA64PFR0_EL2_SHIFT)
 #define	ID_AA64PFR0_EL3_SHIFT		12
-#define	ID_AA64PFR0_EL3_MASK		(0xf << ID_AA64PFR0_EL3_SHIFT)
+#define	ID_AA64PFR0_EL3_MASK		(UL(0xf) << ID_AA64PFR0_EL3_SHIFT)
 #define	ID_AA64PFR0_EL3(x)		((x) & ID_AA64PFR0_EL3_MASK)
-#define	 ID_AA64PFR0_EL3_NONE		(0 << ID_AA64PFR0_EL3_SHIFT)
-#define	 ID_AA64PFR0_EL3_64		(1 << ID_AA64PFR0_EL3_SHIFT)
-#define	 ID_AA64PFR0_EL3_64_32		(2 << ID_AA64PFR0_EL3_SHIFT)
+#define	 ID_AA64PFR0_EL3_NONE		(UL(0x0) << ID_AA64PFR0_EL3_SHIFT)
+#define	 ID_AA64PFR0_EL3_64		(UL(0x1) << ID_AA64PFR0_EL3_SHIFT)
+#define	 ID_AA64PFR0_EL3_64_32		(UL(0x2) << ID_AA64PFR0_EL3_SHIFT)
 #define	ID_AA64PFR0_FP_SHIFT		16
-#define	ID_AA64PFR0_FP_MASK		(0xf << ID_AA64PFR0_FP_SHIFT)
+#define	ID_AA64PFR0_FP_MASK		(UL(0xf) << ID_AA64PFR0_FP_SHIFT)
 #define	ID_AA64PFR0_FP(x)		((x) & ID_AA64PFR0_FP_MASK)
-#define	 ID_AA64PFR0_FP_IMPL		(0x0 << ID_AA64PFR0_FP_SHIFT)
-#define	 ID_AA64PFR0_FP_HP		(0x1 << ID_AA64PFR0_FP_SHIFT)
-#define	 ID_AA64PFR0_FP_NONE		(0xf << ID_AA64PFR0_FP_SHIFT)
-#define	ID_AA64PFR0_ADV_SIMD_SHIFT	20
-#define	ID_AA64PFR0_ADV_SIMD_MASK	(0xf << ID_AA64PFR0_ADV_SIMD_SHIFT)
-#define	ID_AA64PFR0_ADV_SIMD(x)		((x) & ID_AA64PFR0_ADV_SIMD_MASK)
-#define	 ID_AA64PFR0_ADV_SIMD_IMPL	(0x0 << ID_AA64PFR0_ADV_SIMD_SHIFT)
-#define	 ID_AA64PFR0_ADV_SIMD_HP	(0x1 << ID_AA64PFR0_ADV_SIMD_SHIFT)
-#define	 ID_AA64PFR0_ADV_SIMD_NONE	(0xf << ID_AA64PFR0_ADV_SIMD_SHIFT)
+#define	 ID_AA64PFR0_FP_IMPL		(UL(0x0) << ID_AA64PFR0_FP_SHIFT)
+#define	 ID_AA64PFR0_FP_HP		(UL(0x1) << ID_AA64PFR0_FP_SHIFT)
+#define	 ID_AA64PFR0_FP_NONE		(UL(0xf) << ID_AA64PFR0_FP_SHIFT)
+#define	ID_AA64PFR0_AdvSIMD_SHIFT	20
+#define	ID_AA64PFR0_AdvSIMD_MASK	(UL(0xf) << ID_AA64PFR0_AdvSIMD_SHIFT)
+#define	ID_AA64PFR0_AdvSIMD(x)		((x) & ID_AA64PFR0_AdvSIMD_MASK)
+#define	 ID_AA64PFR0_AdvSIMD_IMPL	(UL(0x0) << ID_AA64PFR0_AdvSIMD_SHIFT)
+#define	 ID_AA64PFR0_AdvSIMD_HP		(UL(0x1) << ID_AA64PFR0_AdvSIMD_SHIFT)
+#define	 ID_AA64PFR0_AdvSIMD_NONE	(UL(0xf) << ID_AA64PFR0_AdvSIMD_SHIFT)
 #define	ID_AA64PFR0_GIC_BITS		0x4 /* Number of bits in GIC field */
 #define	ID_AA64PFR0_GIC_SHIFT		24
-#define	ID_AA64PFR0_GIC_MASK		(0xf << ID_AA64PFR0_GIC_SHIFT)
+#define	ID_AA64PFR0_GIC_MASK		(UL(0xf) << ID_AA64PFR0_GIC_SHIFT)
 #define	ID_AA64PFR0_GIC(x)		((x) & ID_AA64PFR0_GIC_MASK)
-#define	 ID_AA64PFR0_GIC_CPUIF_NONE	(0x0 << ID_AA64PFR0_GIC_SHIFT)
-#define	 ID_AA64PFR0_GIC_CPUIF_EN	(0x1 << ID_AA64PFR0_GIC_SHIFT)
+#define	 ID_AA64PFR0_GIC_CPUIF_NONE	(UL(0x0) << ID_AA64PFR0_GIC_SHIFT)
+#define	 ID_AA64PFR0_GIC_CPUIF_EN	(UL(0x1) << ID_AA64PFR0_GIC_SHIFT)
 #define	ID_AA64PFR0_RAS_SHIFT		28
-#define	ID_AA64PFR0_RAS_MASK		(0xf << ID_AA64PFR0_RAS_SHIFT)
+#define	ID_AA64PFR0_RAS_MASK		(UL(0xf) << ID_AA64PFR0_RAS_SHIFT)
 #define	ID_AA64PFR0_RAS(x)		((x) & ID_AA64PFR0_RAS_MASK)
-#define	 ID_AA64PFR0_RAS_NONE		(0x0 << ID_AA64PFR0_RAS_SHIFT)
-#define	 ID_AA64PFR0_RAS_V1		(0x1 << ID_AA64PFR0_RAS_SHIFT)
+#define	 ID_AA64PFR0_RAS_NONE		(UL(0x0) << ID_AA64PFR0_RAS_SHIFT)
+#define	 ID_AA64PFR0_RAS_V1		(UL(0x1) << ID_AA64PFR0_RAS_SHIFT)
 #define	ID_AA64PFR0_SVE_SHIFT		32
-#define	ID_AA64PFR0_SVE_MASK		(0xful << ID_AA64PFR0_SVE_SHIFT)
+#define	ID_AA64PFR0_SVE_MASK		(UL(0xf) << ID_AA64PFR0_SVE_SHIFT)
 #define	ID_AA64PFR0_SVE(x)		((x) & ID_AA64PFR0_SVE_MASK)
-#define	 ID_AA64PFR0_SVE_NONE		(0x0ul << ID_AA64PFR0_SVE_SHIFT)
-#define	 ID_AA64PFR0_SVE_IMPL		(0x1ul << ID_AA64PFR0_SVE_SHIFT)
+#define	 ID_AA64PFR0_SVE_NONE		(UL(0x0) << ID_AA64PFR0_SVE_SHIFT)
+#define	 ID_AA64PFR0_SVE_IMPL		(UL(0x1) << ID_AA64PFR0_SVE_SHIFT)
 
 /* MAIR_EL1 - Memory Attribute Indirection Register */
 #define	MAIR_ATTR_MASK(idx)	(0xff << ((n)* 8))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908141702.x7EH2a7j052186>