All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicholas Piggin <npiggin@gmail.com>
To: qemu-devel@nongnu.org
Cc: Nicholas Piggin <npiggin@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Fabiano Rosas <farosas@suse.de>,
	Laurent Vivier <lvivier@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: [RFC PATCH 0/5] Add XHCI TR NOOP support, plus PCI, MSIX changes
Date: Sat,  9 Nov 2024 01:42:23 +1000	[thread overview]
Message-ID: <20241108154229.263097-1-npiggin@gmail.com> (raw)

Hi,

This RFC is wide-ranging for such a simple addition of XHCI TR NOOP
command, because adding qtests for it caught up some PCI/MSIX issues.

Firstly, the XHCI host shares a BAR between device registers and MSIX
space, which is not handled by qtest/pci. Keeping track of BAR mappings
in qtest and allowing MSIX to use an existing mapping seems to work.

For XHCI qtest, I added a MSIX check to ensure interrupts are working
correctly. As part of that I need to dequeue masked interrupts which
seems to require PBA writes to clear them, but I could be way off
base here. Adding that does cause e1000e qtest to break, because it
doesn't like clear pending via PBA.

The XHCI model change gets AIX's XHCI driver working, so that's another
data point beyond the simple qtest for it added here. Unfortunately it
is not so easy to independently test.

Any guidance or input would be welcome.

Thanks,
Nick

Nicholas Piggin (5):
  qtest/pci: Enforce balanced iomap/unmap
  qtest/libqos/pci: Fix msix_enable sharing bar0
  pci/msix: Implement PBA writes
  qtest/xhci: Add controller and device setup and ring tests
  hw/usb: Support XHCI TR NOOP commands

 tests/qtest/libqos/ahci.h       |   1 +
 tests/qtest/libqos/pci.h        |   4 +
 tests/qtest/libqos/virtio-pci.h |   1 +
 tests/qtest/usb-hcd-xhci-test.h | 232 ++++++++++++++
 hw/pci/msix.c                   |  16 +
 hw/usb/hcd-xhci.c               |  28 +-
 tests/qtest/ahci-test.c         |   2 +
 tests/qtest/libqos/ahci.c       |   6 +
 tests/qtest/libqos/pci.c        |  75 ++++-
 tests/qtest/libqos/virtio-pci.c |   6 +-
 tests/qtest/usb-hcd-xhci-test.c | 540 +++++++++++++++++++++++++++++++-
 11 files changed, 893 insertions(+), 18 deletions(-)
 create mode 100644 tests/qtest/usb-hcd-xhci-test.h

-- 
2.45.2



             reply	other threads:[~2024-11-08 15:48 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-08 15:42 Nicholas Piggin [this message]
2024-11-08 15:42 ` [RFC PATCH 1/5] qtest/pci: Enforce balanced iomap/unmap Nicholas Piggin
2024-11-11 14:09   ` Fabiano Rosas
2024-11-08 15:42 ` [RFC PATCH 2/5] qtest/libqos/pci: Fix msix_enable sharing bar0 Nicholas Piggin
2024-11-13 22:14   ` Fabiano Rosas
2024-11-08 15:42 ` [RFC PATCH 3/5] pci/msix: Implement PBA writes Nicholas Piggin
2024-11-08 15:42 ` [RFC PATCH 4/5] qtest/xhci: Add controller and device setup and ring tests Nicholas Piggin
2024-11-11 14:32   ` Fabiano Rosas
2024-11-27  1:46     ` Nicholas Piggin
2024-11-08 15:42 ` [RFC PATCH 5/5] hw/usb: Support XHCI TR NOOP commands Nicholas Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241108154229.263097-1-npiggin@gmail.com \
    --to=npiggin@gmail.com \
    --cc=farosas@suse.de \
    --cc=kraxel@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.