hw/s390x: Allow to configure the consoles with the "-serial" parameter
commit052888f043bacb18231046045b1f9cd946703170
authorThomas Huth <thuth@redhat.com>
Thu, 26 Apr 2018 14:59:54 +0000 (26 16:59 +0200)
committerCornelia Huck <cohuck@redhat.com>
Mon, 30 Apr 2018 08:48:29 +0000 (30 10:48 +0200)
treeb3753be496f7464383dbdd48f42d20685b834eb5
parente7c3246162398677eb96f55f267de00809ea213d
hw/s390x: Allow to configure the consoles with the "-serial" parameter

The consoles ("sclpconsole" and "sclplmconsole") can only be configured
with "-device" and "-chardev" so far. Other machines use the convenience
option "-serial" to configure the default consoles, even for virtual
consoles like spapr-vty on the pseries machine. So let's support this
option on s390x, too. This way we can easily enable the serial console
here again with "-nodefaults", for example:

qemu-system-s390x -no-shutdown -nographic -nodefaults -serial mon:stdio

... which is way shorter than typing:

qemu-system-s390x -no-shutdown -nographic -nodefaults \
  -chardev stdio,id=c1,mux=on -device sclpconsole,chardev=c1 \
  -mon chardev=c1

The -serial parameter can also be used if you only want to see the QEMU
monitor on stdio without using -nodefaults, but not the console output.
That's something that is pretty impossible with the current code today:

qemu-system-s390x -no-shutdown -nographic -serial none

While we're at it, this patch also maps the second -serial option to the
"sclplmconsole", so that there is now an easy way to configure this second
console on s390x, too, for example:

qemu-system-s390x -no-shutdown -nographic -serial null -serial mon:stdio

Additionally, the new code is also smaller than the old one and we have
less s390x-specific code in vl.c :-)

I've also checked that migration still works as expected by migrating
a guest with console output back and forth between a qemu-system-s390x
that has this patch and an instance without this patch.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1524754794-28005-1-git-send-email-thuth@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
hw/s390x/event-facility.c
hw/s390x/s390-virtio-ccw.c
include/hw/boards.h
include/hw/s390x/event-facility.h
tests/boot-serial-test.c
vl.c