qemu-e2k/include
Michael Roth 7b7ab18d0b chardev: fix CHR_EVENT_OPENED events for mux chardevs
As of bd5c51ee6c, chardevs no longer use
bottom-halves to issue CHR_EVENT_OPENED events. To maintain past
semantics, we instead defer the CHR_EVENT_OPENED events toward the end
of chardev initialization.

For muxes, this isn't good enough, since a range of FEs must be able
to attach to the mux prior to any CHR_EVENT_OPENED being issued, else
each FE will immediately print it's initial output (prompts, banners,
etc.) just prior to us switching to the next FE as part of
initialization.

The is new and confusing behavior for users, as they'll see output for
things like the HMP monitor, even though their the current mux focus
may be a guest serial port with potentially no output.

We fix this by further deferring CHR_EVENT_OPENED events for FEs
associated with muxes until after machine init by flagging mux chardevs
with 'explicit_be_open', which suppresses emission of CHR_EVENT_OPENED
events until we explicitly set the mux as opened later.

Currently, we must defer till after machine init since we potentially
associate FEs with muxes as part of realize (for instance,
serial_isa_realizefn).

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Message-id: 1375207462-8141-1-git-send-email-mdroth@linux.vnet.ibm.com
Cc: qemu-stable@nongnu.org
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-30 18:48:21 -05:00
..
block block: Repair the throttling code. 2013-07-29 17:07:37 +02:00
disas Add moxie disassembler 2013-03-23 14:25:41 +00:00
exec exec: Remove env from list of poisoned names 2013-07-27 11:22:54 +04:00
fpu softfloat: Implement uint64_to_float128 2013-01-05 10:12:50 +00:00
hw pc: limit 64 bit hole to 2G by default 2013-07-29 19:33:34 -05:00
migration migration: fix spice migration 2013-07-29 17:19:02 +02:00
monitor net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
net net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
qapi Implement qdict_flatten() 2013-07-26 22:01:31 +02:00
qemu qdev: Add SIZE type to qdev properties 2013-07-29 19:33:33 -05:00
qom cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML 2013-07-27 00:04:17 +02:00
sysemu chardev: fix CHR_EVENT_OPENED events for mux chardevs 2013-07-30 18:48:21 -05:00
ui vnc: use booleans for vnc_connect, vnc_listen_read and vnc_display_add_client 2013-06-21 22:52:50 +04:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h include/elf.h: add aarch64 ELF machine and relocs 2013-06-12 16:20:22 +01:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h Introduce async_run_on_cpu() 2013-07-12 19:36:01 +02:00
qemu-io.h qemu-io: Interface cleanup 2013-06-06 11:27:05 +02:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00