Message ID | c2830cae9affe327170c900731a7ca050ddb91ea.1590101479.git.tamas.lengyel@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [for-4.14,1/2] x86/mem_sharing: Prohibit interrupt injection for forks | expand |
On Thu, May 21, 2020 at 03:53:23PM -0700, Tamas K Lengyel wrote: > Toolstack side for creating forks with interrupt injection disabled. > > Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com> I have the same suggestion to use block instead of prohibit, so if you agree to change it on patch #1 it should also be changed here. Thanks, Roger.
Tamas K Lengyel writes ("[PATCH for-4.14 2/2] tools/libxc: xc_memshr_fork with interrupts disabled"): > Toolstack side for creating forks with interrupt injection disabled. Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Subject to the hypervisor folks being happy with the underlying feature. Ian.
diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h index 45ff7db1e8..0ea839b72a 100644 --- a/tools/libxc/include/xenctrl.h +++ b/tools/libxc/include/xenctrl.h @@ -2242,7 +2242,8 @@ int xc_memshr_range_share(xc_interface *xch, int xc_memshr_fork(xc_interface *xch, uint32_t source_domain, uint32_t client_domain, - bool allow_with_iommu); + bool allow_with_iommu, + bool prohibit_interrupts); /* * Note: this function is only intended to be used on short-lived forks that diff --git a/tools/libxc/xc_memshr.c b/tools/libxc/xc_memshr.c index 2300cc7075..e2de1d3aa2 100644 --- a/tools/libxc/xc_memshr.c +++ b/tools/libxc/xc_memshr.c @@ -240,7 +240,7 @@ int xc_memshr_debug_gref(xc_interface *xch, } int xc_memshr_fork(xc_interface *xch, uint32_t pdomid, uint32_t domid, - bool allow_with_iommu) + bool allow_with_iommu, bool prohibit_interrupts) { xen_mem_sharing_op_t mso; @@ -251,6 +251,8 @@ int xc_memshr_fork(xc_interface *xch, uint32_t pdomid, uint32_t domid, if ( allow_with_iommu ) mso.u.fork.flags |= XENMEM_FORK_WITH_IOMMU_ALLOWED; + if ( prohibit_interrupts ) + mso.u.fork.flags |= XENMEM_FORK_PROHIBIT_INTERRUPTS; return xc_memshr_memop(xch, domid, &mso); }
Toolstack side for creating forks with interrupt injection disabled. Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com> --- tools/libxc/include/xenctrl.h | 3 ++- tools/libxc/xc_memshr.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-)