* [Qemu-devel] [PATCH buildfix for-2.1] libqos: Fix PC PCI endianness glitches
@ 2014-07-14 15:38 Andreas Färber
2014-07-14 15:47 ` Paolo Bonzini
2014-07-15 14:05 ` Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Andreas Färber @ 2014-07-14 15:38 UTC (permalink / raw)
To: qemu-devel
Cc: aik, Peter Maydell, Andreas Färber, Anthony Liguori,
Gerd Hoffmann
The libqos implementation of io_read{b,w,l} and io_write{b,w,l} hooks
was relying on qtest_mem{read,write}() respectively. With d81d410 (usb:
improve ehci/uhci test) this resulted in assertion failures on ppc hosts:
ERROR:tests/usb-hcd-ehci-test.c:78:ehci_port_test: assertion failed: ((value & mask) == (expect & mask))
ERROR:tests/usb-hcd-ehci-test.c:128:pci_uhci_port_2: assertion failed: (pcibus != NULL)
ERROR:tests/usb-hcd-ehci-test.c:150:pci_ehci_port_2: assertion failed: (pcibus != NULL)
qtest_read{b,w,l,q}() and qtest_write{b,w,l,q}() had been introduced
as endian-safe replacement for qtest_mem{read,write}() in I2C in
872536b (qtest: Add MMIO support). Use them for PCI as well.
Cc: Anthony Liguori <aliguori@amazon.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Fixes: c4efe1c qtest: add libqos including PCI support
Fixes: d81d410 usb: improve ehci/uhci test
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
tests/libqos/pci-pc.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tests/libqos/pci-pc.c b/tests/libqos/pci-pc.c
index bf741a4..4adf400 100644
--- a/tests/libqos/pci-pc.c
+++ b/tests/libqos/pci-pc.c
@@ -41,7 +41,7 @@ static uint8_t qpci_pc_io_readb(QPCIBus *bus, void *addr)
if (port < 0x10000) {
value = inb(port);
} else {
- memread(port, &value, sizeof(value));
+ value = readb(port);
}
return value;
@@ -55,7 +55,7 @@ static uint16_t qpci_pc_io_readw(QPCIBus *bus, void *addr)
if (port < 0x10000) {
value = inw(port);
} else {
- memread(port, &value, sizeof(value));
+ value = readw(port);
}
return value;
@@ -69,7 +69,7 @@ static uint32_t qpci_pc_io_readl(QPCIBus *bus, void *addr)
if (port < 0x10000) {
value = inl(port);
} else {
- memread(port, &value, sizeof(value));
+ value = readl(port);
}
return value;
@@ -82,7 +82,7 @@ static void qpci_pc_io_writeb(QPCIBus *bus, void *addr, uint8_t value)
if (port < 0x10000) {
outb(port, value);
} else {
- memwrite(port, &value, sizeof(value));
+ writeb(port, value);
}
}
@@ -93,7 +93,7 @@ static void qpci_pc_io_writew(QPCIBus *bus, void *addr, uint16_t value)
if (port < 0x10000) {
outw(port, value);
} else {
- memwrite(port, &value, sizeof(value));
+ writew(port, value);
}
}
@@ -104,7 +104,7 @@ static void qpci_pc_io_writel(QPCIBus *bus, void *addr, uint32_t value)
if (port < 0x10000) {
outl(port, value);
} else {
- memwrite(port, &value, sizeof(value));
+ writel(port, value);
}
}
--
1.8.4.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH buildfix for-2.1] libqos: Fix PC PCI endianness glitches
2014-07-14 15:38 [Qemu-devel] [PATCH buildfix for-2.1] libqos: Fix PC PCI endianness glitches Andreas Färber
@ 2014-07-14 15:47 ` Paolo Bonzini
2014-07-15 14:05 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2014-07-14 15:47 UTC (permalink / raw)
To: Andreas Färber, qemu-devel
Cc: aik, Peter Maydell, Gerd Hoffmann, Anthony Liguori
Il 14/07/2014 17:38, Andreas Färber ha scritto:
> The libqos implementation of io_read{b,w,l} and io_write{b,w,l} hooks
> was relying on qtest_mem{read,write}() respectively. With d81d410 (usb:
> improve ehci/uhci test) this resulted in assertion failures on ppc hosts:
>
> ERROR:tests/usb-hcd-ehci-test.c:78:ehci_port_test: assertion failed: ((value & mask) == (expect & mask))
>
> ERROR:tests/usb-hcd-ehci-test.c:128:pci_uhci_port_2: assertion failed: (pcibus != NULL)
>
> ERROR:tests/usb-hcd-ehci-test.c:150:pci_ehci_port_2: assertion failed: (pcibus != NULL)
>
> qtest_read{b,w,l,q}() and qtest_write{b,w,l,q}() had been introduced
> as endian-safe replacement for qtest_mem{read,write}() in I2C in
> 872536b (qtest: Add MMIO support). Use them for PCI as well.
>
> Cc: Anthony Liguori <aliguori@amazon.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Fixes: c4efe1c qtest: add libqos including PCI support
> Fixes: d81d410 usb: improve ehci/uhci test
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> tests/libqos/pci-pc.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/tests/libqos/pci-pc.c b/tests/libqos/pci-pc.c
> index bf741a4..4adf400 100644
> --- a/tests/libqos/pci-pc.c
> +++ b/tests/libqos/pci-pc.c
> @@ -41,7 +41,7 @@ static uint8_t qpci_pc_io_readb(QPCIBus *bus, void *addr)
> if (port < 0x10000) {
> value = inb(port);
> } else {
> - memread(port, &value, sizeof(value));
> + value = readb(port);
> }
>
> return value;
> @@ -55,7 +55,7 @@ static uint16_t qpci_pc_io_readw(QPCIBus *bus, void *addr)
> if (port < 0x10000) {
> value = inw(port);
> } else {
> - memread(port, &value, sizeof(value));
> + value = readw(port);
> }
>
> return value;
> @@ -69,7 +69,7 @@ static uint32_t qpci_pc_io_readl(QPCIBus *bus, void *addr)
> if (port < 0x10000) {
> value = inl(port);
> } else {
> - memread(port, &value, sizeof(value));
> + value = readl(port);
> }
>
> return value;
> @@ -82,7 +82,7 @@ static void qpci_pc_io_writeb(QPCIBus *bus, void *addr, uint8_t value)
> if (port < 0x10000) {
> outb(port, value);
> } else {
> - memwrite(port, &value, sizeof(value));
> + writeb(port, value);
> }
> }
>
> @@ -93,7 +93,7 @@ static void qpci_pc_io_writew(QPCIBus *bus, void *addr, uint16_t value)
> if (port < 0x10000) {
> outw(port, value);
> } else {
> - memwrite(port, &value, sizeof(value));
> + writew(port, value);
> }
> }
>
> @@ -104,7 +104,7 @@ static void qpci_pc_io_writel(QPCIBus *bus, void *addr, uint32_t value)
> if (port < 0x10000) {
> outl(port, value);
> } else {
> - memwrite(port, &value, sizeof(value));
> + writel(port, value);
> }
> }
>
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH buildfix for-2.1] libqos: Fix PC PCI endianness glitches
2014-07-14 15:38 [Qemu-devel] [PATCH buildfix for-2.1] libqos: Fix PC PCI endianness glitches Andreas Färber
2014-07-14 15:47 ` Paolo Bonzini
@ 2014-07-15 14:05 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2014-07-15 14:05 UTC (permalink / raw)
To: Andreas Färber
Cc: Alexey Kardashevskiy, QEMU Developers, Anthony Liguori,
Gerd Hoffmann
On 14 July 2014 16:38, Andreas Färber <afaerber@suse.de> wrote:
> The libqos implementation of io_read{b,w,l} and io_write{b,w,l} hooks
> was relying on qtest_mem{read,write}() respectively. With d81d410 (usb:
> improve ehci/uhci test) this resulted in assertion failures on ppc hosts:
>
> ERROR:tests/usb-hcd-ehci-test.c:78:ehci_port_test: assertion failed: ((value & mask) == (expect & mask))
>
> ERROR:tests/usb-hcd-ehci-test.c:128:pci_uhci_port_2: assertion failed: (pcibus != NULL)
>
> ERROR:tests/usb-hcd-ehci-test.c:150:pci_ehci_port_2: assertion failed: (pcibus != NULL)
>
> qtest_read{b,w,l,q}() and qtest_write{b,w,l,q}() had been introduced
> as endian-safe replacement for qtest_mem{read,write}() in I2C in
> 872536b (qtest: Add MMIO support). Use them for PCI as well.
>
> Cc: Anthony Liguori <aliguori@amazon.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Fixes: c4efe1c qtest: add libqos including PCI support
> Fixes: d81d410 usb: improve ehci/uhci test
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> tests/libqos/pci-pc.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
Applied to master, thanks.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-07-15 14:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-14 15:38 [Qemu-devel] [PATCH buildfix for-2.1] libqos: Fix PC PCI endianness glitches Andreas Färber
2014-07-14 15:47 ` Paolo Bonzini
2014-07-15 14:05 ` Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).