Skip to content

Re-factoring passthrough/pci.c and adding place-holder code for ARM/PCI

Manish Jaggi xen-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 19 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2xen/x86: Patch re-factors MSI/X config code from, drivers/passthrough/pci.c to x86 specificxen/drivers/passthrough/pci.c xen/drivers/passthrough/x86/Makefile xen/drivers/passthrough/x86/pci.c +2 more+137 -1024 replies
2/2xen/arm: Make HAS_PCI compilable on ARM by adding place-holder codexen/arch/arm/Makefile xen/arch/arm/pci.c xen/drivers/passthrough/arm/Makefile +6 more+186 -178 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] Re-factoring passthrough/pci.c and adding place-holder code for ARM/PCI

Xen currently does not have PCI support for ARM builds. This patch set makes the code compilable for ARM PCI and adds places-holder code which would be replaced with PCI pass-through support patch series.

Re-factor MSI Handling
-------------
There is a some x86 specific code which is found in common code:
xen/drivers/passthrough/pci.c which needs to be re factored.

MSI/X are configured and handled by dom0 or domU code on ARM64 and is not required to be part of common code. However there are functions which are used as part of common code and calls to these functions cannot be easily re factored like pci_cleanup_msi.

xen/drivers/passthrough/<arch>/pci.c files handle these functions.

Add ARM PCI Support
---------------
a) Place holder functions are added for pci_conf_read/write calls.
b) Macros dev_is_pci, pci_to_dev are implemented in drivers/passthrough/pci/arm code

Manish Jaggi (2):
xen/x86: Patch re-factors MSI/X config code from
drivers/passthrough/pci.c to x86 specific
xen/arm: Make HAS_PCI compilable on ARM by adding place-holder code

 xen/arch/arm/Makefile                |    1 +
 xen/arch/arm/pci.c                   |   60 ++++++++++++++++++
 xen/drivers/passthrough/arm/Makefile |    1 +
 xen/drivers/passthrough/arm/pci.c    |   88 ++++++++++++++++++++++++++
 xen/drivers/passthrough/arm/smmu.c   |    1 -
 xen/drivers/passthrough/pci.c        |  111 +++-----------------------------
 xen/drivers/passthrough/x86/Makefile |    1 +
 xen/drivers/passthrough/x86/pci.c    |  115 ++++++++++++++++++++++++++++++++++
 xen/include/asm-arm/device.h         |   33 +++++++---
 xen/include/asm-arm/domain.h         |    3 +
 xen/include/asm-arm/pci.h            |    7 ++-
 xen/include/asm-x86/msi.h            |    1 -
 xen/include/xen/pci.h                |   20 +++++-
 13 files changed, 323 insertions(+), 119 deletions(-)
 create mode 100644 xen/arch/arm/pci.c
 create mode 100644 xen/drivers/passthrough/arm/pci.c
 create mode 100644 xen/drivers/passthrough/x86/pci.c
Signature · 1 line
1.7.9.5