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

Commit 77c4ad8e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull two KVM fixes from Gleb Natapov.

* git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: VMX: do not check bit 12 of EPT violation exit qualification when undefined
  ARM: kvm: rename cpu_reset to avoid name clash
parents f9273188 bcd1c294
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -58,14 +58,14 @@ static const struct kvm_irq_level a15_vtimer_irq = {
 */
int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
{
	struct kvm_regs *cpu_reset;
	struct kvm_regs *reset_regs;
	const struct kvm_irq_level *cpu_vtimer_irq;

	switch (vcpu->arch.target) {
	case KVM_ARM_TARGET_CORTEX_A15:
		if (vcpu->vcpu_id > a15_max_cpu_idx)
			return -EINVAL;
		cpu_reset = &a15_regs_reset;
		reset_regs = &a15_regs_reset;
		vcpu->arch.midr = read_cpuid_id();
		cpu_vtimer_irq = &a15_vtimer_irq;
		break;
@@ -74,7 +74,7 @@ int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
	}

	/* Reset core registers */
	memcpy(&vcpu->arch.regs, cpu_reset, sizeof(vcpu->arch.regs));
	memcpy(&vcpu->arch.regs, reset_regs, sizeof(vcpu->arch.regs));

	/* Reset CP15 registers */
	kvm_reset_coprocs(vcpu);
+3 −1
Original line number Diff line number Diff line
@@ -5345,7 +5345,9 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu)
	 * There are errata that may cause this bit to not be set:
	 * AAK134, BY25.
	 */
	if (exit_qualification & INTR_INFO_UNBLOCK_NMI)
	if (!(to_vmx(vcpu)->idt_vectoring_info & VECTORING_INFO_VALID_MASK) &&
			cpu_has_virtual_nmis() &&
			(exit_qualification & INTR_INFO_UNBLOCK_NMI))
		vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, GUEST_INTR_STATE_NMI);

	gpa = vmcs_read64(GUEST_PHYSICAL_ADDRESS);