|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v8 for-4.12 00/17] Argo: hypervisor-mediated interdomain communication
Version eight of this series:
Note: This version may not address the currently open discussion on the
ARM hypercall argument convention and type selection for hypercall
parameters.
* Range check applied to numeric args in native hypercall entry
(ref: the above open discussion)
* Revises the compat ABI and implementation
- avoids duplication of hypercall op implementations via
forwarding to native for ops other than sendv
- register op uses an always-64-bit fixed width pfn type
for consistent ABI as well as compat reuse of the native op
- tested communication between VMs on x86-64 host with:
32-bit PV, 32-bit HVM and 64-bit PV guests
* Applies list_first_entry_or_null macro in multiple loops to
replace previous use of a list foreach to address review feedback
* Removed stale comments from the public header
New to this series:
* Adds an initial version of a design document for Argo
- based on work previously sent to the mailing list, covers
the implementation's granular locking
* Adds a SUPPORT.md section for the feature and Experimental statement
Christopher Clark (17):
argo: Introduce the Kconfig option to govern inclusion of Argo
argo: introduce the argo_op hypercall boilerplate
argo: define argo_dprintk for subsystem debugging
argo: init, destroy and soft-reset, with enable command line opt
errno: add POSIX error codes EMSGSIZE, ECONNREFUSED to the ABI
xen/arm: introduce guest_handle_for_field()
argo: implement the register op
argo: implement the unregister op
argo: implement the sendv op; evtchn: expose send_guest_global_virq
argo: implement the notify op
xsm, argo: XSM control for argo register
xsm, argo: XSM control for argo message send operation
xsm, argo: XSM control for any access to argo by a domain
xsm, argo: notify: don't describe rings that cannot be sent to
MAINTAINERS: add new section for Argo and self as maintainer
SUPPORT.md : add new entry for the Argo feature
docs, argo: add design document for Argo
MAINTAINERS | 7 +
SUPPORT.md | 4 +
docs/designs/argo.pandoc | 448 +++++
docs/misc/xen-command-line.pandoc | 20 +
tools/flask/policy/modules/guest_features.te | 7 +
xen/arch/arm/traps.c | 3 +
xen/arch/x86/guest/hypercall_page.S | 2 +-
xen/arch/x86/hvm/hypercall.c | 3 +
xen/arch/x86/hypercall.c | 3 +
xen/arch/x86/pv/hypercall.c | 3 +
xen/common/Kconfig | 19 +
xen/common/Makefile | 1 +
xen/common/argo.c | 2364 ++++++++++++++++++++++++++
xen/common/domain.c | 9 +
xen/common/event_channel.c | 2 +-
xen/include/Makefile | 1 +
xen/include/asm-arm/guest_access.h | 3 +
xen/include/public/argo.h | 267 +++
xen/include/public/errno.h | 2 +
xen/include/public/xen.h | 4 +-
xen/include/xen/argo.h | 44 +
xen/include/xen/event.h | 7 +
xen/include/xen/hypercall.h | 18 +
xen/include/xen/sched.h | 5 +
xen/include/xlat.lst | 9 +
xen/include/xsm/dummy.h | 25 +
xen/include/xsm/xsm.h | 31 +
xen/xsm/dummy.c | 6 +
xen/xsm/flask/hooks.c | 41 +-
xen/xsm/flask/include/avc.h | 4 +-
xen/xsm/flask/policy/access_vectors | 16 +
xen/xsm/flask/policy/security_classes | 1 +
32 files changed, 3370 insertions(+), 9 deletions(-)
create mode 100644 docs/designs/argo.pandoc
create mode 100644 xen/common/argo.c
create mode 100644 xen/include/public/argo.h
create mode 100644 xen/include/xen/argo.h
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |