[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RFC 12/19] vfio-user: probe remote device's BARs
From: |
Alex Williamson |
Subject: |
Re: [PATCH RFC 12/19] vfio-user: probe remote device's BARs |
Date: |
Mon, 19 Jul 2021 21:01:43 -0600 |
On Tue, 20 Jul 2021 01:39:21 +0000
John Johnson <john.g.johnson@oracle.com> wrote:
> > On Jul 19, 2021, at 3:59 PM, Alex Williamson <alex.williamson@redhat.com>
> > wrote:
> >
> > On Sun, 18 Jul 2021 23:27:51 -0700
> > Elena Ufimtseva <elena.ufimtseva@oracle.com> wrote:
> >> @@ -3442,6 +3448,22 @@ static void vfio_user_pci_realize(PCIDevice *pdev,
> >> Error **errp)
> >> /* QEMU can also add or extend BARs */
> >> memset(vdev->emulated_config_bits + PCI_BASE_ADDRESS_0, 0xff, 6 * 4);
> >>
> >> + /*
> >> + * Local QEMU overrides aren't allowed
> >> + * They must be done in the device process
> >> + */
> >> + if (pdev->cap_present & QEMU_PCI_CAP_MULTIFUNCTION) {
> >> + error_setg(errp, "Multi-function must be specified by device
> >> process");
> >> + goto error;
> >> + }
> >> + if (pdev->romfile) {
> >> + error_setg(errp, "Romfile must be specified by device process");
> >> + goto error;
> >> + }
> >
> > For what reason? PCI functions can operate completely independently,
> > there could be different servers for different functions, a QEMU user
> > may wish to apply a different option ROM image than provided by the
> > server. This all creates unnecessary incompatibilities. Thanks,
> >
>
> The idea is to have all the device options specified on the remote
> server, and have the vfio client just be a pass-through device. I thought
> having them specified in 2 places would cause more confusion.
IMO, the server has no business making such configuration restrictions.
It's the client's decision if it wants to create multi-function
topologies or override the option rom. Same for whether it wants to
override or virtualize capabilities. All of this should just work
as-is; it's actually additional code required and knowledge through the
management stack to prevent it. Thanks,
Alex
- [PATCH RFC 10/19] vfio-user: device region read/write, (continued)
- [PATCH RFC 10/19] vfio-user: device region read/write, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 01/19] vfio-user: introduce vfio-user protocol specification, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 11/19] vfio-user: get region and DMA map/unmap operations, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 14/19] vfio_user: setup MSI/X interrupts and PCI config operations, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 06/19] vfio-user: negotiate protocol with remote server, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 05/19] vfio-user: connect vfio proxy to remote server, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 09/19] vfio-user: get device info and get irq info, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 12/19] vfio-user: probe remote device's BARs, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 15/19] vfio-user: vfio user device realize, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 13/19] vfio-user: respond to remote DMA read/write requests, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 18/19] vfio-user: migration support, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 17/19] vfio-user: probe remote device ROM BAR, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 19/19] vfio-user: add migration cli options and version negotiation, Elena Ufimtseva, 2021/07/19
- [PATCH RFC 16/19] vfio-user: pci reset, Elena Ufimtseva, 2021/07/19
- [PATCH RFC server 00/11] vfio-user server in QEMU, Jagannathan Raman, 2021/07/19