|  | /* SPDX-License-Identifier: GPL-2.0-only */ | 
|  |  | 
|  | #ifndef __ASM_SPECTRE_H | 
|  | #define __ASM_SPECTRE_H | 
|  |  | 
|  | enum { | 
|  | SPECTRE_UNAFFECTED, | 
|  | SPECTRE_MITIGATED, | 
|  | SPECTRE_VULNERABLE, | 
|  | }; | 
|  |  | 
|  | enum { | 
|  | __SPECTRE_V2_METHOD_BPIALL, | 
|  | __SPECTRE_V2_METHOD_ICIALLU, | 
|  | __SPECTRE_V2_METHOD_SMC, | 
|  | __SPECTRE_V2_METHOD_HVC, | 
|  | __SPECTRE_V2_METHOD_LOOP8, | 
|  | }; | 
|  |  | 
|  | enum { | 
|  | SPECTRE_V2_METHOD_BPIALL = BIT(__SPECTRE_V2_METHOD_BPIALL), | 
|  | SPECTRE_V2_METHOD_ICIALLU = BIT(__SPECTRE_V2_METHOD_ICIALLU), | 
|  | SPECTRE_V2_METHOD_SMC = BIT(__SPECTRE_V2_METHOD_SMC), | 
|  | SPECTRE_V2_METHOD_HVC = BIT(__SPECTRE_V2_METHOD_HVC), | 
|  | SPECTRE_V2_METHOD_LOOP8 = BIT(__SPECTRE_V2_METHOD_LOOP8), | 
|  | }; | 
|  |  | 
|  | #ifdef CONFIG_GENERIC_CPU_VULNERABILITIES | 
|  | void spectre_v2_update_state(unsigned int state, unsigned int methods); | 
|  | #else | 
|  | static inline void spectre_v2_update_state(unsigned int state, | 
|  | unsigned int methods) | 
|  | {} | 
|  | #endif | 
|  |  | 
|  | int spectre_bhb_update_vectors(unsigned int method); | 
|  |  | 
|  | void cpu_v7_ca8_ibe(void); | 
|  | void cpu_v7_ca15_ibe(void); | 
|  | void cpu_v7_bugs_init(void); | 
|  |  | 
|  | #endif |