• Amit Shah's avatar
    KVM: VMX: Update necessary state when guest enters long mode · 401d10de
    Amit Shah authored
    setup_msrs() should be called when entering long mode to save the
    shadow state for the 64-bit guest state.
    
    Using vmx_set_efer() in enter_lmode() removes some duplicated code
    and also ensures we call setup_msrs(). We can safely pass the value
    of shadow_efer to vmx_set_efer() as no other bits in the efer change
    while enabling long mode (guest first sets EFER.LME, then sets CR0.PG
    which causes a vmexit where we activate long mode).
    
    With this fix, is_long_mode() can check for EFER.LMA set instead of
    EFER.LME and 5e23049e86dd298b72e206b420513dbc3a240cd9 can be reverted.
    Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    401d10de
vmx.c 96.3 KB