Olivier Deprez | 157378f | 2022-04-04 15:47:50 +0200 | [diff] [blame^] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
| 2 | |
| 3 | #ifndef __ASM_SPECTRE_H |
| 4 | #define __ASM_SPECTRE_H |
| 5 | |
| 6 | enum { |
| 7 | SPECTRE_UNAFFECTED, |
| 8 | SPECTRE_MITIGATED, |
| 9 | SPECTRE_VULNERABLE, |
| 10 | }; |
| 11 | |
| 12 | enum { |
| 13 | __SPECTRE_V2_METHOD_BPIALL, |
| 14 | __SPECTRE_V2_METHOD_ICIALLU, |
| 15 | __SPECTRE_V2_METHOD_SMC, |
| 16 | __SPECTRE_V2_METHOD_HVC, |
| 17 | __SPECTRE_V2_METHOD_LOOP8, |
| 18 | }; |
| 19 | |
| 20 | enum { |
| 21 | SPECTRE_V2_METHOD_BPIALL = BIT(__SPECTRE_V2_METHOD_BPIALL), |
| 22 | SPECTRE_V2_METHOD_ICIALLU = BIT(__SPECTRE_V2_METHOD_ICIALLU), |
| 23 | SPECTRE_V2_METHOD_SMC = BIT(__SPECTRE_V2_METHOD_SMC), |
| 24 | SPECTRE_V2_METHOD_HVC = BIT(__SPECTRE_V2_METHOD_HVC), |
| 25 | SPECTRE_V2_METHOD_LOOP8 = BIT(__SPECTRE_V2_METHOD_LOOP8), |
| 26 | }; |
| 27 | |
| 28 | #ifdef CONFIG_GENERIC_CPU_VULNERABILITIES |
| 29 | void spectre_v2_update_state(unsigned int state, unsigned int methods); |
| 30 | #else |
| 31 | static inline void spectre_v2_update_state(unsigned int state, |
| 32 | unsigned int methods) |
| 33 | {} |
| 34 | #endif |
| 35 | |
| 36 | int spectre_bhb_update_vectors(unsigned int method); |
| 37 | |
| 38 | #endif |