Files
xemu/util
Steve Sistare 9fb40bb962 physmem: fd-based shared memory
Create MAP_SHARED RAMBlocks by mmap'ing a file descriptor rather than using
MAP_ANON, so the memory can be accessed in another process by passing and
mmap'ing the fd.  This will allow CPR to support memory-backend-ram and
memory-backend-shm objects, provided the user creates them with share=on.

Use memfd_create if available because it has no constraints.  If not, use
POSIX shm_open.  However, allocation on the opened fd may fail if the shm
mount size is too small, even if the system has free memory, so for backwards
compatibility fall back to qemu_anon_ram_alloc/MAP_ANON on failure.

For backwards compatibility on Windows, always use MAP_ANON.  share=on has
no purpose there, but the syntax is accepted, and must continue to work.

Lastly, quietly fall back to MAP_ANON if the system does not support
qemu_ram_alloc_from_fd.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/1736967650-129648-5-git-send-email-steven.sistare@oracle.com
Signed-off-by: Fabiano Rosas <farosas@suse.de>
2025-01-29 11:43:04 -03:00
..
2024-12-20 17:44:56 +01:00
2023-12-19 19:03:38 +01:00
2025-01-16 20:57:17 -08:00
2024-09-20 10:00:27 +03:00
2024-09-13 20:11:13 +02:00
2024-10-08 15:28:55 -04:00
2024-12-20 17:44:56 +01:00
2025-01-29 11:43:04 -03:00
2024-06-21 09:47:22 -03:00
2024-12-20 17:44:57 +01:00
2023-11-15 12:06:05 +03:00
2024-06-19 12:42:03 +02:00
2023-11-03 09:20:31 +01:00