]> xenbits.xensource.com Git - xen.git/commit
x86/feature: Definitions for Indirect Branch Controls
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 3 Nov 2017 16:12:13 +0000 (16:12 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 16 Jan 2018 17:45:50 +0000 (17:45 +0000)
commit0d703a701cc4bc47773986b2796eebd28b1439b5
tree2aa9d3f5b51d40ae479a0c1b06be1eb4a684a6d5
parent858cba0d4c6b6b45180afcb41561fd6585ad51a3
x86/feature: Definitions for Indirect Branch Controls

Contemporary processors are gaining Indirect Branch Controls via microcode
updates.  Intel are introducing one bit to indicate IBRS and IBPB support, and
a second bit for STIBP.  AMD are introducing IBPB only, so enumerate it with a
separate bit.

Furthermore, depending on compiler and microcode availability, we may want to
run Xen with IBRS set, or clear.

To use these facilities, we synthesise separate IBRS and IBPB bits for
internal use.  A lot of infrastructure is required before these features are
safe to offer to guests.

This is part of XSA-254.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl_cpuid.c
tools/misc/xen-cpuid.c
xen/arch/x86/spec_ctrl.c
xen/include/asm-x86/cpufeatures.h
xen/include/asm-x86/msr-index.h
xen/include/public/arch-x86/cpufeatureset.h
xen/tools/gen-cpuid.py