|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3] vpci: Add resizable bar support
On Mon, Dec 16, 2024 at 11:30:22AM +0100, Jan Beulich wrote:
> On 16.12.2024 11:24, Roger Pau Monné wrote:
> > On Fri, Dec 13, 2024 at 01:42:32PM +0800, Jiqian Chen wrote:
> >> +static int cf_check init_rebar(struct pci_dev *pdev)
> >> +{
> >> + uint32_t ctrl;
> >> + unsigned int rebar_offset, nbars;
> >> +
> >> + rebar_offset = pci_find_ext_capability(pdev->sbdf,
> >> PCI_EXT_CAP_ID_REBAR);
> >
> > You can do the init at definition:
> >
> > uint32_t ctrl;
> > unsigned int nbars;
> > unsigned int rebar_offset = pci_find_ext_capability(pdev->sbdf,
> >
> > PCI_EXT_CAP_ID_REBAR);
> >
> >
> >> +
> >> + if ( !rebar_offset )
> >> + return 0;
> >> +
> >> + if ( !is_hardware_domain(pdev->domain) )
> >> + {
> >> + printk("ReBar is not supported for domUs\n");
> >
> > This needs a bit more information IMO:
> >
> > printk(XENLOG_ERR
> > "%pd %pp: resizable BAR capability not supported for unprivileged
> > domains\n",
> > pdev->domain, &pdev->sbdf);
> >
> > I wonder if this should instead be an XSM check, but that would
> > require a new XSM hook to process permissions for PCI capabilities.
>
> Ultimately perhaps, but right now we need to bail here irrespective of
> XSM policy, as the DomU side simply is unimplemented.
Yes, I should have said additionally rather than instead of the
is_hardware_domain() check.
Thanks, Roger.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |