x86/srso: Add IBPB_BRTYPE support
authorBorislav Petkov (AMD) <bp@alien8.de>
Tue, 18 Jul 2023 09:13:40 +0000 (11:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Aug 2023 18:03:50 +0000 (20:03 +0200)
commit9139f4b6dd4fe1003ba79ab317d1a9f48849b369
tree3f9865ae7297d608d00fd8aa3e60a364b02e94b6
parentac41e90d8daa8815d8bee774a1975435fbfe1ae7
x86/srso: Add IBPB_BRTYPE support

Upstream commit: 79113e4060aba744787a81edb9014f2865193854

Add support for the synthetic CPUID flag which "if this bit is 1,
it indicates that MSR 49h (PRED_CMD) bit 0 (IBPB) flushes all branch
type predictions from the CPU branch predictor."

This flag is there so that this capability in guests can be detected
easily (otherwise one would have to track microcode revisions which is
impossible for guests).

It is also needed only for Zen3 and -4. The other two (Zen1 and -2)
always flush branch type predictions by default.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/cpufeatures.h
arch/x86/kernel/cpu/bugs.c