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

Commit e5314067 authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: VMX: Avoid exit when setting cr8 if the local apic is in the kernel



With apic in userspace, we must exit to userspace after a cr8 write in order
to update the tpr.  But if the apic is in the kernel, the exit is unnecessary.

Noticed by Joerg Roedel.

Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent e934c9c1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1973,6 +1973,8 @@ static int handle_cr(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
			vcpu_load_rsp_rip(vcpu);
			set_cr8(vcpu, vcpu->regs[reg]);
			skip_emulated_instruction(vcpu);
			if (irqchip_in_kernel(vcpu->kvm))
				return 1;
			kvm_run->exit_reason = KVM_EXIT_SET_TPR;
			return 0;
		};