[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 18/38] ivshmem: Leave INTx alone when using MSI-
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 18/38] ivshmem: Leave INTx alone when using MSI-X |
Date: |
Wed, 02 Mar 2016 16:50:30 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Paolo Bonzini <address@hidden> writes:
> 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=off), or for
>> an MSI-X-only device (msi=on). The latter *cannot* do interrupts until
>> 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.
I can try to explain it a bit better in the comment and/or commit
message when I respin.
> 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.
I chose not to bother, because after PATCH 34, the non-deprecated
devices are all revision 1 (correct Interrupt Pin register).
>> 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] = 0x01; /* interrupt pin 1 */
Ah! I looked only for pci_config_set_interrupt_pin().