Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3f15378 authored by Suzuki K. Poulose's avatar Suzuki K. Poulose Committed by Catalin Marinas
Browse files

arm64: Read system wide CPUID value



Add an API for reading the safe CPUID value across the
system from the new infrastructure.

Signed-off-by: default avatarSuzuki K. Poulose <suzuki.poulose@arm.com>
Tested-by: default avatarDave Martin <Dave.Martin@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 3086d391
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -144,6 +144,8 @@ void check_local_cpu_features(void);
bool cpu_supports_mixed_endian_el0(void);
bool system_supports_mixed_endian_el0(void);

u64 read_system_reg(u32 id);

#endif /* __ASSEMBLY__ */

#endif
+9 −0
Original line number Diff line number Diff line
@@ -590,6 +590,15 @@ void update_cpu_features(int cpu,
	update_mixed_endian_el0_support(info);
}

u64 read_system_reg(u32 id)
{
	struct arm64_ftr_reg *regp = get_arm64_ftr_reg(id);

	/* We shouldn't get a request for an unsupported register */
	BUG_ON(!regp);
	return regp->sys_val;
}

static bool
feature_matches(u64 reg, const struct arm64_cpu_capabilities *entry)
{