[v1] vpci/msix: separate out common MSI-X code #1

Open
lore-112b1dd090c4f0fb0abc7fed wants to merge 3 commits from lore/c8ef8fb2c19029d60a8668ebdcf09a38762828f7f13445cf3b650be9a348a384/v1 into lore/c8ef8fb2c19029d60a8668ebdcf09a38762828f7f13445cf3b650be9a348a384/v1-base
First-time contributor

Revision: v1

This is preparatory work to make vPCI MSI-X functional on Arm. Split the
vPCI MSI-X code so that intercepting the MSI-X table and PBA stays x86
only, while the MSI-X capability handling becomes common. No functional
change intended.

This is a continuation of work done by Rahul from February 2022[1].

The approach is inverted, instead of moving out the x86 parts, move out
the common ones that will be needed on Arm. Subsequent arm patches for
reference can be found here[2].

[1] https://lore.kernel.org/xen-devel/cover.1644937405.git.rahul.singh@arm.com/T/#t
[2] https://github.com/stewdk/xen/tree/pcie-passthrough-arm-vpci-v26

Rahul Singh (1):
  vpci/msix: move helpers to common

Stewart Hildebrand (2):
  vpci/msix: move msix region removal to msix.c
  vpci/msix: move common msix code to common file

 xen/arch/x86/include/asm/msi.h      |  21 ---
 xen/arch/x86/msi.c                  |   2 +-
 xen/drivers/passthrough/amd/iommu.h |   2 +-
 xen/drivers/vpci/Makefile           |   6 +-
 xen/drivers/vpci/header.c           |  30 +----
 xen/drivers/vpci/msi.c              |   3 +-
 xen/drivers/vpci/msix.c             | 197 ++++++---------------------
 xen/drivers/vpci/msix_common.c      | 202 ++++++++++++++++++++++++++++
 xen/drivers/vpci/private.h          |   2 +
 xen/include/xen/msi.h               |  21 +++
 xen/include/xen/vpci.h              |   5 +
 11 files changed, 282 insertions(+), 209 deletions(-)
 create mode 100644 xen/drivers/vpci/msix_common.c

-- 
2.55.0
Imported by review-companion Internal server error - Forgejo: Beyond coding. We Forge.

500

Internal server error

Forgejo version: 18.0.0-dev-238-4242acdd5a+gitea-1.22.0