[PATCH v5 0/3] Add API for making parts of a MMIO page R/O and use it in XHCI console

Marek Marczykowski-Górecki posted 3 patches 1 month, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/cover.8c9972382c46fce22682bcec2ee28fe2501dd18f.1721356393.git-series.marmarek@invisiblethingslab.com
There is a newer version of this series
xen/arch/x86/hvm/emulate.c      |   2 +-
xen/arch/x86/hvm/hvm.c          |   4 +-
xen/arch/x86/include/asm/mm.h   |  23 +++-
xen/arch/x86/mm.c               | 262 +++++++++++++++++++++++++++++++++-
xen/arch/x86/pv/ro-page-fault.c |   6 +-
xen/drivers/char/xhci-dbc.c     |  36 +++--
xen/include/xen/list.h          |   3 +-
7 files changed, 317 insertions(+), 19 deletions(-)
[PATCH v5 0/3] Add API for making parts of a MMIO page R/O and use it in XHCI console
Posted by Marek Marczykowski-Górecki 1 month, 2 weeks ago
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 (3):
  xen/list: add LIST_HEAD_RO_AFTER_INIT
  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

 xen/arch/x86/hvm/emulate.c      |   2 +-
 xen/arch/x86/hvm/hvm.c          |   4 +-
 xen/arch/x86/include/asm/mm.h   |  23 +++-
 xen/arch/x86/mm.c               | 262 +++++++++++++++++++++++++++++++++-
 xen/arch/x86/pv/ro-page-fault.c |   6 +-
 xen/drivers/char/xhci-dbc.c     |  36 +++--
 xen/include/xen/list.h          |   3 +-
 7 files changed, 317 insertions(+), 19 deletions(-)

base-commit: a99f25f7ac60544e9af4b3b516d7566ba8841cc4
-- 
git-series 0.9.1