[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 00/18] vfio-user server in QEMU
|
From: |
Stefan Hajnoczi |
|
Subject: |
Re: [PATCH v5 00/18] vfio-user server in QEMU |
|
Date: |
Tue, 25 Jan 2022 16:00:17 +0000 |
Hi Jag,
Thanks for this latest revision. The biggest outstanding question I have
is about the isolated address spaces design.
This patch series needs a PCIBus with its own Memory Space, I/O Space,
and interrupts. That way a single QEMU process can host vfio-user
servers that different VMs connect to. They all need isolated address
spaces so that mapping a BAR in Device A does not conflict with mapping
a BAR in Device B.
The current approach adds special code to hw/pci/pci.c so that custom
AddressSpace can be set up. The isolated PCIBus is an automatically
created PCIe root port that's a child of the machine's main PCI bus. On
one hand it's neat because QEMU's assumption that there is only one
root SysBus isn't violated. On the other hand it seems like a special
case hack for PCI and I'm not sure in what sense these PCIBusses are
really children of the machine's main PCI bus since they don't share or
interact in any way.
Another approach that came to mind is to allow multiple root SysBusses.
Each vfio-user server would need its own SysBus and put a regular PCI
host onto that isolated SysBus without modifying hw/pci/pci.c with a
special case. The downside to this is that violating the single SysBus
assumption probably breaks monitor commands that rely on
qdev_find_recursive() and friends. It seems cleaner than adding isolated
address spaces to PCI specifically, but also raises the question if
multiple machine instances are needed (which would raise even more
questions).
I wanted to raise this to see if Peter, Kevin, Michael, and others are
happy with the current approach or have ideas for a clean solution.
Stefan
signature.asc
Description: PGP signature
- Re: [PATCH v5 12/18] vfio-user: run vfio-user context, (continued)
- [PATCH v5 15/18] vfio-user: handle PCI BAR accesses, Jagannathan Raman, 2022/01/19
- [PATCH v5 14/18] vfio-user: handle DMA mappings, Jagannathan Raman, 2022/01/19
- [PATCH v5 16/18] vfio-user: handle device interrupts, Jagannathan Raman, 2022/01/19
- [PATCH v5 17/18] vfio-user: register handlers to facilitate migration, Jagannathan Raman, 2022/01/19
- [PATCH v5 18/18] vfio-user: avocado tests for vfio-user, Jagannathan Raman, 2022/01/19
- Re: [PATCH v5 00/18] vfio-user server in QEMU,
Stefan Hajnoczi <=