Skip to content

Commit 36fcf38

Browse files
committed
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Will Deacon: "Small crop of relatively boring arm64 fixes for -rc3. That's not to say we don't have any juicy bugs, however, it's just that fixes for those are likely to come via -mm and -tip for a hugetlb and an atomics issue respectively. I get left with the documentation... - Fix detection of "ClearBHB" and "Hinted Conditional Branch" features - Fix broken wildcarding for Arm PMU MAINTAINERS entry - Add missing documentation for userspace-visible ID register fields" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: Document missing userspace visible fields in ID_AA64ISAR2_EL1 arm64/hbc: Document HWCAP2_HBC arm64/sme: Include ID_AA64PFR1_EL1.SME in cpu-feature-registers.rst arm64: cpufeature: Fix CLRBHB and BC detection MAINTAINERS: Use wildcard pattern for ARM PMU headers
2 parents b61ec8d + 44a5b6b commit 36fcf38

File tree

6 files changed

+24
-4
lines changed

6 files changed

+24
-4
lines changed

Documentation/arch/arm64/cpu-feature-registers.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,8 @@ infrastructure:
175175
+------------------------------+---------+---------+
176176
| Name | bits | visible |
177177
+------------------------------+---------+---------+
178+
| SME | [27-24] | y |
179+
+------------------------------+---------+---------+
178180
| MTE | [11-8] | y |
179181
+------------------------------+---------+---------+
180182
| SSBS | [7-4] | y |
@@ -288,8 +290,18 @@ infrastructure:
288290
+------------------------------+---------+---------+
289291
| Name | bits | visible |
290292
+------------------------------+---------+---------+
293+
| CSSC | [55-52] | y |
294+
+------------------------------+---------+---------+
295+
| RPRFM | [51-48] | y |
296+
+------------------------------+---------+---------+
297+
| BC | [23-20] | y |
298+
+------------------------------+---------+---------+
291299
| MOPS | [19-16] | y |
292300
+------------------------------+---------+---------+
301+
| APA3 | [15-12] | y |
302+
+------------------------------+---------+---------+
303+
| GPA3 | [11-8] | y |
304+
+------------------------------+---------+---------+
293305
| RPRES | [7-4] | y |
294306
+------------------------------+---------+---------+
295307
| WFXT | [3-0] | y |

Documentation/arch/arm64/elf_hwcaps.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ HWCAP2_SMEF16F16
305305
HWCAP2_MOPS
306306
Functionality implied by ID_AA64ISAR2_EL1.MOPS == 0b0001.
307307

308+
HWCAP2_HBC
309+
Functionality implied by ID_AA64ISAR2_EL1.BC == 0b0001.
310+
308311
4. Unused AT_HWCAP bits
309312
-----------------------
310313

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1662,7 +1662,7 @@ F: arch/arm*/include/asm/perf_event.h
16621662
F: arch/arm*/kernel/hw_breakpoint.c
16631663
F: arch/arm*/kernel/perf_*
16641664
F: drivers/perf/
1665-
F: include/linux/perf/arm_pmu.h
1665+
F: include/linux/perf/arm_pmu*.h
16661666

16671667
ARM PORT
16681668
M: Russell King <linux@armlinux.org.uk>

arch/arm64/include/asm/cpufeature.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,7 @@ static inline bool supports_clearbhb(int scope)
663663
isar2 = read_sanitised_ftr_reg(SYS_ID_AA64ISAR2_EL1);
664664

665665
return cpuid_feature_extract_unsigned_field(isar2,
666-
ID_AA64ISAR2_EL1_BC_SHIFT);
666+
ID_AA64ISAR2_EL1_CLRBHB_SHIFT);
667667
}
668668

669669
const struct cpumask *system_32bit_el0_cpumask(void);

arch/arm64/kernel/cpufeature.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,8 @@ static const struct arm64_ftr_bits ftr_id_aa64isar1[] = {
222222
static const struct arm64_ftr_bits ftr_id_aa64isar2[] = {
223223
ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_CSSC_SHIFT, 4, 0),
224224
ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_RPRFM_SHIFT, 4, 0),
225-
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_SAFE, ID_AA64ISAR2_EL1_BC_SHIFT, 4, 0),
225+
ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_CLRBHB_SHIFT, 4, 0),
226+
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_BC_SHIFT, 4, 0),
226227
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_MOPS_SHIFT, 4, 0),
227228
ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
228229
FTR_STRICT, FTR_EXACT, ID_AA64ISAR2_EL1_APA3_SHIFT, 4, 0),

arch/arm64/tools/sysreg

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1347,7 +1347,11 @@ UnsignedEnum 51:48 RPRFM
13471347
0b0000 NI
13481348
0b0001 IMP
13491349
EndEnum
1350-
Res0 47:28
1350+
Res0 47:32
1351+
UnsignedEnum 31:28 CLRBHB
1352+
0b0000 NI
1353+
0b0001 IMP
1354+
EndEnum
13511355
UnsignedEnum 27:24 PAC_frac
13521356
0b0000 NI
13531357
0b0001 IMP

0 commit comments

Comments
 (0)