mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
x86/CPU/AMD: Simplify the spectral chicken fix
msr_set_bit() takes a bit number to set but MSR_ZEN2_SPECTRAL_CHICKEN_BIT is a bit mask. The usual pattern that code uses is a _BIT-named type macro instead of a mask. So convert it to a bit number to reflect that. Also, msr_set_bit() already does the reading and checking whether the bit needs to be set so use that instead of a local variable. Fixup tabbing while at it. No functional changes. Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Nikolay Borisov <nik.borisov@suse.com> Link: https://patch.msgid.link/20251230110731.28108-1-bp@kernel.org
This commit is contained in:
parent
c957072d44
commit
736a2dcfda
|
|
@ -795,7 +795,7 @@
|
||||||
|
|
||||||
/* Zen 2 */
|
/* Zen 2 */
|
||||||
#define MSR_ZEN2_SPECTRAL_CHICKEN 0xc00110e3
|
#define MSR_ZEN2_SPECTRAL_CHICKEN 0xc00110e3
|
||||||
#define MSR_ZEN2_SPECTRAL_CHICKEN_BIT BIT_ULL(1)
|
#define MSR_ZEN2_SPECTRAL_CHICKEN_BIT 1
|
||||||
|
|
||||||
/* Fam 17h MSRs */
|
/* Fam 17h MSRs */
|
||||||
#define MSR_F17H_IRPERF 0xc00000e9
|
#define MSR_F17H_IRPERF 0xc00000e9
|
||||||
|
|
|
||||||
|
|
@ -900,20 +900,14 @@ static void fix_erratum_1386(struct cpuinfo_x86 *c)
|
||||||
void init_spectral_chicken(struct cpuinfo_x86 *c)
|
void init_spectral_chicken(struct cpuinfo_x86 *c)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MITIGATION_UNRET_ENTRY
|
#ifdef CONFIG_MITIGATION_UNRET_ENTRY
|
||||||
u64 value;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* On Zen2 we offer this chicken (bit) on the altar of Speculation.
|
* On Zen2 we offer this chicken (bit) on the altar of Speculation.
|
||||||
*
|
*
|
||||||
* This suppresses speculation from the middle of a basic block, i.e. it
|
* This suppresses speculation from the middle of a basic block, i.e. it
|
||||||
* suppresses non-branch predictions.
|
* suppresses non-branch predictions.
|
||||||
*/
|
*/
|
||||||
if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) {
|
if (!cpu_has(c, X86_FEATURE_HYPERVISOR))
|
||||||
if (!rdmsrq_safe(MSR_ZEN2_SPECTRAL_CHICKEN, &value)) {
|
msr_set_bit(MSR_ZEN2_SPECTRAL_CHICKEN, MSR_ZEN2_SPECTRAL_CHICKEN_BIT);
|
||||||
value |= MSR_ZEN2_SPECTRAL_CHICKEN_BIT;
|
|
||||||
wrmsrq_safe(MSR_ZEN2_SPECTRAL_CHICKEN, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -771,7 +771,7 @@
|
||||||
|
|
||||||
/* Zen 2 */
|
/* Zen 2 */
|
||||||
#define MSR_ZEN2_SPECTRAL_CHICKEN 0xc00110e3
|
#define MSR_ZEN2_SPECTRAL_CHICKEN 0xc00110e3
|
||||||
#define MSR_ZEN2_SPECTRAL_CHICKEN_BIT BIT_ULL(1)
|
#define MSR_ZEN2_SPECTRAL_CHICKEN_BIT 1
|
||||||
|
|
||||||
/* Fam 17h MSRs */
|
/* Fam 17h MSRs */
|
||||||
#define MSR_F17H_IRPERF 0xc00000e9
|
#define MSR_F17H_IRPERF 0xc00000e9
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user