On 2025/4/15 18:08, Jan Beulich wrote: > On 15.04.2025 12:07, Chen, Jiqian wrote: >> On 2025/4/15 17:25, Roger Pau Monné wrote: >>> On Wed, Apr 09, 2025 at 02:45:22PM +0800, Jiqian Chen wrote: >>>> --- a/xen/drivers/vpci/header.c >>>> +++ b/xen/drivers/vpci/header.c >>>> @@ -745,6 +745,76 @@ static int bar_add_rangeset(const struct pci_dev >>>> *pdev, struct vpci_bar *bar, >>>> return !bar->mem ? -ENOMEM : 0; >>>> } >>>> >>>> +/* These capabilities can be exposed to the guest, that vPCI can handle. >>>> */ >>>> +static const unsigned int guest_supported_caps[] = { >>>> + PCI_CAP_ID_MSI, >>>> + PCI_CAP_ID_MSIX, >>>> +}; >>> >>> Is there a reason this needs to be defined outside of the function >>> scope? So far it's only used by vpci_init_capability_list(). >> Because, for dom0 I don't need to pass this array, so I need to set below >> parameter "caps" to be NULL or guest_supported_caps according to the type of >> domain. >> If inside the function, I can't to do that since "caps" is const, I think. > > Why would the more narrow scope of the array affect how it can be used? Sorry, I have thought about it again and it can be put it inside the function. I will change in the next version.
> > Jan -- Best regards, Jiqian Chen.