xqemu/include
Anton Nefedov 7bb86085e6 char: chardevice hotswap
This patch adds a possibility to change a char device without a frontend
removal.

Ideally, it would have to happen transparently to a frontend, i.e.
frontend would continue its regular operation.
However, backends are not stateless and are set up by the frontends
via qemu_chr_fe_<> functions, and it's not (generally) possible to replay
that setup entirely in a backend code, as different chardevs respond
to the setup calls differently, so do frontends work differently basing
on those setup responses.
Moreover, some frontend can generally get and save the backend pointer
(qemu_chr_fe_get_driver()), and it will become invalid after backend change.

So, a frontend which would like to support chardev hotswap has to register
a "backend change" handler, and redo its backend setup there.

Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <1499342940-56739-4-git-send-email-anton.nefedov@virtuozzo.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2017-07-14 11:04:33 +02:00
..
block block: Add PreallocMode to bdrv_truncate() 2017-07-11 17:45:01 +02:00
chardev char: chardevice hotswap 2017-07-14 11:04:33 +02:00
crypto block: pass option prefix down to crypto layer 2017-07-11 17:44:56 +02:00
disas Fix Thumb-1 BE32 execution and disassembly. 2017-02-07 18:29:59 +00:00
exec tcg: add CONFIG_TCG guards in headers 2017-07-05 09:11:08 +02:00
fpu softfloat: define floatx80_round() 2017-06-29 20:27:39 +02:00
hw trivial patches for 2017-07-12 2017-07-13 16:15:52 +01:00
io trivial patches for 2017-05-10 2017-05-10 12:31:19 -04:00
libdecnumber Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
migration migration: Create load_setup()/cleanup() methods 2017-07-10 17:52:21 +01:00
monitor block: rip out all traces of password prompting 2017-07-11 17:44:56 +02:00
net slirp: add a fake NC-SI backend 2017-04-25 19:17:25 +08:00
qapi block: remove all encryption handling APIs 2017-07-11 17:44:56 +02:00
qemu trivial patches for 2017-07-12 2017-07-13 16:15:52 +01:00
qom include/exec/poison: Mark CONFIG_SOFTMMU as poisoned 2017-07-04 14:39:11 +02:00
standard-headers linux-headers: update 2017-05-19 12:29:01 +02:00
sysemu Block layer patches 2017-07-13 13:38:57 +01:00
ui gtk: use framebuffer helper functions. 2017-06-21 14:23:16 +02:00
elf.h nios2: Add usermode binaries emulation 2017-01-24 13:10:35 -08:00
glib-compat.h qga: Add 'guest-get-users' command 2017-04-26 23:57:45 -05:00
qemu-common.h tcg: make tcg_allowed global 2017-07-04 16:01:16 +02:00
qemu-io.h hmp: Request permissions in qemu-io 2017-02-28 20:47:50 +01:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00