369d6dc4de
There is currently no way to open(O_RDONLY) and mmap(PROT_READ) when creating a memory region from a file. This functionality is needed since the underlying host file may not allow writing. Add a bool readonly argument to memory_region_init_ram_from_file() and the APIs it calls. Extend memory_region_init_ram_from_file() rather than introducing a memory_region_init_rom_from_file() API so that callers can easily make a choice between read/write and read-only at runtime without calling different APIs. No new RAMBlock flag is introduced for read-only because it's unclear whether RAMBlocks need to know that they are read-only. Pass a bool readonly argument instead. Both of these design decisions can be changed in the future. It just seemed like the simplest approach to me. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Liam Merwick <liam.merwick@oracle.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20210104171320.575838-2-stefanha@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> |
||
---|---|---|
.. | ||
tpm | ||
cryptodev-builtin.c | ||
cryptodev-vhost-user.c | ||
cryptodev-vhost.c | ||
cryptodev.c | ||
dbus-vmstate.c | ||
hostmem-file.c | ||
hostmem-memfd.c | ||
hostmem-ram.c | ||
hostmem.c | ||
Kconfig | ||
meson.build | ||
rng-builtin.c | ||
rng-egd.c | ||
rng-random.c | ||
rng.c | ||
trace-events | ||
trace.h | ||
vhost-user.c |