Vringh is a host-side implementation of virtio rings, and supports the vring located on three kinds of memories, userspace, kernel space and a space translated iotlb. This patch introduces a new accessor for the vring on IO memory regions. The accessor is used by the proposed PCIe endpoint virtio-{net[1], console[2]} function drivers, which emulate a virtio device and access the virtio ring on PCIe host memory mapped to the local IO memory region. - [1] PCIe endpoint virtio-net function driver link: https://lore.kernel.org/linux-pci/20230203100418.2981144-1-mie@xxxxxxxxxx/ - [2] PCIe endpoint virtio-console function driver link: https://lore.kernel.org/linux-pci/20230427104428.862643-4-mie@xxxxxxxxxx/ Changes from: v3: https://lore.kernel.org/virtualization/20230425102250.3847395-1-mie@xxxxxxxxxx/ - Remove a kconfig option that is for this support - Add comments to exported functions - Remove duplicated newlines rfc v2: https://lore.kernel.org/virtualization/20230202090934.549556-8-mie@xxxxxxxxxx/ - Focus on a adding io memory APIs - Rebase on next-20230414 rfc v1: https://lore.kernel.org/virtualization/20221227022528.609839-1-mie@xxxxxxxxxx/ - Initial patchset Shunsuke Mie (1): vringh: IOMEM support drivers/vhost/vringh.c | 201 +++++++++++++++++++++++++++++++++++++++++ include/linux/vringh.h | 32 +++++++ 2 files changed, 233 insertions(+) -- 2.25.1