This includes: - Max's dependency fixes for QAPI scripts
- Wenchao's QAPI event series - my thread-safety fixes, rebased onto QAPI events Paolo Max Reitz (1): qapi: Add includes from qapi/ as dependencies Paolo Bonzini (6): qemu-char: introduce qemu_chr_alloc qemu-char: do not call chr_write directly qemu-char: move pty_chr_update_read_handler around qemu-char: make writes thread-safe monitor: protect outbuf and mux_out with mutex monitor: protect event emission Wenchao Xia (29): os-posix: include sys/time.h qapi: add event helper functions qapi script: add event support test: add test cases for qapi event qapi: adjust existing defines monitor: add an implemention of qapi event emit method qapi: add new schema file qapi-event.json qapi event: convert SHUTDOWN qapi event: convert POWERDOWN qapi event: convert RESET qapi event: convert STOP qapi event: convert RESUME qapi event: convert SUSPEND qapi event: convert SUSPEND_DISK qapi event: convert WAKEUP qapi event: convert RTC_CHANGE qapi event: convert WATCHDOG qapi event: convert DEVICE_DELETED qapi event: convert DEVICE_TRAY_MOVED qapi event: convert BLOCK_IO_ERROR and BLOCK_JOB_ERROR qapi event: convert BLOCK_IMAGE_CORRUPTED qapi event: convert other BLOCK_JOB events qapi event: convert NIC_RX_FILTER_CHANGED qapi event: convert VNC events qapi event: convert SPICE events qapi event: convert BALLOON_CHANGE qapi event: convert GUEST_PANICKED qapi event: convert QUORUM events qapi event: clean up Makefile | 21 +- Makefile.objs | 2 +- backends/baum.c | 2 +- backends/msmouse.c | 2 +- balloon.c | 13 - block.c | 68 +--- block/backup.c | 2 +- block/mirror.c | 9 +- block/qcow2-refcount.c | 14 +- block/quorum.c | 25 +- block/stream.c | 4 +- blockdev.c | 12 +- blockjob.c | 53 +-- cpus.c | 5 +- docs/qapi-code-gen.txt | 18 + docs/qmp/qmp-events.txt | 541 ------------------------------- hmp.c | 5 +- hw/acpi/core.c | 4 +- hw/block/virtio-blk.c | 6 +- hw/core/qdev.c | 12 +- hw/ide/core.c | 6 +- hw/misc/pvpanic.c | 13 +- hw/net/virtio-net.c | 13 +- hw/ppc/spapr_rtas.c | 3 +- hw/scsi/scsi-disk.c | 6 +- hw/timer/mc146818rtc.c | 3 +- hw/virtio/virtio-balloon.c | 6 +- hw/watchdog/watchdog.c | 23 +- include/block/block.h | 4 - include/block/block_int.h | 3 - include/block/blockjob.h | 17 +- include/monitor/monitor.h | 40 --- include/qapi/qmp-event.h | 27 ++ include/qemu/sockets.h | 3 +- include/sysemu/balloon.h | 2 - include/sysemu/char.h | 20 +- include/sysemu/os-posix.h | 2 + include/sysemu/sysemu.h | 2 - monitor.c | 226 ++++++------- qapi-event.json | 306 +++++++++++++++++ qapi-schema.json | 162 +++++++-- qapi/Makefile.objs | 1 + qapi/block-core.json | 150 +++++++++ qapi/block.json | 14 + qapi/qmp-event.c | 74 +++++ qemu-char.c | 134 +++++--- scripts/qapi-event.py | 369 +++++++++++++++++++++ scripts/qapi.py | 12 + spice-qemu-char.c | 2 +- stubs/Makefile.objs | 1 - stubs/mon-protocol-event.c | 6 - target-s390x/kvm.c | 9 +- tests/Makefile | 18 +- tests/qapi-schema/event-nest-struct.err | 1 + tests/qapi-schema/event-nest-struct.exit | 1 + tests/qapi-schema/event-nest-struct.json | 2 + tests/qapi-schema/event-nest-struct.out | 0 tests/qapi-schema/qapi-schema-test.json | 12 + tests/qapi-schema/qapi-schema-test.out | 10 +- tests/test-qmp-event.c | 265 +++++++++++++++ ui/console.c | 2 +- ui/spice-core.c | 77 ++--- ui/vnc.c | 120 +++---- ui/vnc.h | 4 +- util/qemu-sockets.c | 10 +- vl.c | 22 +- 66 files changed, 1878 insertions(+), 1143 deletions(-) delete mode 100644 docs/qmp/qmp-events.txt create mode 100644 include/qapi/qmp-event.h create mode 100644 qapi-event.json create mode 100644 qapi/qmp-event.c create mode 100644 scripts/qapi-event.py delete mode 100644 stubs/mon-protocol-event.c create mode 100644 tests/qapi-schema/event-nest-struct.err create mode 100644 tests/qapi-schema/event-nest-struct.exit create mode 100644 tests/qapi-schema/event-nest-struct.json create mode 100644 tests/qapi-schema/event-nest-struct.out create mode 100644 tests/test-qmp-event.c -- 1.9.3