From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33257) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ab7ZF-0004Op-17 for qemu-devel@nongnu.org; Wed, 02 Mar 2016 09:16:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ab7ZB-0000Hu-SL for qemu-devel@nongnu.org; Wed, 02 Mar 2016 09:15:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44645) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ab7ZB-0000Ho-My for qemu-devel@nongnu.org; Wed, 02 Mar 2016 09:15:53 -0500 References: <1456771254-17511-1-git-send-email-armbru@redhat.com> <1456771254-17511-19-git-send-email-armbru@redhat.com> <56D5D19D.7030609@redhat.com> <87y4a1m97y.fsf@blackfin.pond.sub.org> From: Paolo Bonzini Message-ID: <56D6F594.1010005@redhat.com> Date: Wed, 2 Mar 2016 15:15:48 +0100 MIME-Version: 1.0 In-Reply-To: <87y4a1m97y.fsf@blackfin.pond.sub.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 18/38] ivshmem: Leave INTx alone when using MSI-X List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Claudio Fontana , cam , =?UTF-8?Q?Marc-Andr=c3=a9_Lureau?= , QEMU , David Marchand On 02/03/2016 12:04, Markus Armbruster wrote: > For better or worse, fallback to INTx has never been implemented in > ivshmem. You can either ask for an INTx-only device (msi=3Doff), or fo= r > an MSI-X-only device (msi=3Don). The latter *cannot* do interrupts unt= il > you enable MSI-X. Aha, now I see what you mean: if (ivshmem_has_feature(s, IVSHMEM_MSI)) { msix_notify(pdev, vector); } else { ivshmem_IntrStatus_write(s, 1); } So I believe your patch is okay. Perhaps you could also change the interrupt pin for new machine types (even without changing the revision), but it's not necessary to do it. > Similarly, the ivshmem-doorbell device introduced later in this series > can only do MSI-X, and the ivshmem-plain device cannot do interrupts at > all. Here: dev->config[PCI_INTERRUPT_PIN] =3D 0x01; /* interrupt pin 1 */ Paolo