Hi Tetsuya, On 1/18/2016 5:13 PM, Tetsuya Mukawa wrote: > The patches abstract pci access method of virtio-net PMD. > The patch should be on Yuanhan's below patch series. > - [PATCH v4 0/8] virtio 1.0 enabling for virtio pmd driver > > > Tetsuya Mukawa (3): > virtio: Change the parameter order of io_write8/16/32() > virtio: move rte_eal_pci_unmap_device() to virtio_pci.c > virtio: Add a new layer to abstract pci access method > > drivers/net/virtio/virtio_ethdev.c | 4 +- > drivers/net/virtio/virtio_pci.c | 468 > ++++++++++++++++++++++++++----------- > drivers/net/virtio/virtio_pci.h | 33 ++- > 3 files changed, 369 insertions(+), 136 deletions(-) >
Now I believe we will become more clear about the difference of our two implementations. I was planning to just implement another struct virtio_pci_ops because it's going the long way round for my implementation to translate virtio_pci_ops to ioport/pci configuration space rd/wr then back to sendmsg/ioctl. And in my implementation, there's no need to differentiate legacy/modern device. As I understand, your implementation does not need another implementation of struct virtio_pci_ops, but you need different implementation in lower layer as this patch show. You want to support both legacy/modern device, right? By the way, this patch looks good to me. Thanks, Jianfeng