All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v18 00/11] x86: guest resource mapping
@ 2018-03-22 11:55 Paul Durrant
  2018-03-22 11:55 ` [PATCH v18 01/11] x86/hvm/ioreq: maintain an array of ioreq servers rather than a list Paul Durrant
                   ` (10 more replies)
  0 siblings, 11 replies; 30+ messages in thread
From: Paul Durrant @ 2018-03-22 11:55 UTC (permalink / raw)
  To: xen-devel
  Cc: Stefano Stabellini, Wei Liu, George Dunlap, Andrew Cooper,
	Ian Jackson, Marek Marczykowski-Górecki, Tim Deegan,
	Julien Grall, Paul Durrant, Jan Beulich, Daniel De Graaf,
	Chao Gao

This series introduces support for direct mapping of guest resources.
The resources are:
 - IOREQ server pages
 - Grant tables

v18:
 - Re-base
 - Use the now-reference-counted emulating domain to host ioreq pages

v17:
 - Make sure ioreq page free-ing is done at domain destruction

v16:
 - Fix default ioreq server code and verified with qemu trad

v15:
 - Correct page ownership of ioreq pages

v14:
 - Responded to more comments from Jan.

v13:
 - Responded to more comments from Jan and Julien.
 - Build-tested using ARM cross-compilation.

v12:
 - Responded to more comments from Jan.

v11:
 - Responded to more comments from Jan.

v10:
 - Responded to comments from Jan.

v9:
 - Change to patch #1 only.

v8:
 - Re-ordered series and dropped two patches that have already been
   committed.

v7:
 - Fixed assertion failure hit during domain destroy.

v6:
 - Responded to missed comments from Roger.

v5:
 - Responded to review comments from Wei.

v4:
 - Responded to further review comments from Roger.

v3:
 - Dropped original patch #1 since it is covered by Juergen's patch.
 - Added new xenforeignmemorycleanup patch (#4).
 - Replaced the patch introducing the ioreq server 'is_default' flag with
   one that changes the ioreq server list into an array (#8).

Paul Durrant (11):
  x86/hvm/ioreq: maintain an array of ioreq servers rather than a list
  x86/hvm/ioreq: simplify code and use consistent naming
  x86/hvm/ioreq: use gfn_t in struct hvm_ioreq_page
  x86/hvm/ioreq: defer mapping gfns until they are actually requested
  x86/mm: add HYPERVISOR_memory_op to acquire guest resources
  x86/hvm/ioreq: add a new mappable resource type...
  x86/mm: add an extra command to HYPERVISOR_mmu_update...
  tools/libxenforeignmemory: add support for resource mapping
  tools/libxenforeignmemory: reduce xenforeignmemory_restrict code
    footprint
  common: add a new mappable resource type: XENMEM_resource_grant_table
  tools/libxenctrl: use new xenforeignmemory API to seed grant table

 tools/flask/policy/modules/xen.if                  |   4 +-
 tools/include/xen-sys/Linux/privcmd.h              |  11 +
 tools/libs/devicemodel/core.c                      |   8 +
 tools/libs/devicemodel/include/xendevicemodel.h    |   6 +-
 tools/libs/foreignmemory/Makefile                  |   2 +-
 tools/libs/foreignmemory/core.c                    |  53 ++
 tools/libs/foreignmemory/freebsd.c                 |   7 -
 .../libs/foreignmemory/include/xenforeignmemory.h  |  41 +
 tools/libs/foreignmemory/libxenforeignmemory.map   |   5 +
 tools/libs/foreignmemory/linux.c                   |  45 ++
 tools/libs/foreignmemory/minios.c                  |   7 -
 tools/libs/foreignmemory/netbsd.c                  |   7 -
 tools/libs/foreignmemory/private.h                 |  43 +-
 tools/libs/foreignmemory/solaris.c                 |   7 -
 tools/libxc/include/xc_dom.h                       |   8 +-
 tools/libxc/xc_dom_boot.c                          | 114 ++-
 tools/libxc/xc_sr_restore_x86_hvm.c                |  10 +-
 tools/libxc/xc_sr_restore_x86_pv.c                 |   2 +-
 tools/libxl/libxl_dom.c                            |   1 -
 tools/python/xen/lowlevel/xc/xc.c                  |   6 +-
 xen/arch/x86/hvm/dm.c                              |   9 +-
 xen/arch/x86/hvm/ioreq.c                           | 884 ++++++++++++---------
 xen/arch/x86/mm.c                                  |  60 +-
 xen/arch/x86/mm/p2m.c                              |   3 +-
 xen/common/compat/memory.c                         | 100 +++
 xen/common/grant_table.c                           |  71 +-
 xen/common/memory.c                                | 137 ++++
 xen/include/asm-arm/mm.h                           |   8 +
 xen/include/asm-arm/p2m.h                          |  10 +
 xen/include/asm-x86/hvm/domain.h                   |  15 +-
 xen/include/asm-x86/hvm/ioreq.h                    |   2 +
 xen/include/asm-x86/mm.h                           |   5 +
 xen/include/asm-x86/p2m.h                          |   3 +
 xen/include/public/hvm/dm_op.h                     |  36 +-
 xen/include/public/memory.h                        |  69 +-
 xen/include/public/xen.h                           |  12 +-
 xen/include/xen/grant_table.h                      |   4 +
 xen/include/xlat.lst                               |   1 +
 xen/include/xsm/dummy.h                            |   6 +
 xen/include/xsm/xsm.h                              |   6 +
 xen/xsm/dummy.c                                    |   1 +
 xen/xsm/flask/hooks.c                              |   6 +
 xen/xsm/flask/policy/access_vectors                |   2 +
 43 files changed, 1320 insertions(+), 517 deletions(-)
---
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tim Deegan <tim@xen.org>
Cc: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul.durrant@citrix.com>
Cc: George Dunlap <george.dunlap@eu.citrix.com>
Cc: Julien Grall <julien.grall@arm.com>
Cc: Chao Gao <chao.gao@intel.com>

-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2018-03-29 14:38 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-22 11:55 [PATCH v18 00/11] x86: guest resource mapping Paul Durrant
2018-03-22 11:55 ` [PATCH v18 01/11] x86/hvm/ioreq: maintain an array of ioreq servers rather than a list Paul Durrant
2018-03-26 11:21   ` Jan Beulich
2018-03-28 14:44     ` Paul Durrant
2018-03-28 15:06       ` Paul Durrant
2018-03-22 11:55 ` [PATCH v18 02/11] x86/hvm/ioreq: simplify code and use consistent naming Paul Durrant
2018-03-22 11:55 ` [PATCH v18 03/11] x86/hvm/ioreq: use gfn_t in struct hvm_ioreq_page Paul Durrant
2018-03-22 11:55 ` [PATCH v18 04/11] x86/hvm/ioreq: defer mapping gfns until they are actually requested Paul Durrant
2018-03-22 11:55 ` [PATCH v18 05/11] x86/mm: add HYPERVISOR_memory_op to acquire guest resources Paul Durrant
2018-03-26 11:41   ` Jan Beulich
2018-03-26 12:51     ` Jan Beulich
2018-03-29  9:35       ` Paul Durrant
2018-03-29  9:53     ` Paul Durrant
2018-03-29 12:28       ` Jan Beulich
2018-03-29 12:43         ` Paul Durrant
2018-03-29 13:17           ` Paul Durrant
2018-03-29 14:25             ` Jan Beulich
2018-03-29 14:38               ` Paul Durrant
2018-03-22 11:55 ` [PATCH v18 06/11] x86/hvm/ioreq: add a new mappable resource type Paul Durrant
2018-03-26 11:55   ` Jan Beulich
2018-03-29 10:29     ` Paul Durrant
2018-03-22 11:55 ` [PATCH v18 07/11] x86/mm: add an extra command to HYPERVISOR_mmu_update Paul Durrant
2018-03-22 11:55 ` [PATCH v18 08/11] tools/libxenforeignmemory: add support for resource mapping Paul Durrant
2018-03-22 11:55 ` [PATCH v18 09/11] tools/libxenforeignmemory: reduce xenforeignmemory_restrict code footprint Paul Durrant
2018-03-22 11:55 ` [PATCH v18 10/11] common: add a new mappable resource type: XENMEM_resource_grant_table Paul Durrant
2018-03-26 12:16   ` Jan Beulich
2018-03-26 12:54     ` Jan Beulich
2018-03-29 11:02       ` Paul Durrant
2018-03-29 12:31         ` Jan Beulich
2018-03-22 11:55 ` [PATCH v18 11/11] tools/libxenctrl: use new xenforeignmemory API to seed grant table Paul Durrant

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.