qemu/hw
Marc-André Lureau a4afa548fc char: move front end handlers in CharBackend
Since the hanlders are associated with a CharBackend, rather than the
CharDriverState, it is more appropriate to store in CharBackend. This
avoids the handler copy dance in qemu_chr_fe_set_handlers() then
mux_chr_update_read_handler(), by storing the CharBackend pointer
directly.

Also a mux CharDriver should go through mux->backends[focused], since
chr->be will stay NULL. Before that, it was possible to call
chr->handler by mistake with surprising results, for ex through
qemu_chr_be_can_write(), which would result in calling the last set
handler front end, not the one with focus.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20161022095318.17775-22-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-10-24 15:46:10 +02:00
..
9pfs 9pfs: fix memory leak in v9fs_write 2016-10-17 14:13:58 +02:00
acpi acpi: provide _PXM method for CPU devices if QEMU is started numa enabled 2016-10-10 01:16:57 +03:00
adc STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00
alpha sun4uv: fix serial initialization regression 2016-10-24 15:27:20 +02:00
arm char: make some qemu_chr_fe skip if no driver 2016-10-24 15:27:21 +02:00
audio pcspk: adding vmstate for save/restore 2016-09-15 15:10:06 +02:00
block virtio, pc: fixes and features 2016-10-10 16:23:40 +01:00
bt char: move front end handlers in CharBackend 2016-10-24 15:46:10 +02:00
char char: make some qemu_chr_fe skip if no driver 2016-10-24 15:27:21 +02:00
core char: replace qemu_chr_claim/release with qemu_chr_fe_init/deinit 2016-10-24 15:27:21 +02:00
cpu cpu: Abstract CPU core type 2016-06-17 16:33:48 +10:00
cris cris: Fix broken header guard in hw/cris/boot.h 2016-07-12 16:20:46 +02:00
display virtio, pc: fixes and features 2016-10-10 16:23:40 +01:00
dma hw/dma/pl080: Fix bad bit mask (PL080_CONF_M1 | PL080_CONF_M1) 2016-10-17 19:22:17 +01:00
gpio hw/gpio: QOM'ify zaurus.c 2016-06-14 15:59:13 +01:00
i2c i2c: fix migration regression introduced by broadcast support 2016-08-03 18:44:56 +02:00
i386 sun4uv: fix serial initialization regression 2016-10-24 15:27:20 +02:00
ide Block layer patches 2016-10-04 14:25:08 +01:00
input virtio: cleanup VMSTATE_VIRTIO_DEVICE 2016-10-10 02:21:43 +03:00
intc x86 queue, 2016-10-17 2016-10-18 09:29:44 +01:00
ipack
ipmi char: use qemu_chr_fe* functions with CharBackend argument 2016-10-24 15:27:21 +02:00
isa char: remove init callback 2016-10-24 15:27:20 +02:00
lm32 Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
m68k m68k: change default system clock for m5208evb 2016-10-08 11:25:29 +03:00
mem trace: move hw/mem/pc-dimm.c trace points into correct file 2016-09-28 19:17:54 +01:00
microblaze Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
mips char: use qemu_chr_fe* functions with CharBackend argument 2016-10-24 15:27:21 +02:00
misc char: use qemu_chr_fe* functions with CharBackend argument 2016-10-24 15:27:21 +02:00
moxie
net virtio: cleanup VMSTATE_VIRTIO_DEVICE 2016-10-10 02:21:43 +03:00
nvram vl: Switch qemu_uuid to QemuUUID 2016-09-23 11:42:52 +08:00
openrisc
pci trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
pci-bridge hw/pci-bridge: Convert pxb initialization functions to Error 2016-07-29 00:07:09 +03:00
pci-host apb: convert init to realize 2016-07-29 00:07:09 +03:00
pcmcia
ppc spapr: Improved placement of PCI host bridges in guest memory map 2016-10-16 12:04:15 +11:00
s390x s390x/css: {c,h,t,r,x}sch: require enable AND device number valid 2016-09-28 13:24:51 +02:00
scsi virtio: cleanup VMSTATE_VIRTIO_DEVICE 2016-10-10 02:21:43 +03:00
sd vmstateify ssi-sd 2016-09-22 18:13:08 +01:00
sh4 sh4: fix broken link to documentation 2016-09-15 15:32:22 +03:00
smbios smbios: fix uuid copy 2016-09-29 11:43:22 +08:00
sparc intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
sparc64 sun4uv: fix serial initialization regression 2016-10-24 15:27:20 +02:00
ssi xilinx: fix buffer overflow on realize 2016-10-24 15:27:20 +02:00
timer * Thread Sanitizer fixes (Alex) 2016-10-10 10:39:29 +01:00
tpm Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
tricore tricore: remove useless cast 2016-09-15 15:32:22 +03:00
unicore32
usb char: replace qemu_chr_claim/release with qemu_chr_fe_init/deinit 2016-10-24 15:27:21 +02:00
vfio vfio: fix duplicate function call 2016-10-17 10:58:03 -06:00
virtio char: use qemu_chr_fe* functions with CharBackend argument 2016-10-24 15:27:21 +02:00
watchdog
xen Xen: fix converity warning of xen_pt_config_init() 2016-08-12 16:38:18 -07:00
xenpv xenpv: Fix qemu_uuid compiling error 2016-09-29 11:43:17 +08:00
xtensa char: remove init callback 2016-10-24 15:27:20 +02:00
Makefile.objs STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00