mbox series

[v4,0/5] Kconfig for PCI passthrough on ARM

Message ID 20231030235240.106998-1-stewart.hildebrand@amd.com (mailing list archive)
Headers show
Series Kconfig for PCI passthrough on ARM | expand

Message

Stewart Hildebrand Oct. 30, 2023, 11:52 p.m. UTC
There are multiple series in development/review [1], [2] that will benefit from
having a Kconfig option for PCI passthrough on ARM. Hence I have sent this
series independent from any other series.

v3->v4:
* rename ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
  to ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
* fold ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
  into ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
* split ("xen/arm: enable vPCI for domUs") into separate hypervisor and
  tools patches

v2->v3:
* add ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
* rename ("xen/arm: make has_vpci depend on CONFIG_HAS_VPCI")
      to ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
* add ("xen/arm: enable vPCI for dom0")

v1->v2:
* add ("[FUTURE] xen/arm: enable vPCI for domUs")

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg02361.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html

Rahul Singh (1):
  xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option

Stewart Hildebrand (4):
  xen/vpci: move xen_domctl_createdomain vPCI flag to common
  xen/arm: enable vPCI for dom0
  [FUTURE] xen/arm: enable vPCI for domUs
  [FUTURE] tools/arm: enable vPCI for domUs

 tools/libs/light/libxl_arm.c       |  3 +++
 tools/libs/light/libxl_x86.c       |  5 ++++-
 tools/ocaml/libs/xc/xenctrl.ml     |  2 +-
 tools/ocaml/libs/xc/xenctrl.mli    |  2 +-
 tools/python/xen/lowlevel/xc/xc.c  |  5 ++++-
 xen/arch/arm/Kconfig               | 10 ++++++++++
 xen/arch/arm/domain.c              |  3 ++-
 xen/arch/arm/domain_build.c        |  6 ++++++
 xen/arch/arm/include/asm/domain.h  |  3 ---
 xen/arch/arm/include/asm/pci.h     |  9 +++++++++
 xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
 xen/arch/arm/vpci.c                |  8 ++++++++
 xen/arch/x86/domain.c              | 16 ++++++++++------
 xen/arch/x86/include/asm/domain.h  |  6 +-----
 xen/arch/x86/setup.c               |  5 +++--
 xen/common/domain.c                | 10 +++++++++-
 xen/drivers/passthrough/pci.c      | 10 ++++++++++
 xen/include/public/arch-x86/xen.h  |  5 +----
 xen/include/public/domctl.h        |  7 +++++--
 xen/include/xen/domain.h           |  2 ++
 20 files changed, 97 insertions(+), 31 deletions(-)


base-commit: 9659b2a6d73b14620e187f9c626a09323853c459

Comments

Christian Lindig Nov. 1, 2023, 9:25 a.m. UTC | #1
> On 30 Oct 2023, at 23:52, Stewart Hildebrand <stewart.hildebrand@amd.com> wrote:
> 
> There are multiple series in development/review [1], [2] that will benefit from
> having a Kconfig option for PCI passthrough on ARM. Hence I have sent this
> series independent from any other series.
> 
> v3->v4:
> * rename ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
>  to ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
> * fold ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
>  into ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
> * split ("xen/arm: enable vPCI for domUs") into separate hypervisor and
>  tools patches
> 
> v2->v3:
> * add ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
> * rename ("xen/arm: make has_vpci depend on CONFIG_HAS_VPCI")
>      to ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
> * add ("xen/arm: enable vPCI for dom0")
> 
> v1->v2:
> * add ("[FUTURE] xen/arm: enable vPCI for domUs")
> 
> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg02361.html
> [2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html
> 
> Rahul Singh (1):
>  xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option
> 
> Stewart Hildebrand (4):
>  xen/vpci: move xen_domctl_createdomain vPCI flag to common
>  xen/arm: enable vPCI for dom0
>  [FUTURE] xen/arm: enable vPCI for domUs
>  [FUTURE] tools/arm: enable vPCI for domUs
> 
> tools/libs/light/libxl_arm.c       |  3 +++
> tools/libs/light/libxl_x86.c       |  5 ++++-
> tools/ocaml/libs/xc/xenctrl.ml     |  2 +-
> tools/ocaml/libs/xc/xenctrl.mli    |  2 +-
> tools/python/xen/lowlevel/xc/xc.c  |  5 ++++-
> xen/arch/arm/Kconfig               | 10 ++++++++++
> xen/arch/arm/domain.c              |  3 ++-
> xen/arch/arm/domain_build.c        |  6 ++++++
> xen/arch/arm/include/asm/domain.h  |  3 ---
> xen/arch/arm/include/asm/pci.h     |  9 +++++++++
> xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
> xen/arch/arm/vpci.c                |  8 ++++++++
> xen/arch/x86/domain.c              | 16 ++++++++++------
> xen/arch/x86/include/asm/domain.h  |  6 +-----
> xen/arch/x86/setup.c               |  5 +++--
> xen/common/domain.c                | 10 +++++++++-
> xen/drivers/passthrough/pci.c      | 10 ++++++++++
> xen/include/public/arch-x86/xen.h  |  5 +----
> xen/include/public/domctl.h        |  7 +++++--
> xen/include/xen/domain.h           |  2 ++
> 20 files changed, 97 insertions(+), 31 deletions(-)
> 
> 
> base-commit: 9659b2a6d73b14620e187f9c626a09323853c459
> -- 
> 2.42.0
> 


Acked-by: Christian Lindig <christian.lindig@cloud.com>


The changes for the OCaml part are incremental; is someone using the OCaml bindings on ARM seriously? 

— C
Stewart Hildebrand Nov. 2, 2023, 5:53 p.m. UTC | #2
On 11/1/23 05:25, Christian Lindig wrote:
>> On 30 Oct 2023, at 23:52, Stewart Hildebrand <stewart.hildebrand@amd.com> wrote:
>>
>> There are multiple series in development/review [1], [2] that will benefit from
>> having a Kconfig option for PCI passthrough on ARM. Hence I have sent this
>> series independent from any other series.
>>
>> v3->v4:
>> * rename ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
>>  to ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
>> * fold ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
>>  into ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
>> * split ("xen/arm: enable vPCI for domUs") into separate hypervisor and
>>  tools patches
>>
>> v2->v3:
>> * add ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
>> * rename ("xen/arm: make has_vpci depend on CONFIG_HAS_VPCI")
>>      to ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
>> * add ("xen/arm: enable vPCI for dom0")
>>
>> v1->v2:
>> * add ("[FUTURE] xen/arm: enable vPCI for domUs")
>>
>> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg02361.html
>> [2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html
>>
>> Rahul Singh (1):
>>  xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option
>>
>> Stewart Hildebrand (4):
>>  xen/vpci: move xen_domctl_createdomain vPCI flag to common
>>  xen/arm: enable vPCI for dom0
>>  [FUTURE] xen/arm: enable vPCI for domUs
>>  [FUTURE] tools/arm: enable vPCI for domUs
>>
>> tools/libs/light/libxl_arm.c       |  3 +++
>> tools/libs/light/libxl_x86.c       |  5 ++++-
>> tools/ocaml/libs/xc/xenctrl.ml     |  2 +-
>> tools/ocaml/libs/xc/xenctrl.mli    |  2 +-
>> tools/python/xen/lowlevel/xc/xc.c  |  5 ++++-
>> xen/arch/arm/Kconfig               | 10 ++++++++++
>> xen/arch/arm/domain.c              |  3 ++-
>> xen/arch/arm/domain_build.c        |  6 ++++++
>> xen/arch/arm/include/asm/domain.h  |  3 ---
>> xen/arch/arm/include/asm/pci.h     |  9 +++++++++
>> xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
>> xen/arch/arm/vpci.c                |  8 ++++++++
>> xen/arch/x86/domain.c              | 16 ++++++++++------
>> xen/arch/x86/include/asm/domain.h  |  6 +-----
>> xen/arch/x86/setup.c               |  5 +++--
>> xen/common/domain.c                | 10 +++++++++-
>> xen/drivers/passthrough/pci.c      | 10 ++++++++++
>> xen/include/public/arch-x86/xen.h  |  5 +----
>> xen/include/public/domctl.h        |  7 +++++--
>> xen/include/xen/domain.h           |  2 ++
>> 20 files changed, 97 insertions(+), 31 deletions(-)
>>
>>
>> base-commit: 9659b2a6d73b14620e187f9c626a09323853c459
>> -- 
>> 2.42.0
>>
> 
> 
> Acked-by: Christian Lindig <christian.lindig@cloud.com>

Thanks, I'll add this tag to the relevant patch ("xen/vpci: move xen_domctl_createdomain vPCI flag to common").

> 
> 
> The changes for the OCaml part are incremental; is someone using the OCaml bindings on ARM seriously? 

The patch touching OCaml is essentially code movement from x86 to common.