Messages in this thread | | | Subject | Re: [PATCH V4 05/17] arm64/cpufeature: Introduce ID_DFR1 CPU register | From | Suzuki K Poulose <> | Date | Tue, 19 May 2020 11:46:32 +0100 |
| |
On 05/19/2020 10:40 AM, Anshuman Khandual wrote: > This adds basic building blocks required for ID_DFR1 CPU register which > provides top level information about the debug system in AArch32 state. > This is added per ARM DDI 0487F.a specification. > > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: Marc Zyngier <maz@kernel.org> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: James Morse <james.morse@arm.com> > Cc: Suzuki K Poulose <suzuki.poulose@arm.com> > Cc: kvmarm@lists.cs.columbia.edu > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > > Suggested-by: Will Deacon <will@kernel.org> > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c > index 600ce237c487..faf644a66e89 100644 > --- a/arch/arm64/kernel/cpufeature.c > +++ b/arch/arm64/kernel/cpufeature.c > @@ -457,6 +457,11 @@ static const struct arm64_ftr_bits ftr_id_dfr0[] = { > ARM64_FTR_END, > }; > > +static const struct arm64_ftr_bits ftr_id_dfr1[] = { > + S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR1_MTPMU_SHIFT, 4, 0), > + ARM64_FTR_END, > +}; > +
> diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c > index cb79b083f97f..50a281703d9d 100644 > --- a/arch/arm64/kernel/cpuinfo.c > +++ b/arch/arm64/kernel/cpuinfo.c > @@ -362,6 +362,7 @@ static void __cpuinfo_store_cpu(struct cpuinfo_arm64 *info) > /* Update the 32bit ID registers only if AArch32 is implemented */ > if (id_aa64pfr0_32bit_el0(info->reg_id_aa64pfr0)) { > info->reg_id_dfr0 = read_cpuid(ID_DFR0_EL1); > + info->reg_id_dfr1 = read_cpuid(ID_DFR1_EL1); > info->reg_id_isar0 = read_cpuid(ID_ISAR0_EL1); > info->reg_id_isar1 = read_cpuid(ID_ISAR1_EL1); > info->reg_id_isar2 = read_cpuid(ID_ISAR2_EL1); > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c > index b784b156edb3..0723cfbff7e9 100644 > --- a/arch/arm64/kvm/sys_regs.c > +++ b/arch/arm64/kvm/sys_regs.c > @@ -1457,7 +1457,7 @@ static const struct sys_reg_desc sys_reg_descs[] = { > ID_SANITISED(MVFR2_EL1), > ID_UNALLOCATED(3,3), > ID_SANITISED(ID_PFR2_EL1), > - ID_UNALLOCATED(3,5), > + ID_HIDDEN(ID_DFR1_EL1),
It might be a good idea to mention why this is HIDDEN in the description.
With that :
Reviewed-by : Suzuki K Poulose <suzuki.poulose@arm.com>
| |