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: Suzuki K. Poulose <suzuki.poulose@arm.com>
Tested-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
Suzuki K. Poulose 2015-10-19 14:24:47 +01:00 committed by Catalin Marinas
parent 3086d391f9
commit b3f1537893
2 changed files with 11 additions and 0 deletions

View File

@ -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

View File

@ -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)
{