2023-08-30 17:31:07 +02:00
|
|
|
/* 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);
|
|
|
|
|
2023-10-24 12:59:35 +02:00
|
|
|
void cpu_v7_ca8_ibe(void);
|
|
|
|
void cpu_v7_ca15_ibe(void);
|
|
|
|
void cpu_v7_bugs_init(void);
|
|
|
|
|
2023-08-30 17:31:07 +02:00
|
|
|
#endif
|