vfio/pci: Enable AtomicOps completers on root ports
commitc00aac6f1428d40a4ca2ab9b89070afc2a5bf979
authorAlex Williamson <alex.williamson@redhat.com>
Fri, 26 May 2023 23:15:58 +0000 (26 17:15 -0600)
committerCédric Le Goater <clg@redhat.com>
Mon, 10 Jul 2023 07:52:52 +0000 (10 09:52 +0200)
treec508291b3bd8e5e4445ae9b763ba66ce2bc9e37f
parentcf2916f6a1c3e4e9d9907f4c65f8a4634039de40
vfio/pci: Enable AtomicOps completers on root ports

Dynamically enable Atomic Ops completer support around realize/exit of
vfio-pci devices reporting host support for these accesses and adhering
to a minimal configuration standard.  While the Atomic Ops completer
bits in the root port device capabilities2 register are read-only, the
PCIe spec does allow RO bits to change to reflect hardware state.  We
take advantage of that here around the realize and exit functions of
the vfio-pci device.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Robin Voetter <robin@streamhpc.com>
Tested-by: Robin Voetter <robin@streamhpc.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
hw/vfio/pci.c
hw/vfio/pci.h