[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 |