Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64/sysreg: Add _EL1 into ID_AA64ISAR1_EL1 definition names

Normally we include the full register name in the defines for fields within
registers but this has not been followed for ID registers. In preparation
for automatic generation of defines add the _EL1s into the defines for
ID_AA64ISAR1_EL1 to follow the convention. No functional changes.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220704170302.2609529-16-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>

authored by

Mark Brown and committed by
Will Deacon
aa50479b b7e4a2d7

+102 -102
+1 -1
arch/arm64/include/asm/asm_pointer_auth.h
··· 59 59 60 60 .macro __ptrauth_keys_init_cpu tsk, tmp1, tmp2, tmp3 61 61 mrs \tmp1, id_aa64isar1_el1 62 - ubfx \tmp1, \tmp1, #ID_AA64ISAR1_APA_SHIFT, #8 62 + ubfx \tmp1, \tmp1, #ID_AA64ISAR1_EL1_APA_SHIFT, #8 63 63 mrs_s \tmp2, SYS_ID_AA64ISAR2_EL1 64 64 ubfx \tmp2, \tmp2, #ID_AA64ISAR2_APA3_SHIFT, #4 65 65 orr \tmp1, \tmp1, \tmp2
+30 -30
arch/arm64/include/asm/sysreg.h
··· 705 705 #define MAIR_ATTRIDX(attr, idx) ((attr) << ((idx) * 8)) 706 706 707 707 /* id_aa64isar1 */ 708 - #define ID_AA64ISAR1_I8MM_SHIFT 52 709 - #define ID_AA64ISAR1_DGH_SHIFT 48 710 - #define ID_AA64ISAR1_BF16_SHIFT 44 711 - #define ID_AA64ISAR1_SPECRES_SHIFT 40 712 - #define ID_AA64ISAR1_SB_SHIFT 36 713 - #define ID_AA64ISAR1_FRINTTS_SHIFT 32 714 - #define ID_AA64ISAR1_GPI_SHIFT 28 715 - #define ID_AA64ISAR1_GPA_SHIFT 24 716 - #define ID_AA64ISAR1_LRCPC_SHIFT 20 717 - #define ID_AA64ISAR1_FCMA_SHIFT 16 718 - #define ID_AA64ISAR1_JSCVT_SHIFT 12 719 - #define ID_AA64ISAR1_API_SHIFT 8 720 - #define ID_AA64ISAR1_APA_SHIFT 4 721 - #define ID_AA64ISAR1_DPB_SHIFT 0 708 + #define ID_AA64ISAR1_EL1_I8MM_SHIFT 52 709 + #define ID_AA64ISAR1_EL1_DGH_SHIFT 48 710 + #define ID_AA64ISAR1_EL1_BF16_SHIFT 44 711 + #define ID_AA64ISAR1_EL1_SPECRES_SHIFT 40 712 + #define ID_AA64ISAR1_EL1_SB_SHIFT 36 713 + #define ID_AA64ISAR1_EL1_FRINTTS_SHIFT 32 714 + #define ID_AA64ISAR1_EL1_GPI_SHIFT 28 715 + #define ID_AA64ISAR1_EL1_GPA_SHIFT 24 716 + #define ID_AA64ISAR1_EL1_LRCPC_SHIFT 20 717 + #define ID_AA64ISAR1_EL1_FCMA_SHIFT 16 718 + #define ID_AA64ISAR1_EL1_JSCVT_SHIFT 12 719 + #define ID_AA64ISAR1_EL1_API_SHIFT 8 720 + #define ID_AA64ISAR1_EL1_APA_SHIFT 5 721 + #define ID_AA64ISAR1_EL1_DPB_SHIFT 0 722 722 723 - #define ID_AA64ISAR1_APA_NI 0x0 724 - #define ID_AA64ISAR1_APA_PAuth 0x1 725 - #define ID_AA64ISAR1_APA_ARCH_EPAC 0x2 726 - #define ID_AA64ISAR1_APA_Pauth2 0x3 727 - #define ID_AA64ISAR1_APA_FPAC 0x4 728 - #define ID_AA64ISAR1_APA_FPACCOMBINE 0x5 729 - #define ID_AA64ISAR1_API_NI 0x0 730 - #define ID_AA64ISAR1_API_PAuth 0x1 731 - #define ID_AA64ISAR1_API_EPAC 0x2 732 - #define ID_AA64ISAR1_API_PAuth2 0x3 733 - #define ID_AA64ISAR1_API_FPAC 0x4 734 - #define ID_AA64ISAR1_API_FPACCOMBINE 0x5 735 - #define ID_AA64ISAR1_GPA_NI 0x0 736 - #define ID_AA64ISAR1_GPA_IMP 0x1 737 - #define ID_AA64ISAR1_GPI_NI 0x0 738 - #define ID_AA64ISAR1_GPI_IMP 0x1 723 + #define ID_AA64ISAR1_EL1_APA_NI 0x0 724 + #define ID_AA64ISAR1_EL1_APA_PAuth 0x1 725 + #define ID_AA64ISAR1_EL1_APA_ARCH_EPAC 0x2 726 + #define ID_AA64ISAR1_EL1_APA_Pauth2 0x3 727 + #define ID_AA64ISAR1_EL1_APA_FPAC 0x4 728 + #define ID_AA64ISAR1_EL1_APA_FPACCOMBINE 0x5 729 + #define ID_AA64ISAR1_EL1_API_NI 0x0 730 + #define ID_AA64ISAR1_EL1_API_PAuth 0x1 731 + #define ID_AA64ISAR1_EL1_API_EPAC 0x2 732 + #define ID_AA64ISAR1_EL1_API_PAuth2 0x3 733 + #define ID_AA64ISAR1_EL1_API_FPAC 0x4 734 + #define ID_AA64ISAR1_EL1_API_FPACCOMBINE 0x5 735 + #define ID_AA64ISAR1_EL1_GPA_NI 0x0 736 + #define ID_AA64ISAR1_EL1_GPA_IMP 0x1 737 + #define ID_AA64ISAR1_EL1_GPI_NI 0x0 738 + #define ID_AA64ISAR1_EL1_GPI_IMP 0x1 739 739 740 740 /* id_aa64isar2 */ 741 741 #define ID_AA64ISAR2_BC_SHIFT 28
+45 -45
arch/arm64/kernel/cpufeature.c
··· 209 209 }; 210 210 211 211 static const struct arm64_ftr_bits ftr_id_aa64isar1[] = { 212 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_I8MM_SHIFT, 4, 0), 213 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_DGH_SHIFT, 4, 0), 214 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_BF16_SHIFT, 4, 0), 215 - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_SPECRES_SHIFT, 4, 0), 216 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_SB_SHIFT, 4, 0), 217 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_FRINTTS_SHIFT, 4, 0), 212 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_I8MM_SHIFT, 4, 0), 213 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_DGH_SHIFT, 4, 0), 214 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_BF16_SHIFT, 4, 0), 215 + ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_SPECRES_SHIFT, 4, 0), 216 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_SB_SHIFT, 4, 0), 217 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_FRINTTS_SHIFT, 4, 0), 218 218 ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH), 219 - FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_GPI_SHIFT, 4, 0), 219 + FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_GPI_SHIFT, 4, 0), 220 220 ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH), 221 - FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_GPA_SHIFT, 4, 0), 222 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_LRCPC_SHIFT, 4, 0), 223 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_FCMA_SHIFT, 4, 0), 224 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_JSCVT_SHIFT, 4, 0), 221 + FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_GPA_SHIFT, 4, 0), 222 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_LRCPC_SHIFT, 4, 0), 223 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_FCMA_SHIFT, 4, 0), 224 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_JSCVT_SHIFT, 4, 0), 225 225 ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH), 226 - FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_API_SHIFT, 4, 0), 226 + FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_EL1_API_SHIFT, 4, 0), 227 227 ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH), 228 - FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_APA_SHIFT, 4, 0), 229 - ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_DPB_SHIFT, 4, 0), 228 + FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_EL1_APA_SHIFT, 4, 0), 229 + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_EL1_DPB_SHIFT, 4, 0), 230 230 ARM64_FTR_END, 231 231 }; 232 232 ··· 2132 2132 .type = ARM64_CPUCAP_SYSTEM_FEATURE, 2133 2133 .matches = has_cpuid_feature, 2134 2134 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2135 - .field_pos = ID_AA64ISAR1_DPB_SHIFT, 2135 + .field_pos = ID_AA64ISAR1_EL1_DPB_SHIFT, 2136 2136 .field_width = 4, 2137 2137 .min_field_value = 1, 2138 2138 }, ··· 2143 2143 .matches = has_cpuid_feature, 2144 2144 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2145 2145 .sign = FTR_UNSIGNED, 2146 - .field_pos = ID_AA64ISAR1_DPB_SHIFT, 2146 + .field_pos = ID_AA64ISAR1_EL1_DPB_SHIFT, 2147 2147 .field_width = 4, 2148 2148 .min_field_value = 2, 2149 2149 }, ··· 2303 2303 .type = ARM64_CPUCAP_SYSTEM_FEATURE, 2304 2304 .matches = has_cpuid_feature, 2305 2305 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2306 - .field_pos = ID_AA64ISAR1_SB_SHIFT, 2306 + .field_pos = ID_AA64ISAR1_EL1_SB_SHIFT, 2307 2307 .field_width = 4, 2308 2308 .sign = FTR_UNSIGNED, 2309 2309 .min_field_value = 1, ··· 2315 2315 .type = ARM64_CPUCAP_BOOT_CPU_FEATURE, 2316 2316 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2317 2317 .sign = FTR_UNSIGNED, 2318 - .field_pos = ID_AA64ISAR1_APA_SHIFT, 2318 + .field_pos = ID_AA64ISAR1_EL1_APA_SHIFT, 2319 2319 .field_width = 4, 2320 - .min_field_value = ID_AA64ISAR1_APA_PAuth, 2320 + .min_field_value = ID_AA64ISAR1_EL1_APA_PAuth, 2321 2321 .matches = has_address_auth_cpucap, 2322 2322 }, 2323 2323 { ··· 2337 2337 .type = ARM64_CPUCAP_BOOT_CPU_FEATURE, 2338 2338 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2339 2339 .sign = FTR_UNSIGNED, 2340 - .field_pos = ID_AA64ISAR1_API_SHIFT, 2340 + .field_pos = ID_AA64ISAR1_EL1_API_SHIFT, 2341 2341 .field_width = 4, 2342 - .min_field_value = ID_AA64ISAR1_API_PAuth, 2342 + .min_field_value = ID_AA64ISAR1_EL1_API_PAuth, 2343 2343 .matches = has_address_auth_cpucap, 2344 2344 }, 2345 2345 { ··· 2353 2353 .type = ARM64_CPUCAP_SYSTEM_FEATURE, 2354 2354 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2355 2355 .sign = FTR_UNSIGNED, 2356 - .field_pos = ID_AA64ISAR1_GPA_SHIFT, 2356 + .field_pos = ID_AA64ISAR1_EL1_GPA_SHIFT, 2357 2357 .field_width = 4, 2358 - .min_field_value = ID_AA64ISAR1_GPA_IMP, 2358 + .min_field_value = ID_AA64ISAR1_EL1_GPA_IMP, 2359 2359 .matches = has_cpuid_feature, 2360 2360 }, 2361 2361 { ··· 2375 2375 .type = ARM64_CPUCAP_SYSTEM_FEATURE, 2376 2376 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2377 2377 .sign = FTR_UNSIGNED, 2378 - .field_pos = ID_AA64ISAR1_GPI_SHIFT, 2378 + .field_pos = ID_AA64ISAR1_EL1_GPI_SHIFT, 2379 2379 .field_width = 4, 2380 - .min_field_value = ID_AA64ISAR1_GPI_IMP, 2380 + .min_field_value = ID_AA64ISAR1_EL1_GPI_IMP, 2381 2381 .matches = has_cpuid_feature, 2382 2382 }, 2383 2383 { ··· 2478 2478 .type = ARM64_CPUCAP_SYSTEM_FEATURE, 2479 2479 .sys_reg = SYS_ID_AA64ISAR1_EL1, 2480 2480 .sign = FTR_UNSIGNED, 2481 - .field_pos = ID_AA64ISAR1_LRCPC_SHIFT, 2481 + .field_pos = ID_AA64ISAR1_EL1_LRCPC_SHIFT, 2482 2482 .field_width = 4, 2483 2483 .matches = has_cpuid_feature, 2484 2484 .min_field_value = 1, ··· 2560 2560 #ifdef CONFIG_ARM64_PTR_AUTH 2561 2561 static const struct arm64_cpu_capabilities ptr_auth_hwcap_addr_matches[] = { 2562 2562 { 2563 - HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_APA_SHIFT, 2563 + HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_APA_SHIFT, 2564 2564 4, FTR_UNSIGNED, 2565 - ID_AA64ISAR1_APA_PAuth) 2565 + ID_AA64ISAR1_EL1_APA_PAuth) 2566 2566 }, 2567 2567 { 2568 2568 HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR2_EL1, ID_AA64ISAR2_APA3_SHIFT, 2569 2569 4, FTR_UNSIGNED, ID_AA64ISAR2_APA3_PAuth) 2570 2570 }, 2571 2571 { 2572 - HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_API_SHIFT, 2573 - 4, FTR_UNSIGNED, ID_AA64ISAR1_API_PAuth) 2572 + HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_API_SHIFT, 2573 + 4, FTR_UNSIGNED, ID_AA64ISAR1_EL1_API_PAuth) 2574 2574 }, 2575 2575 {}, 2576 2576 }; 2577 2577 2578 2578 static const struct arm64_cpu_capabilities ptr_auth_hwcap_gen_matches[] = { 2579 2579 { 2580 - HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_GPA_SHIFT, 2581 - 4, FTR_UNSIGNED, ID_AA64ISAR1_GPA_IMP) 2580 + HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_GPA_SHIFT, 2581 + 4, FTR_UNSIGNED, ID_AA64ISAR1_EL1_GPA_IMP) 2582 2582 }, 2583 2583 { 2584 2584 HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR2_EL1, ID_AA64ISAR2_GPA3_SHIFT, 2585 2585 4, FTR_UNSIGNED, ID_AA64ISAR2_GPA3_IMP) 2586 2586 }, 2587 2587 { 2588 - HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_GPI_SHIFT, 2589 - 4, FTR_UNSIGNED, ID_AA64ISAR1_GPI_IMP) 2588 + HWCAP_CPUID_MATCH(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_GPI_SHIFT, 2589 + 4, FTR_UNSIGNED, ID_AA64ISAR1_EL1_GPI_IMP) 2590 2590 }, 2591 2591 {}, 2592 2592 }; ··· 2614 2614 HWCAP_CAP(SYS_ID_AA64PFR0_EL1, ID_AA64PFR0_ASIMD_SHIFT, 4, FTR_SIGNED, 0, CAP_HWCAP, KERNEL_HWCAP_ASIMD), 2615 2615 HWCAP_CAP(SYS_ID_AA64PFR0_EL1, ID_AA64PFR0_ASIMD_SHIFT, 4, FTR_SIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_ASIMDHP), 2616 2616 HWCAP_CAP(SYS_ID_AA64PFR0_EL1, ID_AA64PFR0_DIT_SHIFT, 4, FTR_SIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_DIT), 2617 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_DPB_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_DCPOP), 2618 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_DPB_SHIFT, 4, FTR_UNSIGNED, 2, CAP_HWCAP, KERNEL_HWCAP_DCPODP), 2619 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_JSCVT_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_JSCVT), 2620 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_FCMA_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_FCMA), 2621 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_LRCPC_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_LRCPC), 2622 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_LRCPC_SHIFT, 4, FTR_UNSIGNED, 2, CAP_HWCAP, KERNEL_HWCAP_ILRCPC), 2623 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_FRINTTS_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_FRINT), 2624 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_SB_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_SB), 2625 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_BF16_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_BF16), 2626 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_DGH_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_DGH), 2627 - HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_I8MM_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_I8MM), 2617 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_DPB_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_DCPOP), 2618 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_DPB_SHIFT, 4, FTR_UNSIGNED, 2, CAP_HWCAP, KERNEL_HWCAP_DCPODP), 2619 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_JSCVT_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_JSCVT), 2620 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_FCMA_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_FCMA), 2621 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_LRCPC_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_LRCPC), 2622 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_LRCPC_SHIFT, 4, FTR_UNSIGNED, 2, CAP_HWCAP, KERNEL_HWCAP_ILRCPC), 2623 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_FRINTTS_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_FRINT), 2624 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_SB_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_SB), 2625 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_BF16_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_BF16), 2626 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_DGH_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_DGH), 2627 + HWCAP_CAP(SYS_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_I8MM_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_I8MM), 2628 2628 HWCAP_CAP(SYS_ID_AA64MMFR2_EL1, ID_AA64MMFR2_AT_SHIFT, 4, FTR_UNSIGNED, 1, CAP_HWCAP, KERNEL_HWCAP_USCAT), 2629 2629 #ifdef CONFIG_ARM64_SVE 2630 2630 HWCAP_CAP(SYS_ID_AA64PFR0_EL1, ID_AA64PFR0_SVE_SHIFT, 4, FTR_UNSIGNED, ID_AA64PFR0_SVE, CAP_HWCAP, KERNEL_HWCAP_SVE),
+4 -4
arch/arm64/kernel/idreg-override.c
··· 63 63 .name = "id_aa64isar1", 64 64 .override = &id_aa64isar1_override, 65 65 .fields = { 66 - { "gpi", ID_AA64ISAR1_GPI_SHIFT }, 67 - { "gpa", ID_AA64ISAR1_GPA_SHIFT }, 68 - { "api", ID_AA64ISAR1_API_SHIFT }, 69 - { "apa", ID_AA64ISAR1_APA_SHIFT }, 66 + { "gpi", ID_AA64ISAR1_EL1_GPI_SHIFT }, 67 + { "gpa", ID_AA64ISAR1_EL1_GPA_SHIFT }, 68 + { "api", ID_AA64ISAR1_EL1_API_SHIFT }, 69 + { "apa", ID_AA64ISAR1_EL1_APA_SHIFT }, 70 70 {} 71 71 }, 72 72 };
+14 -14
arch/arm64/kvm/hyp/include/nvhe/fixed_config.h
··· 176 176 ) 177 177 178 178 #define PVM_ID_AA64ISAR1_ALLOW (\ 179 - ARM64_FEATURE_MASK(ID_AA64ISAR1_DPB) | \ 180 - ARM64_FEATURE_MASK(ID_AA64ISAR1_APA) | \ 181 - ARM64_FEATURE_MASK(ID_AA64ISAR1_API) | \ 182 - ARM64_FEATURE_MASK(ID_AA64ISAR1_JSCVT) | \ 183 - ARM64_FEATURE_MASK(ID_AA64ISAR1_FCMA) | \ 184 - ARM64_FEATURE_MASK(ID_AA64ISAR1_LRCPC) | \ 185 - ARM64_FEATURE_MASK(ID_AA64ISAR1_GPA) | \ 186 - ARM64_FEATURE_MASK(ID_AA64ISAR1_GPI) | \ 187 - ARM64_FEATURE_MASK(ID_AA64ISAR1_FRINTTS) | \ 188 - ARM64_FEATURE_MASK(ID_AA64ISAR1_SB) | \ 189 - ARM64_FEATURE_MASK(ID_AA64ISAR1_SPECRES) | \ 190 - ARM64_FEATURE_MASK(ID_AA64ISAR1_BF16) | \ 191 - ARM64_FEATURE_MASK(ID_AA64ISAR1_DGH) | \ 192 - ARM64_FEATURE_MASK(ID_AA64ISAR1_I8MM) \ 179 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_DPB) | \ 180 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_APA) | \ 181 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_API) | \ 182 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_JSCVT) | \ 183 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_FCMA) | \ 184 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_LRCPC) | \ 185 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_GPA) | \ 186 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_GPI) | \ 187 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_FRINTTS) | \ 188 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_SB) | \ 189 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_SPECRES) | \ 190 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_BF16) | \ 191 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_DGH) | \ 192 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_I8MM) \ 193 193 ) 194 194 195 195 #define PVM_ID_AA64ISAR2_ALLOW (\
+4 -4
arch/arm64/kvm/hyp/nvhe/sys_regs.c
··· 173 173 u64 allow_mask = PVM_ID_AA64ISAR1_ALLOW; 174 174 175 175 if (!vcpu_has_ptrauth(vcpu)) 176 - allow_mask &= ~(ARM64_FEATURE_MASK(ID_AA64ISAR1_APA) | 177 - ARM64_FEATURE_MASK(ID_AA64ISAR1_API) | 178 - ARM64_FEATURE_MASK(ID_AA64ISAR1_GPA) | 179 - ARM64_FEATURE_MASK(ID_AA64ISAR1_GPI)); 176 + allow_mask &= ~(ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_APA) | 177 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_API) | 178 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_GPA) | 179 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_GPI)); 180 180 181 181 return id_aa64isar1_el1_sys_val & allow_mask; 182 182 }
+4 -4
arch/arm64/kvm/sys_regs.c
··· 1136 1136 break; 1137 1137 case SYS_ID_AA64ISAR1_EL1: 1138 1138 if (!vcpu_has_ptrauth(vcpu)) 1139 - val &= ~(ARM64_FEATURE_MASK(ID_AA64ISAR1_APA) | 1140 - ARM64_FEATURE_MASK(ID_AA64ISAR1_API) | 1141 - ARM64_FEATURE_MASK(ID_AA64ISAR1_GPA) | 1142 - ARM64_FEATURE_MASK(ID_AA64ISAR1_GPI)); 1139 + val &= ~(ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_APA) | 1140 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_API) | 1141 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_GPA) | 1142 + ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_GPI)); 1143 1143 break; 1144 1144 case SYS_ID_AA64ISAR2_EL1: 1145 1145 if (!vcpu_has_ptrauth(vcpu))