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

Roger Pau Monne posted 3 patches 1 week, 4 days ago
Failed in applying to current master (apply log)
There is a newer version of this series
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(-)
[PATCH for-4.19 v2 0/3] xen/x86: support foreign mappings for HVM/PVH
Posted by Roger Pau Monne 1 week, 4 days ago
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(-)

-- 
2.44.0