On Fri, May 5, 2023 at 5:26 PM Marek Marczykowski-Górecki <marma...@invisiblethingslab.com> wrote: > > On older systems, XHCI xcap had a layout that no other (interesting) registers > were placed on the same page as the debug capability, so Linux was fine with > making the whole page R/O. But at least on Tiger Lake and Alder Lake, Linux > needs to write to some other registers on the same page too. > > Add a generic API for making just parts of an MMIO page R/O and use it to fix > USB3 console with share=yes or share=hwdom options. More details in commit > messages. > > Marek Marczykowski-Górecki (2): > x86/mm: add API for marking only part of a MMIO page read only > drivers/char: Use sub-page ro API to make just xhci dbc cap RO
Series: Tested-by: Jason Andryuk <jandr...@gmail.com> I had the issue with a 10th Gen, Comet Lake, laptop. With an HVM usbvm with dbgp=xhci,share=1, Xen crashed the domain because of: (XEN) d1v0 EPT violation 0xdaa (-w-/r-x) gpa 0x000000f1008470 mfn 0xcc328 type 5 The BAR is mfn 0xcc320-0xcc32f Booting PV, it faulted at drivers/usb/host/pci-quirks.c:1170 which looks to be: ``` /* Disable any BIOS SMIs and clear all SMI events*/ writel(val, base + ext_cap_offset + XHCI_LEGACY_CONTROL_OFFSET); ``` Thanks for integrating XUE, Marek! Regards, Jason