Re: [PATCH 1/5] eal: make enum rte_kernel_driver non-PCI specific
From: Shreyansh Jain <hidden>
Date: 2016-09-12 05:10:04
Hi, On Sunday 11 September 2016 05:45 PM, Yuanhan Liu wrote:
On Thu, Sep 01, 2016 at 10:11:51AM +0530, Shreyansh Jain wrote:quoted
From: Jan Viktorin <redacted> From: Jan Viktorin <redacted> Signed-off-by: Jan Viktorin <redacted> Signed-off-by: Shreyansh Jain <redacted>Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu --- i686-native-linuxapp-gcc: config-all-yes ======================================== In file included from lib/librte_eal/linuxapp/eal/eal_pci.c:38:0: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c:52:0: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_thread.c:55: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */ ^ make[7]: *** [eal_thread.o] Error 1 make[7]: *** Waiting for unfinished jobs.... In file included from lib/librte_eal/linuxapp/eal/eal.c:72:0: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_memory.c:97: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_log.c:50: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */ ^ make[7]: *** [eal_log.o] Error 1 make[7]: *** [eal_vfio_mp_sync.o] Error 1 In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_vfio.c:45: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */ ^ make[7]: *** [eal.o] Error 1 make[7]: *** [eal_memory.o] Error 1 make[7]: *** [eal_vfio.o] Error 1 lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_map_device': lib/librte_eal/linuxapp/eal/eal_pci.c:133:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:133:7: note: each undeclared identifier is reported only once for each function it appears in lib/librte_eal/linuxapp/eal/eal_pci.c:139:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:140:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_unmap_device': lib/librte_eal/linuxapp/eal/eal_pci.c:160:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:163:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:164:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'pci_scan_one': lib/librte_eal/linuxapp/eal/eal_pci.c:381:16: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) dev->kdrv = RTE_KDRV_VFIO; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:383:16: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) dev->kdrv = RTE_KDRV_IGB_UIO; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:385:16: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) dev->kdrv = RTE_KDRV_UIO_GENERIC; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:387:16: error: 'RTE_KDRV_UNKNOWN' undeclared (first use in this function) dev->kdrv = RTE_KDRV_UNKNOWN; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:389:15: error: 'RTE_KDRV_NONE' undeclared (first use in this function) dev->kdrv = RTE_KDRV_NONE; ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_ioport_map': lib/librte_eal/linuxapp/eal/eal_pci.c:626:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:631:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:634:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:641:7: error: 'RTE_KDRV_NONE' undeclared (first use in this function) case RTE_KDRV_NONE: ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_ioport_read': lib/librte_eal/linuxapp/eal/eal_pci.c:662:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:666:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:669:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:672:7: error: 'RTE_KDRV_NONE' undeclared (first use in this function) case RTE_KDRV_NONE: ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_ioport_write': lib/librte_eal/linuxapp/eal/eal_pci.c:688:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:692:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:695:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:698:7: error: 'RTE_KDRV_NONE' undeclared (first use in this function) case RTE_KDRV_NONE: ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_ioport_unmap': lib/librte_eal/linuxapp/eal/eal_pci.c:715:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:720:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:723:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:730:7: error: 'RTE_KDRV_NONE' undeclared (first use in this function) case RTE_KDRV_NONE: ^ make[7]: *** [eal_pci.o] Error 1 make[6]: *** [eal] Error 2 make[5]: *** [linuxapp] Error 2 make[4]: *** [librte_eal] Error 2 make[3]: *** [lib] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 error: build failed
Thanks for highlighting. That is my mistake. While sending the patch my intention was to highlight that these are more as a RFC than direct patches. I forgot to add that and didn't notice it after posting either. Problem is that this patch moves 'enum rte_kernel_driver' to rte_dev.h from rte_pci.h. All the above errors are reported by files which still include rte_dev.h. I was hoping that if these patches look fine to all, I will update all the headers and send again. -- Shreyansh