|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 5/9] xen/pci: split code to size BARs from pci_add_device
>>> Roger Pau Monne <roger.pau@xxxxxxxxxx> 07/20/17 4:00 PM >>>
>On Fri, Jul 14, 2017 at 04:33:20AM -0600, Jan Beulich wrote:
> >>> On 30.06.17 at 17:01, <roger.pau@xxxxxxxxxx> wrote:
>> > --- a/xen/drivers/passthrough/pci.c
>> > +++ b/xen/drivers/passthrough/pci.c
>> > @@ -588,6 +588,54 @@ static void pci_enable_acs(struct pci_dev *pdev)
>> > pci_conf_write16(seg, bus, dev, func, pos + PCI_ACS_CTRL, ctrl);
>> > }
>> >
>> > +int pci_size_mem_bar(unsigned int seg, unsigned int bus, unsigned int
>> > slot,
>> > + unsigned int func, unsigned int pos, bool last,
>> > + uint64_t *paddr, uint64_t *psize)
>> > +{
>> > + uint32_t hi = 0, bar = pci_conf_read32(seg, bus, slot, func, pos);
>> > + uint64_t addr, size;
>> > +
>> > + ASSERT((bar & PCI_BASE_ADDRESS_SPACE) ==
>> > PCI_BASE_ADDRESS_SPACE_MEMORY);
>> > + pci_conf_write32(seg, bus, slot, func, pos, ~0);
>> > + if ( (bar & PCI_BASE_ADDRESS_MEM_TYPE_MASK) ==
>> > + PCI_BASE_ADDRESS_MEM_TYPE_64 )
>> > + {
>> > + if ( last )
>> > + {
>> > + printk(XENLOG_WARNING
>> > + "device %04x:%02x:%02x.%u with 64-bit BAR in last
>> > slot\n",
>>
>> This message needs to tell what kind of slot is being processed (just
>> like the original did).
>
>The original message is:
>
>"SR-IOV device %04x:%02x:%02x.%u with 64-bit vf BAR in last slot"
>
>I guess you would like to have the "vf" again, in which case I will
>add a bool vf parameter to the function that's only going to be used
>here.
Note also the "SR-IOV" at the beginning. But either part would be sufficient.
> IMHO I'm not really sure it's worth it because I don't find it
>that informative. I though that just knowing the device sbdf is
>enough.
It allows deducing the situation in which this function is being called.
>> > + addr = (bar & PCI_BASE_ADDRESS_MEM_MASK) | ((u64)hi << 32);
>> > +
>> > + if ( paddr )
>> > + *paddr = addr;
>> > + if ( psize )
>> > + *psize = size;
>>
>> Is it reasonable to expect the caller to not care about the size?
>
>Not at the moment, so I guess ASSERT(psize) would be better.
I don't even see a need for such an ASSERT().
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |