[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v3 0/6] SDM Interface
From: |
Christian Pinto |
Subject: |
Re: [Qemu-devel] [RFC v3 0/6] SDM Interface |
Date: |
Thu, 30 Jun 2016 10:26:56 +0200 |
Ping...
are there any comments?
Thanks,
Christian
On Fri, Jun 17, 2016 at 5:54 PM, Christian Pinto <
address@hidden> 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 address@hidden:
> 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
>
>
- [Qemu-devel] [RFC v3 0/6] SDM Interface, Christian Pinto, 2016/06/17
- [Qemu-devel] [RFC v3 2/6] hw/misc: sdm platform device, Christian Pinto, 2016/06/17
- [Qemu-devel] [RFC v3 5/6] hw/misc: sdm communication local, Christian Pinto, 2016/06/17
- [Qemu-devel] [RFC v3 4/6] hw/misc: sdm virtio device, Christian Pinto, 2016/06/17
- [Qemu-devel] [RFC v3 3/6] hw/arm: sysbus-fdt, Christian Pinto, 2016/06/17
- [Qemu-devel] [RFC v3 6/6] hw/misc: sdm communication socket, Christian Pinto, 2016/06/17
- [Qemu-devel] [RFC v3 1/6] hw/misc: sdm interface, Christian Pinto, 2016/06/17
- Re: [Qemu-devel] [RFC v3 0/6] SDM Interface,
Christian Pinto <=