|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v9 09/11] vpci/msi: add MSI handlers
On Thu, Mar 15, 2018 at 06:44:13AM -0600, Jan Beulich wrote:
> >>> On 15.03.18 at 12:48, <roger.pau@xxxxxxxxxx> wrote:
> > On Wed, Mar 14, 2018 at 10:51:07AM -0600, Jan Beulich wrote:
> >> >>> On 14.03.18 at 15:04, <roger.pau@xxxxxxxxxx> wrote:
> >> > --- a/xen/drivers/vpci/vpci.c
> >> > +++ b/xen/drivers/vpci/vpci.c
> >> > @@ -47,6 +47,10 @@ void vpci_remove_device(struct pci_dev *pdev)
> >> > xfree(r);
> >> > }
> >> > spin_unlock(&pdev->vpci->lock);
> >> > +#ifdef __XEN__
> >> > + /* NB: fields below are not exposed to the user-space test harness.
> >> > */
> >> > + xfree(pdev->vpci->msi);
> >> > +#endif
> >>
> >> Would it maybe be better to add such dummy field(s), to avoid the
> >> #ifdef here? Anyway, with or without that
> >> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
> >
> > For the msi structure that's doable, but for msix it's more complex
> > because it includes the vpci_arch_msix_entry structure, and that would
> > mean exposing more stuff to the user-space test harness.
>
> I don't understand: These are pointers, hence it suffices to
> use the structures here without actually defining their members
> anywhere; you don't even need to declare them as an empty
> structure. You'd just need to make sure that the test tool fills
> the pointer fields with NULL (so that free()ing them is a no-op).
The issue is that the structure definition and the field declaration
are done at the same time:
struct vpci {
...
#ifdef __XEN__
struct vpci_msi {
...
} *msi;
struct vpci_msix {
...
} *msix;
#endif
}
Would you like me to add a #else with void * declarations for both msi
and msix?
I could define the structures separately inside of __XEN__ guards, but
I don't see that approach better than the one used here.
Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |