Instead of mapping 8K of I/O + doorbells as RW during the whole execution, maps I/O temporarly at init, and map doorbells WO.
Replace various magic values by slighly more explicit macros from "block/nvme.h". Since v1: Fix uninitialized regs* (patchew) Philippe Mathieu-Daudé (6): util/vfio-helpers: Pass page protections to qemu_vfio_pci_map_bar() block/nvme: Map doorbells pages write-only block/nvme: Reduce I/O registers scope block/nvme: Drop NVMeRegs structure, directly use NvmeBar block/nvme: Use register definitions from 'block/nvme.h' block/nvme: Replace magic value by SCALE_MS definition include/qemu/vfio-helpers.h | 2 +- block/nvme.c | 73 +++++++++++++++++++++---------------- util/vfio-helpers.c | 4 +- 3 files changed, 44 insertions(+), 35 deletions(-) -- 2.26.2