Skip to content
  • Roger Pau Monné's avatar
    amd/msr: implement VIRT_SPEC_CTRL for HVM guests using legacy SSBD · f6cd1518
    Roger Pau Monné authored
    
    
    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: default avatarRoger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
    Acked-by: default avatarHenry Wang <Henry.Wang@arm.com>
    
    Re-commited with a tag removed.
    
    Signed-off-by: default avatarGeorge Dunlap <george.dunlap@citrix.com>
    f6cd1518
To find the state of this project's repository at the time of any of these versions, check out the tags.