Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit552ae76

Browse files
author
Marc Zyngier
committed
arm64: Detect the ARMv8.4 TTL feature
In order to reduce the cost of TLB invalidation, the ARMv8.4 TTLfeature allows TLBs to be issued with a level allowing for quickerinvalidation.Let's detect the feature for now. Further patches will implementits actual usage.Reviewed-by : Suzuki K Polose <suzuki.poulose@arm.com>Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>Signed-off-by: Marc Zyngier <maz@kernel.org>
1 parent9ebcfad commit552ae76

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

‎arch/arm64/include/asm/cpucaps.h‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@
6262
#defineARM64_HAS_GENERIC_AUTH52
6363
#defineARM64_HAS_32BIT_EL153
6464
#defineARM64_BTI54
65+
#defineARM64_HAS_ARMv8_4_TTL55
6566

66-
#defineARM64_NCAPS55
67+
#defineARM64_NCAPS56
6768

6869
#endif/* __ASM_CPUCAPS_H */

‎arch/arm64/include/asm/sysreg.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,7 @@
746746

747747
/* id_aa64mmfr2 */
748748
#defineID_AA64MMFR2_E0PD_SHIFT60
749+
#defineID_AA64MMFR2_TTL_SHIFT48
749750
#defineID_AA64MMFR2_FWB_SHIFT40
750751
#defineID_AA64MMFR2_AT_SHIFT32
751752
#defineID_AA64MMFR2_LVA_SHIFT16

‎arch/arm64/kernel/cpufeature.c‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ static const struct arm64_ftr_bits ftr_id_aa64mmfr1[] = {
323323

324324
staticconststructarm64_ftr_bitsftr_id_aa64mmfr2[]= {
325325
ARM64_FTR_BITS(FTR_HIDDEN,FTR_NONSTRICT,FTR_LOWER_SAFE,ID_AA64MMFR2_E0PD_SHIFT,4,0),
326+
ARM64_FTR_BITS(FTR_HIDDEN,FTR_STRICT,FTR_LOWER_SAFE,ID_AA64MMFR2_TTL_SHIFT,4,0),
326327
ARM64_FTR_BITS(FTR_HIDDEN,FTR_STRICT,FTR_LOWER_SAFE,ID_AA64MMFR2_FWB_SHIFT,4,0),
327328
ARM64_FTR_BITS(FTR_VISIBLE,FTR_STRICT,FTR_LOWER_SAFE,ID_AA64MMFR2_AT_SHIFT,4,0),
328329
ARM64_FTR_BITS(FTR_HIDDEN,FTR_STRICT,FTR_LOWER_SAFE,ID_AA64MMFR2_LVA_SHIFT,4,0),
@@ -1882,6 +1883,16 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
18821883
.matches=has_cpuid_feature,
18831884
.cpu_enable=cpu_has_fwb,
18841885
},
1886+
{
1887+
.desc="ARMv8.4 Translation Table Level",
1888+
.type=ARM64_CPUCAP_SYSTEM_FEATURE,
1889+
.capability=ARM64_HAS_ARMv8_4_TTL,
1890+
.sys_reg=SYS_ID_AA64MMFR2_EL1,
1891+
.sign=FTR_UNSIGNED,
1892+
.field_pos=ID_AA64MMFR2_TTL_SHIFT,
1893+
.min_field_value=1,
1894+
.matches=has_cpuid_feature,
1895+
},
18851896
#ifdefCONFIG_ARM64_HW_AFDBM
18861897
{
18871898
/*

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp