On 6/8/25 22:44, Andrea Righi via Devel wrote:
> Introduce apci-generic-initiator device to the domain XML.
> 
> Example definition:
> 
>   <acpi-generic-initiator>
>     <pci-dev>dev0</pci-dev>
>     <numa-node>1</numa-node>
>   </acpi-generic-initiator>
> 
> This enables partitioning of PCI resources into multiple isolated
> instances, each requiring a dedicated NUMA node definition, that can be
> represented by the acpi-generic-initiator object.
> 
> Signed-off-by: Andrea Righi <ari...@nvidia.com>
> ---
>  src/ch/ch_domain.c                |   1 +
>  src/conf/domain_conf.c            | 122 ++++++++++++++++++++++++++++--
>  src/conf/domain_conf.h            |   5 +-
>  src/conf/domain_postparse.c       |   1 +
>  src/conf/domain_validate.c        |  37 +++++++++
>  src/conf/schemas/domaincommon.rng |   7 +-
>  src/hyperv/hyperv_driver.c        |   1 +
>  src/libxl/libxl_driver.c          |   6 ++
>  src/lxc/lxc_driver.c              |   6 ++
>  src/qemu/qemu_alias.c             |  11 +++
>  src/qemu/qemu_command.c           |   1 +
>  src/qemu/qemu_domain.c            |   2 +
>  src/qemu/qemu_domain_address.c    |   4 +
>  src/qemu/qemu_driver.c            |   3 +
>  src/qemu/qemu_hotplug.c           |   5 ++
>  src/qemu/qemu_postparse.c         |   1 +
>  src/qemu/qemu_validate.c          |   1 +
>  src/test/test_driver.c            |   4 +
>  18 files changed, 205 insertions(+), 13 deletions(-)
> 


> diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
> index e89cdee487..573bbc282c 100644
> --- a/src/qemu/qemu_domain_address.c
> +++ b/src/qemu/qemu_domain_address.c
> @@ -471,6 +471,7 @@ qemuDomainDeviceSupportZPCI(virDomainDeviceDef *device)
>      case VIR_DOMAIN_DEVICE_AUDIO:
>      case VIR_DOMAIN_DEVICE_CRYPTO:
>      case VIR_DOMAIN_DEVICE_PSTORE:
> +    case VIR_DOMAIN_DEVICE_ACPI_INITIATOR:
>          break;
>  
>      case VIR_DOMAIN_DEVICE_NONE:
> @@ -819,6 +820,9 @@ 
> qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDef *dev,
>          return pciFlags;
>      }
>  
> +    case VIR_DOMAIN_DEVICE_ACPI_INITIATOR:
> +        return pciFlags;
> +

This doesn't make much sense to me. In QEMU this is just an object, not
a device. IOW, it's not 'guest visible' and thus doesn't connect to any
bus really.

>      case VIR_DOMAIN_DEVICE_MEMBALLOON:
>          switch (dev->data.memballoon->model) {
>          case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO_TRANSITIONAL:

Michal

Reply via email to