summary refs log tree commit diff stats
path: root/scripts/update-linux-headers.sh
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2017-11-20 17:49:25 +1100
committerDavid Gibson <david@gibson.dropbear.id.au>2017-11-22 15:28:37 +1100
commit6c3bc244d3cbdc5545504fda4fae0238ec36a3c0 (patch)
tree2f93b88d48701439a7f78de9f348f1feea5ff33d /scripts/update-linux-headers.sh
parentbac658d1a4dc9dd637b2eb5006abda137071f17f (diff)
downloadfocaccia-qemu-6c3bc244d3cbdc5545504fda4fae0238ec36a3c0.tar.gz
focaccia-qemu-6c3bc244d3cbdc5545504fda4fae0238ec36a3c0.zip
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 'scripts/update-linux-headers.sh')
0 files changed, 0 insertions, 0 deletions