[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3] x86/hvmloader: select xenpci MMIO BAR UC or WB MTRR cache attribute



On Tue, Jun 10, 2025 at 05:45:52PM +0200, Jan Beulich wrote:
> On 05.06.2025 18:16, Roger Pau Monne wrote:
> > @@ -271,6 +279,43 @@ void pci_setup(void)
> >              if ( bar_sz == 0 )
> >                  continue;
> >  
> > +            if ( !xenpci_bar_uc &&
> > +                 ((bar_data & PCI_BASE_ADDRESS_SPACE) ==
> > +                   PCI_BASE_ADDRESS_SPACE_MEMORY) &&
> > +                 vendor_id == 0x5853 &&
> > +                 (device_id == 0x0001 || device_id == 0x0002) )
> > +            {
> > +                if ( is_64bar )
> > +                {
> > +                     printf("xenpci dev %02x:%x unexpected MMIO 64bit 
> > BAR%u\n",
> > +                            devfn >> 3, devfn & 7, bar);
> > +                     continue;
> > +                }
> > +
> > +                if ( bar_sz > pci_mem_end ||
> > +                     ((pci_mem_end - bar_sz) & ~(bar_sz - 1)) < 
> > pci_mem_start )
> > +                {
> > +                     printf("xenpci dev %02x:%x BAR%u size %llx overflows 
> > low PCI hole\n",
> > +                            devfn >> 3, devfn & 7, bar, bar_sz);
> > +                     continue;
> > +                }
> 
> Is "continue" really the right way of handling the problem here?

The problem will only appear when using the newly added option.

> We didn't
> skip this BAR prior to your changes just because of either of these being
> true.

I can add a label to keep the previous logic in case the expectations
don't match.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.