[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 0/9] xen/amd: Support for guest MSR_VIRT_SPEC_CTRL support



This is a lingering TODO item from XSA-263.  It adds support AMD's
MSR_VIRT_SPEC_CTRL interface, and changes Xen's "boot time global" SSBD
setting into a per-vcpu setting.

This can be found on:
  git://xenbits.xen.org/people/andrewcoop/xen.git xen-virt-spec-ctrl-v1

The start of the series is some cleanup.  It then teaches Xen to recognise the
available interfaces (including MSR_VIRT_SPEC_CTRL from a hypervisor), then
how to safely context switch the per-core LS_CFG on Fam17h, an finally to
expose support to guests.

I've got some further MSR work coming because we have to fix the
default-leakiness of MSRs in this range, because a guest becomes unsafe to
migrate as soon as it reads any of the pipeline control MSRs.

Andrew Cooper (9):
  x86/spec-ctrl: Drop the bti= command line option
  x86/cpuid: Drop the synthetic X86_FEATURE_XEN_IBPB
  x86/cpuid: Extend the cpuid= command line option to support all named features
  x86/amd: Introduce CPUID/MSR definitions for per-vcpu SSBD support
  x86/amd: Probe for legacy SSBD interfaces on boot
  x86/amd: Allocate resources to cope with LS_CFG being per-core on Fam17h
  x86/amd: Support context switching legacy SSBD interface
  x86/amd: Virtualise MSR_VIRT_SPEC_CTRL for guests
  x86/amd: Offer MSR_VIRT_SPEC_CTRL to guests

 docs/misc/xen-command-line.markdown         |  47 ++----
 tools/libxl/libxl_cpuid.c                   |   5 +
 tools/misc/xen-cpuid.c                      |   4 +
 xen/arch/x86/cpu/amd.c                      | 239 +++++++++++++++++++++++++---
 xen/arch/x86/cpuid.c                        | 101 +++++++++---
 xen/arch/x86/domain.c                       |   2 +
 xen/arch/x86/domctl.c                       |   1 +
 xen/arch/x86/hvm/hvm.c                      |   1 +
 xen/arch/x86/msr.c                          |  17 ++
 xen/arch/x86/smpboot.c                      |   3 +
 xen/arch/x86/spec_ctrl.c                    |  67 +-------
 xen/include/asm-x86/cpufeature.h            |   6 +
 xen/include/asm-x86/cpufeatures.h           |   2 +-
 xen/include/asm-x86/msr-index.h             |   3 +
 xen/include/asm-x86/msr.h                   |   9 ++
 xen/include/asm-x86/processor.h             |   2 +
 xen/include/public/arch-x86/cpufeatureset.h |   5 +
 xen/tools/gen-cpuid.py                      |  22 ++-
 18 files changed, 393 insertions(+), 143 deletions(-)

-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.