From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35362) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHqqW-0001bp-5u for qemu-devel@nongnu.org; Tue, 28 Jun 2016 07:06:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bHqqQ-0007RZ-Sm for qemu-devel@nongnu.org; Tue, 28 Jun 2016 07:06:23 -0400 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:35385) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHqqQ-0007RU-L3 for qemu-devel@nongnu.org; Tue, 28 Jun 2016 07:06:18 -0400 Received: by mail-wm0-x244.google.com with SMTP id a66so4947087wme.2 for ; Tue, 28 Jun 2016 04:06:18 -0700 (PDT) From: Christian Pinto Date: Tue, 28 Jun 2016 13:03:42 +0200 Message-Id: <1467111824-11548-1-git-send-email-c.pinto@virtualopensystems.com> Subject: [Qemu-devel] [virtio-dev][RFC v2 0/2] Signal Distribution Module virtio device specification List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: virtio-dev@lists.oasis-open.org Cc: qemu-devel@nongnu.org, b.reynal@virtualopensystems.com, tech@virtualopensystems.com, Claudio.Fontana@huawei.com, Jani.Kokkonen@huawei.com, cornelia.huck@de.ibm.com, stefanha@redhat.com, Christian Pinto Hi all, This patch series proposes the specification of a new virtio device on which we are working on, namely the Signal Distribution Module (SDM). The SDM routes inter-processor signals using a user-defined communication channel. A possible use-case of the SDM is an AMP system where the vairous processors need to exhange signals (e.g., interrupts) to implement inter-processor communication patterns. An example are RPMSG and remoteproc, both using interrupts to kick the virtio queues used for communication (RPMSG), and a boot signal to start the execution of a slave processor (remoteproc). However the SDM is not limited to those use-cases and can be easily extended to support user-defined signals and communication channels. In addition to the virtio version, a platform device version is available as well to be used for cases where a processor is not running Linux but another OS/firmware that does not support virtio. This patch series is related to : [Qemu-devel][RFC v3 0/6] SDM Interface https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg05121.html where you can find the latest RFC patch set for the QEMU code of the virtio SDM device. Kernel code is publicly accessible from: https://git.virtualopensystems.com/dev/qemu-het-tools branch sdm_test_virtio_mod_v2. QEMU code is accessible from: https://git.virtualopensystems.com/dev/qemu-het-tools branch sdm-dev-v3 At the current state the SDM is implemented as a QEMU device and provides a local channel, for intra-QEMU signals, and a channel based on sockets (UNIX or TCP) to exchange signals between processors in different instances of QEMU. Each communication channel exports a common interface for the sake of ease of extension and integration of new channels. Thanks, Christian --- Changes since v1: - Fixed some typos - Removed dependencies from QEMU - Added explanation on how SDM can be used in AMP systems - Explained semantics of payload field in SDMSignalData struct --- Christian Pinto (2): content: reserve virtio device ID virtio-sdm: new device specification content.tex | 4 ++ virtio-sdm.tex | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 virtio-sdm.tex -- 1.9.1