On 22.08.2022 17:27, Marek Marczykowski-Górecki wrote: > That's possible, because the capability was designed specifically to > allow separate driver handle it, in parallel to unmodified xhci driver > (separate set of registers, pretending the port is "disconnected" for > the main xhci driver etc). It works with Linux dom0, although requires > an awful hack - re-enabling bus mastering behind dom0's backs. > Linux driver does similar thing - see > drivers/usb/early/xhci-dbc.c:xdbc_handle_events(). > > When controller sharing is enabled in kconfig (option marked as > experimental), dom0 is allowed to use the controller even if Xen uses it > for debug console. Additionally, option `dbgp=xhci,share=` is available > to either prevent even dom0 from using it (`no` value), or allow any > domain using it (`any` value). > > In any case, to avoid Linux messing with the DbC, mark this MMIO area as > read-only. This might cause issues for Linux's driver (if it tries to > write something on the same page - like anoter xcap), but makes Xen's > use safe. In practice, as of Linux 5.18, it seems to work without > issues. > > Signed-off-by: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeul...@suse.com>