| .. | .. |
|---|
| 10 | 10 | * cpu_feature_enabled(). |
|---|
| 11 | 11 | */ |
|---|
| 12 | 12 | |
|---|
| 13 | | -#ifdef CONFIG_X86_INTEL_MPX |
|---|
| 14 | | -# define DISABLE_MPX 0 |
|---|
| 13 | +#ifdef CONFIG_X86_SMAP |
|---|
| 14 | +# define DISABLE_SMAP 0 |
|---|
| 15 | 15 | #else |
|---|
| 16 | | -# define DISABLE_MPX (1<<(X86_FEATURE_MPX & 31)) |
|---|
| 16 | +# define DISABLE_SMAP (1<<(X86_FEATURE_SMAP & 31)) |
|---|
| 17 | 17 | #endif |
|---|
| 18 | 18 | |
|---|
| 19 | | -#ifdef CONFIG_X86_INTEL_UMIP |
|---|
| 19 | +#ifdef CONFIG_X86_UMIP |
|---|
| 20 | 20 | # define DISABLE_UMIP 0 |
|---|
| 21 | 21 | #else |
|---|
| 22 | 22 | # define DISABLE_UMIP (1<<(X86_FEATURE_UMIP & 31)) |
|---|
| .. | .. |
|---|
| 56 | 56 | # define DISABLE_PTI (1 << (X86_FEATURE_PTI & 31)) |
|---|
| 57 | 57 | #endif |
|---|
| 58 | 58 | |
|---|
| 59 | +#ifdef CONFIG_RETPOLINE |
|---|
| 60 | +# define DISABLE_RETPOLINE 0 |
|---|
| 61 | +#else |
|---|
| 62 | +# define DISABLE_RETPOLINE ((1 << (X86_FEATURE_RETPOLINE & 31)) | \ |
|---|
| 63 | + (1 << (X86_FEATURE_RETPOLINE_LFENCE & 31))) |
|---|
| 64 | +#endif |
|---|
| 65 | + |
|---|
| 66 | +#ifdef CONFIG_RETHUNK |
|---|
| 67 | +# define DISABLE_RETHUNK 0 |
|---|
| 68 | +#else |
|---|
| 69 | +# define DISABLE_RETHUNK (1 << (X86_FEATURE_RETHUNK & 31)) |
|---|
| 70 | +#endif |
|---|
| 71 | + |
|---|
| 72 | +#ifdef CONFIG_CPU_UNRET_ENTRY |
|---|
| 73 | +# define DISABLE_UNRET 0 |
|---|
| 74 | +#else |
|---|
| 75 | +# define DISABLE_UNRET (1 << (X86_FEATURE_UNRET & 31)) |
|---|
| 76 | +#endif |
|---|
| 77 | + |
|---|
| 78 | +/* Force disable because it's broken beyond repair */ |
|---|
| 79 | +#define DISABLE_ENQCMD (1 << (X86_FEATURE_ENQCMD & 31)) |
|---|
| 80 | + |
|---|
| 59 | 81 | /* |
|---|
| 60 | 82 | * Make sure to add features to the correct mask |
|---|
| 61 | 83 | */ |
|---|
| .. | .. |
|---|
| 68 | 90 | #define DISABLED_MASK6 0 |
|---|
| 69 | 91 | #define DISABLED_MASK7 (DISABLE_PTI) |
|---|
| 70 | 92 | #define DISABLED_MASK8 0 |
|---|
| 71 | | -#define DISABLED_MASK9 (DISABLE_MPX) |
|---|
| 93 | +#define DISABLED_MASK9 (DISABLE_SMAP) |
|---|
| 72 | 94 | #define DISABLED_MASK10 0 |
|---|
| 73 | | -#define DISABLED_MASK11 0 |
|---|
| 95 | +#define DISABLED_MASK11 (DISABLE_RETPOLINE|DISABLE_RETHUNK|DISABLE_UNRET) |
|---|
| 74 | 96 | #define DISABLED_MASK12 0 |
|---|
| 75 | 97 | #define DISABLED_MASK13 0 |
|---|
| 76 | 98 | #define DISABLED_MASK14 0 |
|---|
| 77 | 99 | #define DISABLED_MASK15 0 |
|---|
| 78 | | -#define DISABLED_MASK16 (DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP) |
|---|
| 100 | +#define DISABLED_MASK16 (DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP| \ |
|---|
| 101 | + DISABLE_ENQCMD) |
|---|
| 79 | 102 | #define DISABLED_MASK17 0 |
|---|
| 80 | 103 | #define DISABLED_MASK18 0 |
|---|
| 81 | | -#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 19) |
|---|
| 104 | +#define DISABLED_MASK19 0 |
|---|
| 105 | +#define DISABLED_MASK20 0 |
|---|
| 106 | +#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21) |
|---|
| 82 | 107 | |
|---|
| 83 | 108 | #endif /* _ASM_X86_DISABLED_FEATURES_H */ |
|---|