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:
parent
3086d391f9
commit
b3f1537893
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue