[PATCH v6 4/4] arm64: paravirt: Enable errata based on implementation CPUs
Catalin Marinas
catalin.marinas at arm.com
Fri Feb 7 06:08:44 PST 2025
On Wed, Feb 05, 2025 at 01:22:22PM +0000, Shameer Kolothum wrote:
> static inline bool is_midr_in_range(struct midr_range const *range)
> {
> - return midr_is_cpu_model_range(read_cpuid_id(), range->model,
> - range->rv_min, range->rv_max);
> + int i;
> +
> + if (!target_impl_cpu_num)
> + return midr_is_cpu_model_range(read_cpuid_id(), range->model,
> + range->rv_min, range->rv_max);
> +
> + for (i = 0; i < target_impl_cpu_num; i++) {
> + if (midr_is_cpu_model_range(target_impl_cpus[i].midr,
> + range->model,
> + range->rv_min, range->rv_max))
> + return true;
> + }
> + return false;
> }
It's a interesting approach but how does this work in practice if an
erratum requires a firmware counterpart? Do we expect firmwares on all
machines involved to have workarounds for the other machines? Or is KVM
going to intercept those SMCs and pretend the EL3 counterpart is there?
--
Catalin
More information about the linux-arm-kernel
mailing list