Commit c8c2647e authored by Shameer Kolothum's avatar Shameer Kolothum Committed by Oliver Upton
Browse files

arm64: Make  _midr_in_range_list() an exported function



Subsequent patch will add target implementation CPU support and that
will require _midr_in_range_list() to access new data. To avoid
exporting the data make _midr_in_range_list() a normal function and
export it.

No functional changes intended.

Signed-off-by: default avatarShameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20250221140229.12588-5-shameerali.kolothum.thodi@huawei.com
Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
parent c0000e58
Loading
Loading
Loading
Loading
+1 −14
Original line number Diff line number Diff line
@@ -276,20 +276,7 @@ static inline bool midr_is_cpu_model_range(u32 midr, u32 model, u32 rv_min,
	return _model == model && rv >= rv_min && rv <= rv_max;
}

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);
}

static inline bool
is_midr_in_range_list(struct midr_range const *ranges)
{
	while (ranges->model)
		if (is_midr_in_range(ranges++))
			return true;
	return false;
}
bool is_midr_in_range_list(struct midr_range const *ranges);

static inline u64 __attribute_const__ read_cpuid_mpidr(void)
{
+15 −0
Original line number Diff line number Diff line
@@ -14,6 +14,21 @@
#include <asm/kvm_asm.h>
#include <asm/smp_plat.h>

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);
}

bool is_midr_in_range_list(struct midr_range const *ranges)
{
	while (ranges->model)
		if (is_midr_in_range(ranges++))
			return true;
	return false;
}
EXPORT_SYMBOL_GPL(is_midr_in_range_list);

static bool __maybe_unused
__is_affected_midr_range(const struct arm64_cpu_capabilities *entry,
			 u32 midr, u32 revidr)
+1 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ PROVIDE(__pi_arm64_sw_feature_override = arm64_sw_feature_override);
PROVIDE(__pi_arm64_use_ng_mappings	= arm64_use_ng_mappings);
#ifdef CONFIG_CAVIUM_ERRATUM_27456
PROVIDE(__pi_cavium_erratum_27456_cpus	= cavium_erratum_27456_cpus);
PROVIDE(__pi_is_midr_in_range_list	= is_midr_in_range_list);
#endif
PROVIDE(__pi__ctype			= _ctype);
PROVIDE(__pi_memstart_offset_seed	= memstart_offset_seed);