arm64: kernel: Add cpufeature 'enable' callback
[cascardo/linux.git] / arch / arm64 / include / asm / cpufeature.h
index c104421..484fa94 100644 (file)
@@ -34,6 +34,7 @@ struct arm64_cpu_capabilities {
        const char *desc;
        u16 capability;
        bool (*matches)(const struct arm64_cpu_capabilities *);
+       void (*enable)(void);
        union {
                struct {        /* To be used for erratum handling only */
                        u32 midr_model;
@@ -70,6 +71,13 @@ static inline void cpus_set_cap(unsigned int num)
                __set_bit(num, cpu_hwcaps);
 }
 
+static inline int __attribute_const__ cpuid_feature_extract_field(u64 features,
+                                                                 int field)
+{
+       return (s64)(features << (64 - 4 - field)) >> (64 - 4);
+}
+
+
 void check_cpu_capabilities(const struct arm64_cpu_capabilities *caps,
                            const char *info);
 void check_local_cpu_errata(void);