cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

spectre.h (906B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2
      3#ifndef __ASM_SPECTRE_H
      4#define __ASM_SPECTRE_H
      5
      6enum {
      7	SPECTRE_UNAFFECTED,
      8	SPECTRE_MITIGATED,
      9	SPECTRE_VULNERABLE,
     10};
     11
     12enum {
     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
     20enum {
     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
     29void spectre_v2_update_state(unsigned int state, unsigned int methods);
     30#else
     31static inline void spectre_v2_update_state(unsigned int state,
     32					   unsigned int methods)
     33{}
     34#endif
     35
     36int spectre_bhb_update_vectors(unsigned int method);
     37
     38#endif