All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
@ 2017-08-29 18:13 Thomas Huth
  2017-08-30  2:11 ` David Gibson
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Thomas Huth @ 2017-08-29 18:13 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-trivial, David Gibson, Laurent Vivier,
	Philippe Mathieu-Daudé,
	Marc-André Lureau

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
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 <thuth@redhat.com>
---
 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;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
  2017-08-29 18:13 [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests Thomas Huth
@ 2017-08-30  2:11 ` David Gibson
  2017-08-30 15:08 ` Cornelia Huck
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: David Gibson @ 2017-08-30  2:11 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, qemu-trivial, Laurent Vivier,
	Philippe Mathieu-Daudé,
	Marc-André Lureau

[-- Attachment #1: Type: text/plain, Size: 1899 bytes --]

On Tue, Aug 29, 2017 at 08:13:36PM +0200, 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
> 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 <thuth@redhat.com>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

> ---
>  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;

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
  2017-08-29 18:13 [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests Thomas Huth
  2017-08-30  2:11 ` David Gibson
@ 2017-08-30 15:08 ` Cornelia Huck
  2017-09-04  6:53 ` Laurent Vivier
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Cornelia Huck @ 2017-08-30 15:08 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, qemu-trivial, Laurent Vivier,
	Philippe Mathieu-Daudé,
	Marc-André Lureau, David Gibson

On Tue, 29 Aug 2017 20:13:36 +0200
Thomas Huth <thuth@redhat.com> 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
> 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 <thuth@redhat.com>
> ---
>  tests/libqos/pci.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)

With that (and "hw/misc/ivshmem: Fix ivshmem_recv_msg() to also work on
big endian systems"), "make check SPEED=slow" now works for me both on
x86_64 and s390x, so

Tested-by: Cornelia Huck <cohuck@redhat.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
  2017-08-29 18:13 [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests Thomas Huth
  2017-08-30  2:11 ` David Gibson
  2017-08-30 15:08 ` Cornelia Huck
@ 2017-09-04  6:53 ` Laurent Vivier
  2017-09-04  7:17   ` Thomas Huth
  2017-09-11  7:32 ` Cornelia Huck
  2017-09-14  7:46 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
  4 siblings, 1 reply; 8+ messages in thread
From: Laurent Vivier @ 2017-09-04  6:53 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: qemu-trivial, David Gibson, Philippe Mathieu-Daudé,
	Marc-André Lureau

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"?

> 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 <thuth@redhat.com>
> ---
>  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 <lvivier@redhat.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
  2017-09-04  6:53 ` Laurent Vivier
@ 2017-09-04  7:17   ` Thomas Huth
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2017-09-04  7:17 UTC (permalink / raw)
  To: Laurent Vivier, qemu-devel
  Cc: qemu-trivial, David Gibson, Philippe Mathieu-Daudé,
	Marc-André Lureau

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 <thuth@redhat.com>
>> ---
>>  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 <lvivier@redhat.com>

Thanks!
 Thomas

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
  2017-08-29 18:13 [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests Thomas Huth
                   ` (2 preceding siblings ...)
  2017-09-04  6:53 ` Laurent Vivier
@ 2017-09-11  7:32 ` Cornelia Huck
  2017-09-11  9:49   ` David Gibson
  2017-09-14  7:46 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
  4 siblings, 1 reply; 8+ messages in thread
From: Cornelia Huck @ 2017-09-11  7:32 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, qemu-trivial, Laurent Vivier,
	Philippe Mathieu-Daudé,
	Marc-André Lureau, David Gibson

On Tue, 29 Aug 2017 20:13:36 +0200
Thomas Huth <thuth@redhat.com> 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
> 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 <thuth@redhat.com>
> ---
>  tests/libqos/pci.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)

There really should be a better tree for that than my s390 tree, but
the other ivshmem patch was feeling a bit lonely, so I queued this as
well. Better than having the patch languish on the list.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
  2017-09-11  7:32 ` Cornelia Huck
@ 2017-09-11  9:49   ` David Gibson
  0 siblings, 0 replies; 8+ messages in thread
From: David Gibson @ 2017-09-11  9:49 UTC (permalink / raw)
  To: Cornelia Huck
  Cc: Thomas Huth, qemu-devel, qemu-trivial, Laurent Vivier,
	Philippe Mathieu-Daudé,
	Marc-André Lureau

[-- Attachment #1: Type: text/plain, Size: 1143 bytes --]

On Mon, Sep 11, 2017 at 09:32:07AM +0200, Cornelia Huck wrote:
> On Tue, 29 Aug 2017 20:13:36 +0200
> Thomas Huth <thuth@redhat.com> 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
> > 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 <thuth@redhat.com>
> > ---
> >  tests/libqos/pci.c | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> There really should be a better tree for that than my s390 tree, but
> the other ivshmem patch was feeling a bit lonely, so I queued this as
> well. Better than having the patch languish on the list.

Thanks, Cornelia.


-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [Qemu-trivial] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests
  2017-08-29 18:13 [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests Thomas Huth
                   ` (3 preceding siblings ...)
  2017-09-11  7:32 ` Cornelia Huck
@ 2017-09-14  7:46 ` Michael Tokarev
  4 siblings, 0 replies; 8+ messages in thread
From: Michael Tokarev @ 2017-09-14  7:46 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: qemu-trivial, Laurent Vivier, Philippe Mathieu-Daudé,
	Marc-André Lureau, David Gibson

29.08.2017 21: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
> anymore if bir_pba has the same value as bir_table. With this fix,
> "make check SPEED=slow" should work fine again.

Applied to -trivial, thanks!

/mjt

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-09-14  7:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-29 18:13 [Qemu-devel] [PATCH for-2.11] tests: Fix broken ivshmem-server-msi/-irq tests Thomas Huth
2017-08-30  2:11 ` David Gibson
2017-08-30 15:08 ` Cornelia Huck
2017-09-04  6:53 ` Laurent Vivier
2017-09-04  7:17   ` Thomas Huth
2017-09-11  7:32 ` Cornelia Huck
2017-09-11  9:49   ` David Gibson
2017-09-14  7:46 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.