[PATCH 0/8] Make PAT handling less brittle

Demi Marie Obenour posted 8 patches 1 year, 5 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
xen/arch/x86/include/asm/page.h      |  4 +-
xen/arch/x86/include/asm/processor.h | 22 +++++++++-
xen/arch/x86/mm.c                    | 65 ++++++++++++++++++++++++----
xen/arch/x86/mm/p2m-pt.c             |  6 +--
xen/arch/x86/mm/shadow/multi.c       |  8 ++--
xen/common/efi/boot.c                | 10 ++---
6 files changed, 91 insertions(+), 24 deletions(-)
[PATCH 0/8] Make PAT handling less brittle
Posted by Demi Marie Obenour 1 year, 5 months ago
While working on Qubes OS Marek found out that there were some PAT hacks
in the Linux i915 driver.  I decided to make Xen use Linux’s PAT to see
if it solved the graphics glitches that were observed; it did.  This
required a substantial amount of preliminary work that is useful even
without using Linux’s PAT.

Patches 1 through 7 are the preliminary work and I would like them to be
accepted into upstream Xen.  Patch 7 does technically break ABI by
rejecting the unused PAT entries in debug builds, but as release builds
are not impacted I suspect it is not a serious concern.  Patch 8
actually switches to Linux’s PAT and is NOT intended to be merged (at
least for now) as it would at a minimum break migration of PV guests
from hosts that do not have the patch.

Demi Marie Obenour (8):
  x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
  p2m-pt: Avoid hard-coding Xen's PAT
  x86/mm/shadow: avoid assuming a specific Xen PAT
  efi: Avoid hard-coding the various PAT constants
  x86/mm/shadow: do not open-code PAGE_CACHE_ATTRS
  x86: Derive XEN_MSR_PAT from its individual entries
  x86/mm: make code robust to future PAT changes
  Use Linux's PAT

 xen/arch/x86/include/asm/page.h      |  4 +-
 xen/arch/x86/include/asm/processor.h | 22 +++++++++-
 xen/arch/x86/mm.c                    | 65 ++++++++++++++++++++++++----
 xen/arch/x86/mm/p2m-pt.c             |  6 +--
 xen/arch/x86/mm/shadow/multi.c       |  8 ++--
 xen/common/efi/boot.c                | 10 ++---
 6 files changed, 91 insertions(+), 24 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab