qemu/hw
Paul Durrant c0b336ea19 xen-bus: use a separate fd for each event channel
To better support use of IOThread-s it will be necessary to be able to set
the AioContext for each XenEventChannel and hence it is necessary to open a
separate handle to libxenevtchan for each channel.

This patch stops using NotifierList for event channel callbacks, replacing
that construct by a list of complete XenEventChannel structures. Each of
these now has a xenevtchn_handle pointer in place of the single pointer
previously held in the XenDevice structure. The individual handles are
opened/closed in xen_device_bind/unbind_event_channel(), replacing the
single open/close in xen_device_realize/unrealize().

NOTE: This patch does not add an AioContext parameter to
      xen_device_bind_event_channel(). That will be done in a subsequent
      patch.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Message-Id: <20190408151617.13025-2-paul.durrant@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
2019-06-24 10:42:29 +01:00
..
9pfs Supply missing header guards 2019-06-12 13:20:21 +02:00
acpi hw/acpi: extract acpi_add_rom_blob() 2019-06-16 16:16:52 -04:00
adc Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
alpha Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
arm hw/arm: Correctly disable FPU/DSP for some ARMSSE-based boards 2019-06-17 15:12:25 +01:00
audio Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
block xen-block: support feature-large-sector-size 2019-06-24 10:42:29 +01:00
bt Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
char Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
core hw: Nuke hw_compat_4_0_1 and pc_compat_4_0_1 2019-06-21 13:25:29 +02:00
cpu Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
cris Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
display edid: flip the default to enabled 2019-06-13 09:34:50 +02:00
dma Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
gpio Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
hppa Supply missing header guards 2019-06-12 13:20:21 +02:00
hyperv Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
i2c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
i386 hw: Nuke hw_compat_4_0_1 and pc_compat_4_0_1 2019-06-21 13:25:29 +02:00
ide Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
input Supply missing header guards 2019-06-12 13:20:21 +02:00
intc hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1 2019-06-17 15:13:19 +01:00
ipack Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ipmi Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
isa Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
lm32 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
m68k Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mem Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
microblaze Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mips Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
misc Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
moxie Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
net Supply missing header guards 2019-06-12 13:20:21 +02:00
nios2 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
nvram Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
openrisc Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-bridge Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-host q35: fix mmconfig and PCI0._CRS 2019-06-16 16:16:52 -04:00
pcmcia Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ppc ppc patch queue 2019-06-12 2019-06-12 14:43:47 +01:00
rdma Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
riscv Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
s390x Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
scsi Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sd sd: Fix out-of-bounds assertions 2019-06-21 13:25:29 +02:00
semihosting semihosting: split console_out into string and char versions 2019-06-12 17:53:22 +01:00
sh4 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
smbios Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
sparc Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
sparc64 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ssi Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
timer Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tpm Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tricore Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
unicore32 target/unicore32: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
usb Supply missing header guards 2019-06-12 13:20:21 +02:00
vfio vfio/common: Introduce vfio_set_irq_signaling helper 2019-06-13 09:57:37 -06:00
virtio vhost: fix vhost_log size overflow during migration 2019-06-16 16:16:52 -04:00
watchdog Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
xen xen-bus: use a separate fd for each event channel 2019-06-24 10:42:29 +01:00
xenpv xen: Replace few mentions of xend by libxl 2019-01-14 13:45:40 +00:00
xtensa Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
Kconfig semihosting: introduce CONFIG_SEMIHOSTING 2019-05-28 10:28:50 +01:00
Makefile.objs semihosting: move semihosting configuration into its own directory 2019-05-28 10:28:50 +01:00