mbox series

[for-4.19,v2,0/3] xen/x86: support foreign mappings for HVM/PVH

Message ID 20240508112323.38946-1-roger.pau@citrix.com (mailing list archive)
Headers show
Series xen/x86: support foreign mappings for HVM/PVH | expand

Message

Roger Pau Monné May 8, 2024, 11:23 a.m. UTC
Hello,

The following series attempts to solve a shortcoming of HVM/PVH guests
with the lack of support for foreign mappings.  Such lack of support
prevents using PVH based guests as stubdomains for example.

Add support in a way similar to how it's done on Arm, by iterating over
the p2m based on the maximum gfn.

Patch 2 is not strictly needed.  Moving the enablement of altp2m from an
HVM param to a create domctl flag avoids any possible race with the HVM
param changing after it's been evaluated.  Note the param can only be
set by the control domain, and libxl currently sets it at domain
create.  Also altp2m enablement is different from activation, as
activation does happen during runtime of the domain.

Thanks, Roger.

Roger Pau Monne (3):
  xen/x86: account number of foreign mappings in the p2m
  xen/x86: enable altp2m at create domain domctl
  xen/x86: remove foreign mappings from the p2m on teardown

 CHANGELOG.md                      |  1 +
 tools/libs/light/libxl_x86.c      | 43 ++++++++++++-------
 xen/arch/x86/domain.c             | 31 +++++++++++++-
 xen/arch/x86/hvm/hvm.c            | 15 ++++++-
 xen/arch/x86/include/asm/p2m.h    | 32 +++++++++------
 xen/arch/x86/mm/p2m-basic.c       | 17 ++++++++
 xen/arch/x86/mm/p2m.c             | 68 +++++++++++++++++++++++++++++--
 xen/include/public/arch-x86/xen.h | 18 ++++++++
 xen/include/public/hvm/params.h   |  9 +---
 9 files changed, 195 insertions(+), 39 deletions(-)