mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00

Workaround the Spectre BHB issues for Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73 and Cortex-A75. We also include Brahma B15 as well to be safe, which is affected by Spectre V2 in the same ways as Cortex-A15. Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
32 lines
755 B
C
32 lines
755 B
C
/* 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),
|
|
};
|
|
|
|
void spectre_v2_update_state(unsigned int state, unsigned int methods);
|
|
|
|
int spectre_bhb_update_vectors(unsigned int method);
|
|
|
|
#endif
|