@@ -12715,13 +12715,15 @@ static void prepare_vmcs02_full(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
12715
12715
if (!hv_evmcs || !(hv_evmcs -> hv_clean_fields &
12716
12716
HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_GRP2 )) {
12717
12717
vmcs_write16 (GUEST_ES_SELECTOR , vmcs12 -> guest_es_selector );
12718
+ vmcs_write16 (GUEST_CS_SELECTOR , vmcs12 -> guest_cs_selector );
12718
12719
vmcs_write16 (GUEST_SS_SELECTOR , vmcs12 -> guest_ss_selector );
12719
12720
vmcs_write16 (GUEST_DS_SELECTOR , vmcs12 -> guest_ds_selector );
12720
12721
vmcs_write16 (GUEST_FS_SELECTOR , vmcs12 -> guest_fs_selector );
12721
12722
vmcs_write16 (GUEST_GS_SELECTOR , vmcs12 -> guest_gs_selector );
12722
12723
vmcs_write16 (GUEST_LDTR_SELECTOR , vmcs12 -> guest_ldtr_selector );
12723
12724
vmcs_write16 (GUEST_TR_SELECTOR , vmcs12 -> guest_tr_selector );
12724
12725
vmcs_write32 (GUEST_ES_LIMIT , vmcs12 -> guest_es_limit );
12726
+ vmcs_write32 (GUEST_CS_LIMIT , vmcs12 -> guest_cs_limit );
12725
12727
vmcs_write32 (GUEST_SS_LIMIT , vmcs12 -> guest_ss_limit );
12726
12728
vmcs_write32 (GUEST_DS_LIMIT , vmcs12 -> guest_ds_limit );
12727
12729
vmcs_write32 (GUEST_FS_LIMIT , vmcs12 -> guest_fs_limit );
@@ -12731,12 +12733,13 @@ static void prepare_vmcs02_full(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
12731
12733
vmcs_write32 (GUEST_GDTR_LIMIT , vmcs12 -> guest_gdtr_limit );
12732
12734
vmcs_write32 (GUEST_IDTR_LIMIT , vmcs12 -> guest_idtr_limit );
12733
12735
vmcs_write32 (GUEST_ES_AR_BYTES , vmcs12 -> guest_es_ar_bytes );
12734
- vmcs_write32 (GUEST_SS_AR_BYTES , vmcs12 -> guest_ss_ar_bytes );
12735
12736
vmcs_write32 (GUEST_DS_AR_BYTES , vmcs12 -> guest_ds_ar_bytes );
12736
12737
vmcs_write32 (GUEST_FS_AR_BYTES , vmcs12 -> guest_fs_ar_bytes );
12737
12738
vmcs_write32 (GUEST_GS_AR_BYTES , vmcs12 -> guest_gs_ar_bytes );
12738
12739
vmcs_write32 (GUEST_LDTR_AR_BYTES , vmcs12 -> guest_ldtr_ar_bytes );
12739
12740
vmcs_write32 (GUEST_TR_AR_BYTES , vmcs12 -> guest_tr_ar_bytes );
12741
+ vmcs_writel (GUEST_ES_BASE , vmcs12 -> guest_es_base );
12742
+ vmcs_writel (GUEST_CS_BASE , vmcs12 -> guest_cs_base );
12740
12743
vmcs_writel (GUEST_SS_BASE , vmcs12 -> guest_ss_base );
12741
12744
vmcs_writel (GUEST_DS_BASE , vmcs12 -> guest_ds_base );
12742
12745
vmcs_writel (GUEST_FS_BASE , vmcs12 -> guest_fs_base );
@@ -12838,11 +12841,8 @@ static int prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
12838
12841
*/
12839
12842
if (!hv_evmcs || !(hv_evmcs -> hv_clean_fields &
12840
12843
HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_GRP2 )) {
12841
- vmcs_write16 (GUEST_CS_SELECTOR , vmcs12 -> guest_cs_selector );
12842
- vmcs_write32 (GUEST_CS_LIMIT , vmcs12 -> guest_cs_limit );
12843
12844
vmcs_write32 (GUEST_CS_AR_BYTES , vmcs12 -> guest_cs_ar_bytes );
12844
- vmcs_writel (GUEST_ES_BASE , vmcs12 -> guest_es_base );
12845
- vmcs_writel (GUEST_CS_BASE , vmcs12 -> guest_cs_base );
12845
+ vmcs_write32 (GUEST_SS_AR_BYTES , vmcs12 -> guest_ss_ar_bytes );
12846
12846
}
12847
12847
12848
12848
if (vmx -> nested .nested_run_pending &&
0 commit comments