xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] xen/amd: Support for guest MSR_VIRT_SPEC_CTRL support
@ 2018-12-03 16:18 Andrew Cooper
  2018-12-03 16:18 ` [PATCH 1/9] x86/spec-ctrl: Drop the bti= command line option Andrew Cooper
                   ` (9 more replies)
  0 siblings, 10 replies; 51+ messages in thread
From: Andrew Cooper @ 2018-12-03 16:18 UTC (permalink / raw)
  To: Xen-devel
  Cc: Andrew Cooper, Wei Liu, Brian Woods, Jan Beulich, Roger Pau Monné

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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 51+ messages in thread

end of thread, other threads:[~2019-01-04  8:58 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-03 16:18 [PATCH 0/9] xen/amd: Support for guest MSR_VIRT_SPEC_CTRL support Andrew Cooper
2018-12-03 16:18 ` [PATCH 1/9] x86/spec-ctrl: Drop the bti= command line option Andrew Cooper
2018-12-04 16:19   ` Jan Beulich
2018-12-03 16:18 ` [PATCH 2/9] x86/cpuid: Drop the synthetic X86_FEATURE_XEN_IBPB Andrew Cooper
2018-12-04 16:21   ` Jan Beulich
2018-12-03 16:18 ` [PATCH 3/9] x86/cpuid: Extend the cpuid= command line option to support all named features Andrew Cooper
2018-12-04 16:28   ` Jan Beulich
2018-12-06 12:52   ` Wei Liu
2018-12-03 16:18 ` [PATCH 4/9] x86/amd: Introduce CPUID/MSR definitions for per-vcpu SSBD support Andrew Cooper
2018-12-04 16:06   ` Woods, Brian
2018-12-05 16:39   ` Jan Beulich
2018-12-05 17:50     ` Andrew Cooper
2018-12-06  8:49       ` Jan Beulich
2018-12-06 18:35         ` Andrew Cooper
2018-12-03 16:18 ` [PATCH 5/9] x86/amd: Probe for legacy SSBD interfaces on boot Andrew Cooper
2018-12-04 16:15   ` Woods, Brian
2018-12-05 16:50   ` Jan Beulich
2018-12-05 17:09     ` Andrew Cooper
2018-12-06  8:53       ` Jan Beulich
2018-12-06 10:59   ` Jan Beulich
2018-12-28 16:30     ` Andrew Cooper
2019-01-04  8:58       ` Jan Beulich
2018-12-03 16:18 ` [PATCH 6/9] x86/amd: Allocate resources to cope with LS_CFG being per-core on Fam17h Andrew Cooper
2018-12-04 16:38   ` Woods, Brian
2018-12-05 16:57   ` Jan Beulich
2018-12-05 17:05     ` Andrew Cooper
2018-12-06  8:54       ` Jan Beulich
2018-12-06 18:46         ` Andrew Cooper
2018-12-06 19:25           ` Woods, Brian
2018-12-07 10:17           ` Jan Beulich
2018-12-03 16:18 ` [PATCH 7/9] x86/amd: Support context switching legacy SSBD interface Andrew Cooper
2018-12-04 20:27   ` Woods, Brian
2018-12-06 10:51   ` Jan Beulich
2018-12-06 18:55     ` Andrew Cooper
2018-12-07 10:25       ` Jan Beulich
2018-12-03 16:18 ` [PATCH 8/9] x86/amd: Virtualise MSR_VIRT_SPEC_CTRL for guests Andrew Cooper
2018-12-04 21:35   ` Woods, Brian
2018-12-05  8:41     ` Jan Beulich
2018-12-05 19:09       ` Andrew Cooper
2018-12-06  8:59         ` Jan Beulich
2018-12-06 19:41       ` Woods, Brian
2018-12-06 10:55   ` Jan Beulich
2018-12-03 16:18 ` [PATCH 9/9] x86/amd: Offer MSR_VIRT_SPEC_CTRL to guests Andrew Cooper
2018-12-06 10:57   ` Jan Beulich
2018-12-03 16:24 ` [PATCH 0/9] xen/amd: Support for guest MSR_VIRT_SPEC_CTRL support Jan Beulich
2018-12-03 16:31   ` Andrew Cooper
2018-12-04  9:45     ` Jan Beulich
2018-12-04 11:26       ` Andrew Cooper
2018-12-04 12:45         ` Jan Beulich
2018-12-04 13:41           ` Andrew Cooper
2018-12-04 14:07             ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).