From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PART1 RFC v2 06/10] svm: Add interrupt injection via AVIC Date: Mon, 7 Mar 2016 16:36:21 +0100 Message-ID: <56DD9FF5.7010201@redhat.com> References: <1457124368-2025-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1457124368-2025-7-git-send-email-Suravee.Suthikulpanit@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, wei@redhat.com, sherry.hurwitz@amd.com To: Suravee Suthikulpanit , rkrcmar@redhat.com, joro@8bytes.org, bp@alien8.de, gleb@kernel.org, alex.williamson@redhat.com Return-path: In-Reply-To: <1457124368-2025-7-git-send-email-Suravee.Suthikulpanit@amd.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 04/03/2016 21:46, Suravee Suthikulpanit wrote: > +static void svm_deliver_avic_intr(struct kvm_vcpu *vcpu, int vec) > +{ > + struct vcpu_svm *svm = to_svm(vcpu); > + > + kvm_lapic_set_vector(vec, avic_get_bk_page_entry(svm, APIC_IRR)); > + > + if (vcpu->mode == IN_GUEST_MODE) { > + wrmsrl(SVM_AVIC_DOORBELL, > + __default_cpu_present_to_apicid(vcpu->cpu)); > + } else { > + kvm_vcpu_kick(vcpu); > + } You also need to add kvm_make_request(KVM_REQ_EVENT, vcpu); before the "if", similar to vmx_deliver_posted_interrupt. Paolo