x86/bugs/IBRS: Use variable instead of defines for enabling IBRS
This follows what "x86/bugs: Read SPEC_CTRL MSR during boot and re-use
reserved bits" patch does - that is respect the other bits of the
SPEC CTRL MSR (if any at all).
This necessitates to convert all the assembler macros over, all
the various uses of the SPEC CTRL guarded by 'use_ibrs'.
Note the not so obvious change in the assembler macro from 'cmp' to
'test' to verify the right bit being set.
And to make sure it works with the IBRS support we need to
recognize it in x86_spec_ctrl_set.
This is not upstreamed. It builds on top of IBRS backport.
OraBug:
28041771
CVE: CVE-2018-3639
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Mihai Carabas <mihai.carabas@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Conflicts:
arch/x86/kernel/cpu/bugs_64.c
Signed-off-by: Brian Maly <brian.maly@oracle.com>