backends: Introduce chr-testdev
commit5692399f0af2b48b164b3c0b5c4c532b186b33ae
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 11 Jul 2014 07:44:26 +0000 (11 09:44 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 6 Aug 2014 15:53:05 +0000 (6 17:53 +0200)
treec0159e0e33570c8232489b2bf7e09d5a62f8ba33
parent41a1a9c42c4e0fb5f1b94aa8b72e42f66ebde3d9
backends: Introduce chr-testdev

From: Paolo Bonzini <pbonzini@redhat.com>

chr-testdev enables a virtio serial channel to be used for guest
initiated qemu exits. hw/misc/debugexit already enables guest
initiated qemu exits, but only for PC targets. chr-testdev supports
any virtio-capable target. kvm-unit-tests/arm is already making use
of this backend.

Currently there is a single command implemented, "q".  It takes a
(prefix) argument for the exit code, thus an exit is implemented by
writing, e.g. "1q", to the virtio-serial port.

It can be used as:
   $QEMU ... \
     -device virtio-serial-device \
     -device virtserialport,chardev=ctd -chardev testdev,id=ctd

or, use:
   $QEMU ... \
     -device virtio-serial-device \
     -device virtconsole,chardev=ctd -chardev testdev,id=ctd

to bind it to virtio-serial port0.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
backends/Makefile.objs
backends/testdev.c [new file with mode: 0644]
include/sysemu/char.h
qapi-schema.json
qemu-char.c
stubs/Makefile.objs
stubs/chr-testdev.c [new file with mode: 0644]