4e647fa085
shm_open() creates and opens a new POSIX shared memory object. A POSIX shared memory object allows creating memory backend with an associated file descriptor that can be shared with external processes (e.g. vhost-user). The new `memory-backend-shm` can be used as an alternative when `memory-backend-memfd` is not available (Linux only), since shm_open() should be provided by any POSIX-compliant operating system. This backend mimics memfd, allocating memory that is practically anonymous. In theory shm_open() requires a name, but this is allocated for a short time interval and shm_unlink() is called right after shm_open(). After that, only fd is shared with external processes (e.g., vhost-user) as if it were associated with anonymous memory. In the future we may also allow the user to specify the name to be passed to shm_open(), but for now we keep the backend simple, mimicking anonymous memory such as memfd. Acked-by: David Hildenbrand <david@redhat.com> Acked-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> (QAPI schema) Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> Message-Id: <20240618100519.145853-1-sgarzare@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
||
---|---|---|
.. | ||
tpm | ||
confidential-guest-support.c | ||
cryptodev-builtin.c | ||
cryptodev-hmp-cmds.c | ||
cryptodev-lkcf.c | ||
cryptodev-vhost-user.c | ||
cryptodev-vhost.c | ||
cryptodev.c | ||
dbus-vmstate1.xml | ||
dbus-vmstate.c | ||
host_iommu_device.c | ||
hostmem-epc.c | ||
hostmem-file.c | ||
hostmem-memfd.c | ||
hostmem-ram.c | ||
hostmem-shm.c | ||
hostmem.c | ||
iommufd.c | ||
Kconfig | ||
meson.build | ||
rng-builtin.c | ||
rng-egd.c | ||
rng-random.c | ||
rng.c | ||
trace-events | ||
trace.h | ||
vhost-user.c |