diff options
| author | Hanumant Singh <hanumant@codeaurora.org> | 2015-07-31 15:01:32 -0700 |
|---|---|---|
| committer | Rohit Vaswani <rvaswani@codeaurora.org> | 2016-03-01 12:22:15 -0800 |
| commit | f443059ffdb736f10d093c4b7da2bfa71a3de5ff (patch) | |
| tree | 916c2673d0bb515a132c72fa86e9ff9bd4b3a921 /arch/arm64/kernel | |
| parent | 453d9d37edce996a96f09810c261769e7c8ad1f1 (diff) | |
arm64: Mask out 16KB granule in MMFR register
Memory model feature register specifies the supported
page granules. Some ARM cpus may have support for
16KB granules.
However currently we donot support 16KB pages sizes.
Explicitly mask off that capability if advertised by
the cpu.
Change-Id: I7daf3f179a5ce103aec7cf103ac198cf64800543
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
Diffstat (limited to 'arch/arm64/kernel')
| -rw-r--r-- | arch/arm64/kernel/cpuinfo.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c index 0195fbb57119..1dfdb2fb7d35 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c @@ -208,7 +208,12 @@ static void __cpuinfo_store_cpu(struct cpuinfo_arm64 *info) info->reg_id_aa64dfr1 = read_cpuid(ID_AA64DFR1_EL1); info->reg_id_aa64isar0 = read_cpuid(ID_AA64ISAR0_EL1); info->reg_id_aa64isar1 = read_cpuid(ID_AA64ISAR1_EL1); - info->reg_id_aa64mmfr0 = read_cpuid(ID_AA64MMFR0_EL1); + /* + * Explicitly mask out 16KB granule since we donot + * want to support it + */ + info->reg_id_aa64mmfr0 = read_cpuid(ID_AA64MMFR0_EL1) & + (~MMFR0_EL1_16KGRAN_MASK); info->reg_id_aa64mmfr1 = read_cpuid(ID_AA64MMFR1_EL1); info->reg_id_aa64pfr0 = read_cpuid(ID_AA64PFR0_EL1); info->reg_id_aa64pfr1 = read_cpuid(ID_AA64PFR1_EL1); |
