On Sun, Feb 21, 2021 at 4:58 PM 谢华伟(此时此刻) <huawei....@alibaba-inc.com> wrote: > > > On 2021/2/18 17:33, David Marchand wrote: > > On Fri, Jan 29, 2021 at 4:19 AM 谢华伟(此时此刻) <huawei....@alibaba-inc.com> > > wrote: > >> From: "huawei.xhw" <huawei....@alibaba-inc.com> > >> > >> Currently virtio PMD asssumes legacy device uses PIO bar. > >> There are three ways to get PIO(PortIO) address for virtio legacy device. > >> under igb_uio, get pio address from uio/uio# sysfs attribute > >> under uio_pci_generic: > >> for X86, get PIO address from /proc/ioport > >> for other ARCH, get PIO address from standard PCI sysfs attribute > >> > >> Actually, igb_uio sysfs attribute exports exactly the same thing as > >> standard PCI sysfs, i.e, > >> pci_dev->resource[] > >> > >> This patch fixes these messy things, and uses standard PCI sysfs attribute. > > I can not find what is being fixed. > > Could you elaborate? > > Maybe i wrongly use the word fix? With this patch, different drivers > use the same way to get IO address for virtio device. > Previously different driver get IO address with different method.
The commitlog is confusing, mentioning pci_dev->resource[] (I guess from the kernel sources?) and talking about a fix while it works fine so far. So this is a refactoring. Did you check that virtio devices bound to uio_pci_generic still works with legacy mode + PIO? -- David Marchand