qemu-e2k/hw/char
Peter Xu 2c716ba150 chardev: introduce qemu_chr_timeout_add_ms()
It's a replacement of g_timeout_add[_seconds]() for chardevs.  Chardevs
now can have dedicated gcontext, we should always bind chardev tasks
onto those gcontext rather than the default main context.  Since there
are quite a few of g_timeout_add[_seconds]() callers, a new function
qemu_chr_timeout_add_ms() is introduced.

One thing to mention is that, terminal3270 is still always running on
main gcontext.  However let's convert that as well since it's still part
of chardev codes and in case one day we'll miss that when we move it out
of main gcontext too.

Also, convert all the timers from GSource tags into GSource pointers.
Gsource tag IDs and g_source_remove()s can only work with default
gcontext, while now these GSources can logically be attached to other
contexts.  So let's use explicit g_source_destroy() plus another
g_source_unref() to remove a timer.

Note: when in the timer handler, we don't need the g_source_destroy()
any more since that'll be done automatically if the timer handler
returns false (and that's what all the current handlers do).

Yet another note: in pty_chr_rearm_timer() we take special care for
ms=1000.  This patch merged the two cases into one.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180104141835.17987-4-peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-01-12 13:22:02 +01:00
..
bcm2835_aux.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
cadence_uart.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
cmsdk-apb-uart.c hw/arm/mps2: Add UARTs 2017-07-17 13:36:08 +01:00
debugcon.c misc: drop old i386 dependency 2017-12-18 17:07:03 +03:00
digic-uart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
escc.c qapi: Mechanically convert FOO_lookup[...] to FOO_str(...) 2017-09-04 13:09:13 +02:00
etraxfs_ser.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
exynos4210_uart.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
grlib_apbuart.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
imx_serial.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
ipoctal232.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
lm32_juart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
lm32_uart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
Makefile.objs hw/char/cmsdk-apb-uart.c: Implement CMSDK APB UART 2017-07-17 13:36:08 +01:00
mcf_uart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
milkymist-uart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
omap_uart.c
parallel.c chardev: fix parallel device can't be reconnect 2017-07-14 12:04:41 +02:00
pl011.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
sclpconsole-lm.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
sclpconsole.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
serial-isa.c
serial-pci.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
serial.c Enable 8-byte wide MMIO for 16550 serial devices 2017-11-06 17:15:14 +01:00
sh_serial.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
spapr_vty.c spapr: Implement bug in spapr-vty device to be compatible with PowerVM 2017-11-22 15:28:37 +11:00
stm32f2xx_usart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
terminal3270.c chardev: introduce qemu_chr_timeout_add_ms() 2018-01-12 13:22:02 +01:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
virtio-console.c virtio-serial: add enable_backend callback 2017-09-21 11:51:49 +02:00
virtio-serial-bus.c virtio-serial: add enable_backend callback 2017-09-21 11:51:49 +02:00
xen_console.c misc: remove duplicated includes 2017-12-18 17:07:02 +03:00
xilinx_uartlite.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00