Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 
0003 #ifndef __ASM_SPECTRE_H
0004 #define __ASM_SPECTRE_H
0005 
0006 enum {
0007     SPECTRE_UNAFFECTED,
0008     SPECTRE_MITIGATED,
0009     SPECTRE_VULNERABLE,
0010 };
0011 
0012 enum {
0013     __SPECTRE_V2_METHOD_BPIALL,
0014     __SPECTRE_V2_METHOD_ICIALLU,
0015     __SPECTRE_V2_METHOD_SMC,
0016     __SPECTRE_V2_METHOD_HVC,
0017     __SPECTRE_V2_METHOD_LOOP8,
0018 };
0019 
0020 enum {
0021     SPECTRE_V2_METHOD_BPIALL = BIT(__SPECTRE_V2_METHOD_BPIALL),
0022     SPECTRE_V2_METHOD_ICIALLU = BIT(__SPECTRE_V2_METHOD_ICIALLU),
0023     SPECTRE_V2_METHOD_SMC = BIT(__SPECTRE_V2_METHOD_SMC),
0024     SPECTRE_V2_METHOD_HVC = BIT(__SPECTRE_V2_METHOD_HVC),
0025     SPECTRE_V2_METHOD_LOOP8 = BIT(__SPECTRE_V2_METHOD_LOOP8),
0026 };
0027 
0028 #ifdef CONFIG_GENERIC_CPU_VULNERABILITIES
0029 void spectre_v2_update_state(unsigned int state, unsigned int methods);
0030 #else
0031 static inline void spectre_v2_update_state(unsigned int state,
0032                        unsigned int methods)
0033 {}
0034 #endif
0035 
0036 int spectre_bhb_update_vectors(unsigned int method);
0037 
0038 #endif