Also, +cc Marc + the rest of the KVM folks. checkpatch doesn't help in this situation, but it'd be good to keep everyone in the loop since this is an erratum that affects KVM. On Mon, Aug 26, 2024 at 04:24:00PM -0700, Oliver Upton wrote: > Hi D Scott, > > On Mon, Aug 26, 2024 at 02:59:33PM -0700, D Scott Phillips wrote: > > The ampere1a cpu is affected by erratum AC04_CPU_10 which is the same > > bug as AC03_CPU38. Add ampere1a to the AC03_CPU_38 workaround midr list. > > > > Signed-off-by: D Scott Phillips <scott@xxxxxxxxxxxxxxxxxxxxxx> > > --- > > Documentation/arch/arm64/silicon-errata.rst | 2 ++ > > arch/arm64/Kconfig | 2 +- > > arch/arm64/include/asm/cputype.h | 2 ++ > > arch/arm64/kernel/cpu_errata.c | 1 + > > 4 files changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/arch/arm64/silicon-errata.rst b/Documentation/arch/arm64/silicon-errata.rst > > index 50327c05be8d1..39c52385f11fb 100644 > > --- a/Documentation/arch/arm64/silicon-errata.rst > > +++ b/Documentation/arch/arm64/silicon-errata.rst > > @@ -55,6 +55,8 @@ stable kernels. > > +----------------+-----------------+-----------------+-----------------------------+ > > | Ampere | AmpereOne | AC03_CPU_38 | AMPERE_ERRATUM_AC03_CPU_38 | > > +----------------+-----------------+-----------------+-----------------------------+ > > +| Ampere | AmpereOne AC04 | AC04_CPU_10 | AMPERE_ERRATUM_AC03_CPU_38 | > > ++----------------+-----------------+-----------------+-----------------------------+ > > We tend to stick the marketing term for a part in the second column so > it is more recognizable for the user. Is this a placeholder for something > different from "ampere1a"? > > > diff --git a/arch/arm64/kernel/cpu_errata.c b/arch/arm64/kernel/cpu_errata.c > > index f6b6b45073571..748aa536446ae 100644 > > --- a/arch/arm64/kernel/cpu_errata.c > > +++ b/arch/arm64/kernel/cpu_errata.c > > @@ -773,6 +773,7 @@ const struct arm64_cpu_capabilities arm64_errata[] = { > > .desc = "AmpereOne erratum AC03_CPU_38", > > .capability = ARM64_WORKAROUND_AMPERE_AC03_CPU_38, > > ERRATA_MIDR_ALL_VERSIONS(MIDR_AMPERE1), > > + ERRATA_MIDR_ALL_VERSIONS(MIDR_AMPERE1A), > > This will break the workaround on AC03, since the second macro reassigns > ::midr_range. > > You'll want to use ERRATA_MIDR_RANGE_LIST() instead w/ an array of > affected MIDRs. > > -- > Thanks, > Oliver