On Fri, Sep 15, 2023 at 12:54 PM Ferruh Yigit <ferruh.yi...@amd.com> wrote: > > On 8/31/2023 1:31 PM, Selwin Sebastian wrote: > > Using root complex to identify cpu will not work for vm passthrough. > > CPUID is used to get family and modelid to identify cpu > > > > Fixes: b0db927b5eba ("net/axgbe: use PCI root complex device to distinguish > > device") > > Cc: sta...@dpdk.org > > > > Signed-off-by: Selwin Sebastian <selwin.sebast...@amd.com> > > --- > > drivers/net/axgbe/axgbe_ethdev.c | 102 ++++++++++++++++++------------- > > 1 file changed, 59 insertions(+), 43 deletions(-) > > > > diff --git a/drivers/net/axgbe/axgbe_ethdev.c > > b/drivers/net/axgbe/axgbe_ethdev.c > > index 48714eebe6..59f5d713d0 100644 > > --- a/drivers/net/axgbe/axgbe_ethdev.c > > +++ b/drivers/net/axgbe/axgbe_ethdev.c > > @@ -12,6 +12,8 @@ > > > > #include "eal_filesystem.h" > > > > +#include <cpuid.h> > > + > > > > This patch cause build errors for some non x86 architecture, because of > 'cpuid.h'. > > There is already a 'rte_cpuid.h' file that includes 'cpuid.h' and it is > x86 only file. > > @Selwin, does it makes sense to implement the feature you are trying to > get in eal/x86 level and use that API in the driver?
This driver was expected to compile on all arches. The meson.build seems to show an intention of compiling/working on non x86 arch... On the other hand (and if I understand correctly the runtime check), it was never expected to work with anything but a AMD PCI root complex. > > > For those eal/x86 APIs, they will be missing in other architectures, > > @David which one is better, to implement APIs for other architectures > but those just return error, or restrict driver build to x86? We gain compilation coverage, but if the vendor itself refuses runtime on anything but its platform... I don't think we should bother with this. Did I miss something? -- David Marchand