diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2017-11-20 17:49:25 +1100 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2017-11-22 15:28:37 +1100 |
commit | 6c3bc244d3cbdc5545504fda4fae0238ec36a3c0 (patch) | |
tree | 2f93b88d48701439a7f78de9f348f1feea5ff33d /cpus.c | |
parent | bac658d1a4dc9dd637b2eb5006abda137071f17f (diff) | |
download | qemu-6c3bc244d3cbdc5545504fda4fae0238ec36a3c0.zip qemu-6c3bc244d3cbdc5545504fda4fae0238ec36a3c0.tar.gz qemu-6c3bc244d3cbdc5545504fda4fae0238ec36a3c0.tar.bz2 |
spapr: Implement bug in spapr-vty device to be compatible with PowerVM
The spapr-vty device implements the PAPR defined virtual console,
which is also implemented by IBM's proprietary PowerVM hypervisor.
PowerVM's implementation has a bug where it inserts an extra \0 after
every \r going to the guest. Because of that Linux's guest side
driver has a workaround which strips \0 characters that appear
immediately after a \r.
That means that when running under qemu, sending a binary stream from
host to guest via spapr-vty which happens to include a \r\0 sequence
will get corrupted by that workaround.
To deal with that, this patch duplicates PowerVM's bug, inserting an
extra \0 after each \r. Ugly, but the best option available.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Diffstat (limited to 'cpus.c')
0 files changed, 0 insertions, 0 deletions