v3: * Produce an error when -device nvdimm,unarmed=off is used with -object memory-backend-file,readonly=on instead of silently switching on unarmed. [Igor] * Use Object *obj instead of Object *o [Igor] * Do not dereference MEMORY_BACKEND_FILE(o)->readonly directly, use a local variable to hold the HostMemoryBackendFile pointer. [Igor] v2: * s/the the/the/ in documentation [Philippe] * Assign nvdimm->unarmed earlier [Philippe]
There is currently no way to back an NVDIMM with a read-only file so it can be safely shared between untrusted guests. Introduce an -object memory-backend-file,readonly=on|off option. Julio Montes sent an earlier patch here: https://patchew.org/QEMU/20190708211936.8037-1-julio.mon...@intel.com/ Eric Ernst requested this feature again for Kata Containers so I gave it a try. Stefan Hajnoczi (3): memory: add readonly support to memory_region_init_ram_from_file() hostmem-file: add readonly=on|off option nvdimm: check -object memory-backend-file,readonly=on option docs/nvdimm.txt | 24 +++++++++++++++++------- include/exec/memory.h | 2 ++ include/exec/ram_addr.h | 5 +++-- include/qemu/mmap-alloc.h | 2 ++ backends/hostmem-file.c | 28 +++++++++++++++++++++++++++- hw/mem/nvdimm.c | 9 +++++++++ softmmu/memory.c | 7 +++++-- softmmu/physmem.c | 18 +++++++++++------- util/mmap-alloc.c | 10 ++++++---- util/oslib-posix.c | 2 +- qemu-options.hx | 5 ++++- 11 files changed, 87 insertions(+), 25 deletions(-) -- 2.29.2