mbox series

[v3,00/10] Add Xue - console over USB 3 Debug Capability

Message ID cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com (mailing list archive)
Headers show
Series Add Xue - console over USB 3 Debug Capability | expand

Message

Marek Marczykowski-Górecki July 26, 2022, 3:23 a.m. UTC
This is integration of https://github.com/connojd/xue into mainline Xen.
This patch series includes several patches that I made in the process, some are
very loosely related.

The driver developed by Connor supports console via USB3 debug capability. The
capability is designed to operate mostly independently of normal XHCI driver,
so this patch series allows dom0 to drive standard USB3 controller part, while
Xen uses DbC for console output.

Changes since RFC:
 - move the driver to xue.c, remove non-Xen parts, remove now unneeded abstraction
 - adjust for Xen code style
 - build for x86 only
 - drop patch hidding the device from dom0
Changes since v1:
 - drop ehci patch - already applied
 - adjust for review comments from Jan (see changelogs in individual patches)
Changes since v2:
 - add runtime option to share (or not) the controller with dom0 or other domains
 - add RX support
 - several smaller changes according to review comments

Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Wei Liu <wl@xen.org>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Connor Davis <connojdavis@gmail.com>

Connor Davis (1):
  drivers/char: Add support for USB3 DbC debugger

Marek Marczykowski-Górecki (9):
  drivers/char: reset XHCI ports when initializing dbc
  drivers/char: add support for selecting specific xhci
  console: support multiple serial console simultaneously
  IOMMU: add common API for device reserved memory
  IOMMU/VT-d: wire common device reserved memory API
  IOMMU/AMD: wire common device reserved memory API
  drivers/char: mark DMA buffers as reserved for the XHCI
  drivers/char: allow driving the rest of XHCI by a domain while Xen uses DbC
  driver/char: add RX support to the XHCI driver

 docs/misc/xen-command-line.pandoc        |   19 +-
 xen/arch/x86/include/asm/fixmap.h        |    4 +-
 xen/arch/x86/setup.c                     |    1 +-
 xen/drivers/char/Kconfig                 |   20 +-
 xen/drivers/char/Makefile                |    1 +-
 xen/drivers/char/console.c               |   97 +-
 xen/drivers/char/xhci-dbc.c              | 1367 +++++++++++++++++++++++-
 xen/drivers/passthrough/amd/iommu_acpi.c |   21 +-
 xen/drivers/passthrough/iommu.c          |   45 +-
 xen/drivers/passthrough/vtd/dmar.c       |  201 +--
 xen/include/xen/iommu.h                  |   13 +-
 xen/include/xen/serial.h                 |    6 +-
 12 files changed, 1690 insertions(+), 105 deletions(-)
 create mode 100644 xen/drivers/char/xhci-dbc.c

base-commit: 4df2e99d731402da48afb19dc970ccab5a0814d6

Comments

Jan Beulich July 26, 2022, 6:18 a.m. UTC | #1
On 26.07.2022 05:23, Marek Marczykowski-Górecki wrote:
> This is integration of https://github.com/connojd/xue into mainline Xen.
> This patch series includes several patches that I made in the process, some are
> very loosely related.
> 
> The driver developed by Connor supports console via USB3 debug capability. The
> capability is designed to operate mostly independently of normal XHCI driver,
> so this patch series allows dom0 to drive standard USB3 controller part, while
> Xen uses DbC for console output.
> 
> Changes since RFC:
>  - move the driver to xue.c, remove non-Xen parts, remove now unneeded abstraction
>  - adjust for Xen code style
>  - build for x86 only
>  - drop patch hidding the device from dom0
> Changes since v1:
>  - drop ehci patch - already applied
>  - adjust for review comments from Jan (see changelogs in individual patches)
> Changes since v2:
>  - add runtime option to share (or not) the controller with dom0 or other domains
>  - add RX support
>  - several smaller changes according to review comments
> 
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: George Dunlap <george.dunlap@citrix.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Wei Liu <wl@xen.org>
> Cc: "Roger Pau Monné" <roger.pau@citrix.com>
> Cc: Paul Durrant <paul@xen.org>
> Cc: Kevin Tian <kevin.tian@intel.com>
> Cc: Connor Davis <connojdavis@gmail.com>
> 
> Connor Davis (1):
>   drivers/char: Add support for USB3 DbC debugger

I notice this patch was sent twice, about 4 min ahead of the full set.
I take it that the set having come close together is the definitive
one, and that one extra copy is the one to be ignored.

Jan
Marek Marczykowski-Górecki July 26, 2022, 9:26 a.m. UTC | #2
On Tue, Jul 26, 2022 at 08:18:40AM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-Górecki wrote:
> > This is integration of https://github.com/connojd/xue into mainline Xen.
> > This patch series includes several patches that I made in the process, some are
> > very loosely related.
> > 
> > The driver developed by Connor supports console via USB3 debug capability. The
> > capability is designed to operate mostly independently of normal XHCI driver,
> > so this patch series allows dom0 to drive standard USB3 controller part, while
> > Xen uses DbC for console output.
> > 
> > Changes since RFC:
> >  - move the driver to xue.c, remove non-Xen parts, remove now unneeded abstraction
> >  - adjust for Xen code style
> >  - build for x86 only
> >  - drop patch hidding the device from dom0
> > Changes since v1:
> >  - drop ehci patch - already applied
> >  - adjust for review comments from Jan (see changelogs in individual patches)
> > Changes since v2:
> >  - add runtime option to share (or not) the controller with dom0 or other domains
> >  - add RX support
> >  - several smaller changes according to review comments
> > 
> > Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> > Cc: George Dunlap <george.dunlap@citrix.com>
> > Cc: Jan Beulich <jbeulich@suse.com>
> > Cc: Julien Grall <julien@xen.org>
> > Cc: Stefano Stabellini <sstabellini@kernel.org>
> > Cc: Wei Liu <wl@xen.org>
> > Cc: "Roger Pau Monné" <roger.pau@citrix.com>
> > Cc: Paul Durrant <paul@xen.org>
> > Cc: Kevin Tian <kevin.tian@intel.com>
> > Cc: Connor Davis <connojdavis@gmail.com>
> > 
> > Connor Davis (1):
> >   drivers/char: Add support for USB3 DbC debugger
> 
> I notice this patch was sent twice, about 4 min ahead of the full set.
> I take it that the set having come close together is the definitive
> one, and that one extra copy is the one to be ignored.

Yes, I noticed too late I forgot to drop Connor's broken address, that's
the only difference.