Ping... are there any comments?
Thanks, Christian On Fri, Jun 17, 2016 at 5:54 PM, Christian Pinto < c.pi...@virtualopensystems.com> wrote: > This patch series introduces a new device to QEMU, the SDM (Signal > Distribution > Module), > intended to route inter-processor signals intra and inter QEMU instances. > > To be as modular as possible, the device is split between the interface > (virtio/platform) and the communication channel (local/socket). > > A platform interface has been implemented to allow non-linux operating > system (FreeRTOS for example) to use the SDM. > > Also, various signals can be defined with hardware operations. > > Those signals can be used, for example, to route interrupts or to > trigger the boot of another QEMU instance. > > When a signal is received on a SDM, it will check if the signal > ID is associate to a hardware action that will be executed if found. > The hardware action allows the signal to perform some actions (e.g > triggering boot) before being forwarded to the operating system. > > You can test thoses patches using modules and test application > available on https://git.virtualopensystems.com/dev/qemu-het-tools : > > - Platform module on branch sdm_test_mod_v1 > - Virtio module on branch sdm-dev-v3 > - Test application on branch sdm_test_app > > QEMU code is avalaible here on g...@git.virtualopensystems.com: > dev/qemu-het.git > branch sdm-dev-v3. > > > Run QEMU instance: > ./qemu-system-arm -nographic \ > -kernel zImage \ > -M virt -m 512M \ > -initrd busybox.cpio \ > -object sdm-communication-local,id=localcomm \ > -object sdm-signal,id=interrupt \ > -device > sdm-platform,comm=localcomm,master,num-slaves=1,len-signals=1,signals[0]="interrupt" > \ > -device > sdm-platform,comm=localcomm,len-signals=1,len-signals=1,signals[0]="interrupt" > > After loading the corresponding module (insmod sdm_test_mod.ko), you can > send > signal > accross instances using the sdm-test application: > ./sdm-test -s 0 0 0x0 0x0 0x0 > > This patch series is a follow-up of "[Qemu-devel] [RFC v2 0/6] > SDM Interface": > https://lists.gnu.org/archive/html/qemu-devel/2016-03/msg04492.html > > This work has been sponsored by Huawei Technologies Duesseldorf GmbH. > > --- > Changes since v2: > - added virtio device configuration space > - added configuration accessory methods > - fixed bug in local communication channel > - aligned virto device ID with specification RFC > --- > > Baptiste Reynal (6): > hw/misc: sdm interface > hw/misc: sdm platform device > hw/arm: sysbus-fdt > hw/misc: sdm virtio device > hw/misc: sdm communication local > hw/misc: sdm communication socket > > default-configs/arm-softmmu.mak | 1 + > hw/arm/sysbus-fdt.c | 62 ++++++ > hw/misc/Makefile.objs | 7 + > hw/misc/sdm-communication-local.c | 116 +++++++++++ > hw/misc/sdm-communication-socket.c | 160 +++++++++++++++ > hw/misc/sdm-communication.c | 68 +++++++ > hw/misc/sdm-device.c | 78 ++++++++ > hw/misc/sdm-platform.c | 231 ++++++++++++++++++++++ > hw/misc/sdm-signal.c | 52 +++++ > hw/virtio/Makefile.objs | 1 + > hw/virtio/virtio-sdm.c | 303 > +++++++++++++++++++++++++++++ > include/hw/misc/sdm-communication-local.h | 35 ++++ > include/hw/misc/sdm-communication-socket.h | 42 ++++ > include/hw/misc/sdm-communication.h | 60 ++++++ > include/hw/misc/sdm-device.h | 61 ++++++ > include/hw/misc/sdm-platform.h | 65 +++++++ > include/hw/misc/sdm-signal.h | 61 ++++++ > include/hw/virtio/virtio-sdm.h | 58 ++++++ > linux-headers/linux/virtio_sdm.h | 58 ++++++ > 19 files changed, 1519 insertions(+) > create mode 100644 hw/misc/sdm-communication-local.c > create mode 100644 hw/misc/sdm-communication-socket.c > create mode 100644 hw/misc/sdm-communication.c > create mode 100644 hw/misc/sdm-device.c > create mode 100644 hw/misc/sdm-platform.c > create mode 100644 hw/misc/sdm-signal.c > create mode 100644 hw/virtio/virtio-sdm.c > create mode 100644 include/hw/misc/sdm-communication-local.h > create mode 100644 include/hw/misc/sdm-communication-socket.h > create mode 100644 include/hw/misc/sdm-communication.h > create mode 100644 include/hw/misc/sdm-device.h > create mode 100644 include/hw/misc/sdm-platform.h > create mode 100644 include/hw/misc/sdm-signal.h > create mode 100644 include/hw/virtio/virtio-sdm.h > create mode 100644 linux-headers/linux/virtio_sdm.h > > -- > 1.9.1 > >