Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 516a1a7e authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: VMX: Flush volatile msrs before emulating rdmsr



Some msrs (notable MSR_KERNEL_GS_BASE) are held in the processor registers
and need to be flushed to the vcpu struture before they can be read.

This fixes cygwin longjmp() failure on Windows x64.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent 682edb4c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -903,6 +903,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
		data = vmcs_readl(GUEST_SYSENTER_ESP);
		break;
	default:
		vmx_load_host_state(to_vmx(vcpu));
		msr = find_msr_entry(to_vmx(vcpu), msr_index);
		if (msr) {
			data = msr->data;