[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi
From: |
Thomas Huth |
Subject: |
Re: [Qemu-trivial] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests |
Date: |
Mon, 4 Sep 2017 09:17:20 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 04.09.2017 08:53, Laurent Vivier wrote:
> On 29/08/2017 20:13, Thomas Huth wrote:
>> Broken with commit b4ba67d9a7025 ("libqos: Change PCI accessors to take
>> opaque BAR handle") a while ago, but nobody noticed since the tests are
>> only run in SPEED=slow mode: The msix_pba_bar is not correctly initialized
>
> you mean "SPEED=quick"?
Ah, well, that sentence was ambiguous - I meant "nobody noticed since
the *ivshmem* tests are only run in SPEED=slow mode *and we are running
the tests in quick mode only by default*".
Maybe this could be fixed up when the patch is picked up...
>> anymore if bir_pba has the same value as bir_table. With this fix,
>> "make check SPEED=slow" should work fine again.
>>
>> Fixes: b4ba67d9a702507793c2724e56f98e9b0f7be02b
>> Signed-off-by: Thomas Huth <address@hidden>
>> ---
>> tests/libqos/pci.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/tests/libqos/pci.c b/tests/libqos/pci.c
>> index 2dcdead..28d576c 100644
>> --- a/tests/libqos/pci.c
>> +++ b/tests/libqos/pci.c
>> @@ -120,6 +120,8 @@ void qpci_msix_enable(QPCIDevice *dev)
>> bir_pba = table & PCI_MSIX_FLAGS_BIRMASK;
>> if (bir_pba != bir_table) {
>> dev->msix_pba_bar = qpci_iomap(dev, bir_pba, NULL);
>> + } else {
>> + dev->msix_pba_bar = dev->msix_table_bar;
>> }
>> dev->msix_pba_off = table & ~PCI_MSIX_FLAGS_BIRMASK;
>>
>> @@ -138,8 +140,11 @@ void qpci_msix_disable(QPCIDevice *dev)
>> qpci_config_writew(dev, addr + PCI_MSIX_FLAGS,
>> val &
>> ~PCI_MSIX_FLAGS_ENABLE);
>>
>> + if (dev->msix_pba_bar.addr != dev->msix_table_bar.addr) {
>> + qpci_iounmap(dev, dev->msix_pba_bar);
>> + }
>> qpci_iounmap(dev, dev->msix_table_bar);
>> - qpci_iounmap(dev, dev->msix_pba_bar);
>> +
>> dev->msix_enabled = 0;
>> dev->msix_table_off = 0;
>> dev->msix_pba_off = 0;
>>
>
> Reviewed-by: Laurent Vivier <address@hidden>
Thanks!
Thomas