OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [Qemu-devel][RFC v3 0/6] SDM Interface


Ping...

are there any comments?

Thanks,

Christian

On Fri, Jun 17, 2016 at 5:54 PM, Christian Pinto <c.pinto@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 git@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




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]