This series allows NVMe passthrough on aarch64 with 64kB page host. Addresses and sizes of buffers which are VFIO DMA mapped are aligned with the host page size.
nvme_register_buf() path is taken care of in this series but it does not seem to prevent the use case from working. Best Regards Eric This series can be found at: https://github.com/eauger/qemu/tree/nvme_64k_rfc This was tested on ARM only. Eric Auger (5): block/nvme: use some NVME_CAP_* macros block/nvme: Change size and alignment of IDENTIFY response buffer block/nvme: Change size and alignment of queue block/nvme: Change size and alignment of prp_list_pages block/nvme: Align iov's va and size on host page size block/nvme.c | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) -- 2.21.3