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:

committed by
Catalin Marinas

parent
3086d391f9
commit
b3f1537893
@@ -144,6 +144,8 @@ void check_local_cpu_features(void);
|
|||||||
bool cpu_supports_mixed_endian_el0(void);
|
bool cpu_supports_mixed_endian_el0(void);
|
||||||
bool system_supports_mixed_endian_el0(void);
|
bool system_supports_mixed_endian_el0(void);
|
||||||
|
|
||||||
|
u64 read_system_reg(u32 id);
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -590,6 +590,15 @@ void update_cpu_features(int cpu,
|
|||||||
update_mixed_endian_el0_support(info);
|
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
|
static bool
|
||||||
feature_matches(u64 reg, const struct arm64_cpu_capabilities *entry)
|
feature_matches(u64 reg, const struct arm64_cpu_capabilities *entry)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user