| /* 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); |
| |
| #endif |