qemu-e2k/include/qemu
Sergio Lopez 3bcf0fb3f2 event_notifier: add event_notifier_get_wfd()
event_notifier_get_fd(const EventNotifier *e) always returns
EventNotifier's read file descriptor (rfd). This is not a problem when
the EventNotifier is backed by a an eventfd, as a single file
descriptor is used both for reading and triggering events (rfd ==
wfd).

But, when EventNotifier is backed by a pipe pair, we have two file
descriptors, one that can only be used for reads (rfd), and the other
only for writes (wfd).

There's, at least, one known situation in which we need to obtain wfd
instead of rfd, which is when setting up the file that's going to be
sent to the peer in vhost's SET_VRING_CALL.

Add a new event_notifier_get_wfd(const EventNotifier *e) that can be
used to obtain wfd where needed.

Signed-off-by: Sergio Lopez <slp@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220304100854.14829-2-slp@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2022-03-06 06:19:47 -05:00
..
accel.h accel-cpu: make cpu_realizefn return a bool 2021-05-10 15:41:50 -04:00
atomic128.h docs: fix references to docs/devel/atomics.rst 2021-06-02 06:51:09 +02:00
atomic.h qemu/atomic: Add aligned_{int64,uint64}_t types 2021-07-21 07:45:38 -10:00
base64.h
bcd.h
bitmap.h
bitops.h bitops.h: revert db1ffc32dd ("qemu/bitops.h: add bitrev8 implementation") 2021-07-26 06:56:41 -10:00
bswap.h include/qemu/bswap.h: Handle being included outside extern "C" block 2021-05-10 17:21:54 +01:00
buffer.h
cacheflush.h util: Enhance flush_icache_range with separate data pointer 2021-01-07 05:09:41 -10:00
cacheinfo.h include: Move qemu_[id]cache_* declarations to new qemu/cacheinfo.h 2022-02-21 13:30:20 +00:00
co-shared-resource.h co-shared-resource: protect with a mutex 2021-06-25 14:24:24 +03:00
compiler.h configure: Remove probe for _Static_assert 2021-06-16 15:03:26 +02:00
config-file.h qemu-config: parse configuration files to a QDict 2021-06-04 13:50:01 +02:00
coroutine_int.h
coroutine.h util: adjust coroutine pool size to virtio block queue 2022-02-14 17:11:25 +00:00
cpuid.h
crc32c.h
crc-ccitt.h util: Add CRC16 (CCITT) calculation routines 2021-01-24 20:10:54 +01:00
ctype.h
cutils.h ui/dbus: add p2p=on/off option 2021-12-21 10:50:22 +04:00
datadir.h vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
dbus.h ui/dbus: add chardev backend & interface 2021-12-21 10:50:22 +04:00
drm.h
envlist.h
error-report.h error: rename error_with_timestamp to message_with_timestamp 2021-02-01 10:50:55 +00:00
event_notifier.h event_notifier: add event_notifier_get_wfd() 2022-03-06 06:19:47 -05:00
fifo8.h utils/fifo8: add VMSTATE_FIFO8_TEST macro 2021-02-07 20:38:34 +00:00
fifo32.h
filemonitor.h
futex.h
guest-random.h
hbitmap.h
help_option.h
host-utils.h host-utils: Introduce mulu128 2021-11-09 10:32:52 +11:00
hw-version.h include: Move hardware version declarations to new qemu/hw-version.h 2022-02-21 13:30:20 +00:00
id.h net: Use id_generate() in the network subsystem, too 2021-03-09 21:47:45 +01:00
int128.h qemu/int128: addition of div/rem 128-bit operations 2022-01-08 15:46:10 +10:00
iov.h util/iov: make qemu_iovec_init_extended() honest 2021-02-03 08:00:33 -06:00
iova-tree.h util: Make some iova_tree parameters const 2021-11-02 15:57:21 +01:00
jhash.h
job.h job: Add job_cancel_requested() 2021-10-07 10:42:40 +02:00
lockable.h include/qemu/lockable: Use _Generic instead of QEMU_GENERIC 2021-06-16 15:03:26 +02:00
log-for-trace.h
log.h
madvise.h include: Move qemu_madvise() and related #defines to new qemu/madvise.h 2022-02-21 13:30:20 +00:00
main-loop.h util/async: add a human-readable name to BHs for debugging 2021-07-05 11:40:32 +01:00
memfd.h
mmap-alloc.h include: Move QEMU_MAP_* constants to mmap-alloc.h 2022-02-21 13:30:20 +00:00
module.h docs: remove non-reference uses of single backticks 2021-11-08 12:27:23 +04:00
mprotect.h include: Move qemu_mprotect_*() to new qemu/mprotect.h 2022-02-21 13:30:20 +00:00
notify.h
nvdimm-utils.h Clean up includes 2020-12-10 17:16:44 +01:00
option_int.h
option.h option: add g_auto for QemuOpts 2021-12-21 10:50:22 +04:00
osdep.h include: Move hardware version declarations to new qemu/hw-version.h 2022-02-21 13:30:20 +00:00
path.h
plugin-memory.h plugins: fix-up handling of internal hostaddr for 32 bit 2021-07-14 14:33:53 +01:00
plugin.h plugins: try and make plugin_insn_append more ergonomic 2021-11-04 10:32:01 +00:00
pmem.h
processor.h
progress_meter.h progressmeter: protect with a mutex 2021-06-25 14:24:24 +03:00
qdist.h
qemu-options.h remove qemu-options* from root directory 2021-05-26 14:49:46 +02:00
qemu-plugin.h plugins: add helper functions for coverage plugins 2022-02-09 12:08:42 +00:00
qemu-print.h
qht.h
qsp.h
queue.h
range.h
ratelimit.h ratelimit: treat zero speed as unlimited 2021-06-25 14:22:21 +03:00
rcu_queue.h
rcu.h rcu: Introduce force_rcu notifier 2021-11-10 13:20:15 +01:00
readline.h
selfmap.h Remove leading underscores from QEMU defines 2021-06-21 05:49:01 +02:00
seqlock.h
sockets.h qemu-sockets: introduce socket_address_parse_named_fd() 2021-06-18 10:59:53 -05:00
stats64.h qemu/atomic: Add aligned_{int64,uint64}_t types 2021-07-21 07:45:38 -10:00
sys_membarrier.h
systemd.h
thread-posix.h util: Use unique type for QemuRecMutex in thread-posix.h 2021-06-16 15:03:26 +02:00
thread-win32.h util: Use real functions for thread-posix QemuRecMutex 2021-06-16 15:03:26 +02:00
thread.h util: Pass file+line to qemu_rec_mutex_unlock_impl 2021-06-16 15:03:26 +02:00
throttle-options.h
throttle.h
timed-average.h
timer.h spapr: rollback 'unplug timeout' for CPU hotunplugs 2021-04-12 12:27:14 +10:00
transactions.h transactions: Invoke clean() after everything else 2021-11-16 09:43:44 +01:00
tsan.h
typedefs.h pcie: Add support for Single Root I/O Virtualization (SR/IOV) 2022-03-06 05:08:23 -05:00
unicode.h
units.h
uri.h
userfaultfd.h migration: introduce UFFD-WP low-level interface helpers 2021-02-08 11:19:51 +00:00
uuid.h
vfio-helpers.h util/vfio-helpers: Pass Error handle to qemu_vfio_dma_map() 2021-09-07 09:08:24 +01:00
vhost-user-server.h block/export: Fix vhost-user-blk shutdown with requests in flight 2022-02-01 13:49:15 +01:00
win_dump_defs.h
xattr.h
xxhash.h target/arm: Implement an IMPDEF pauth algorithm 2021-01-19 14:38:51 +00:00
yank.h yank: Remove dependency on qiochannel 2021-04-01 15:27:44 +04:00