Since v1: - check driver is "raw" (David) - ignore CFI02 for now Hi,
This series aims to reduce the memory footprint of flash devices when the backing file is read-only. When a backing file is read-only, the model considers the flash is in "protected" mode. No write are allowed, but the MMIO state machine is still usable. This series introduces a new memory region helper to mmap files and use it with the pflash device (only with read-only backing files). The goal is to reduce QEMU's memory footprint when multiple VMs are instantiated using the same read-only backing file, which is the case with the CODE flash from OVMF and AAVMF. Previous attempts: - Huawei https://www.mail-archive.com/qemu-devel@nongnu.org/msg607292.html - Tencent https://www.mail-archive.com/qemu-devel@nongnu.org/msg742066.html - Oracle https://www.mail-archive.com/qemu-devel@nongnu.org/msg760065.html RFC because yet another approach to tackle this technical debt, and very little tested. Regards, Phil. Philippe Mathieu-Daudé (3): exec/memory: Introduce memory_region_init_rom_device_from_file() hw/block/pflash: Move code around hw/block/pflash: use memory_region_init_rom_device_from_file() include/exec/memory.h | 85 +++++++++++++++++++++++++++++++++++ hw/block/pflash_cfi01.c | 49 +++++++++++++++------ hw/block/pflash_cfi02.c | 18 ++++---- softmmu/memory.c | 98 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 228 insertions(+), 22 deletions(-) -- 2.26.2