mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
amd/msr: implement VIRT_SPEC_CTRL for HVM guests using legacy SSBD
Expose VIRT_SSBD to guests if the hardware supports setting SSBD in the LS_CFG MSR (a.k.a. non-architectural way). Different AMD CPU families use different bits in LS_CFG, so exposing VIRT_SPEC_CTRL.SSBD allows for an unified way of exposing SSBD support to guests on AMD hardware that's compatible migration wise, regardless of what underlying mechanism is used to set SSBD. Note that on AMD Family 17h and Hygon Family 18h processors the value of SSBD in LS_CFG is shared between threads on the same core, so there's extra logic in order to synchronize the value and have SSBD set as long as one of the threads in the core requires it to be set. Such logic also requires extra storage for each thread state, which is allocated at initialization time. Do the context switching of the SSBD selection in LS_CFG between hypervisor and guest in the same handler that's already used to switch the value of VIRT_SPEC_CTRL. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Henry Wang <Henry.Wang@arm.com> Re-commited with a tag removed. Signed-off-by: George Dunlap <george.dunlap@citrix.com>
This commit is contained in:
1 parent
15f3a67e7e
commit
f6cd15188e
5 files changed
+116
-18
No files matched your search
@@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
||||
### Added / support upgraded
|
||||
- IOMMU superpage support on x86, affecting PV guests as well as HVM/PVH ones
|
||||
when they don't share page tables with the CPU (HAP / EPT / NPT).
|
||||
- Support VIRT_SSBD feature for HVM guests on AMD.
|
||||
|
||||
### Removed / support downgraded
|
||||
- dropped support for the (x86-only) "vesa-mtrr" and "vesa-remap" command line options
|
||||
|
||||