On Wed, Jun 24, 2020 at 05:56:20PM +0300, tal...@mellanox.com wrote:
> From: Tal Shnaiderman <tal...@mellanox.com>
> 
> Add needed function calls in rte_eal_init to detect vdev PMD.
> 
> eal_option_device_parse()
> rte_service_init()
> rte_bus_probe()
> 
> Signed-off-by: Tal Shnaiderman <tal...@mellanox.com>
> ---
>  lib/librte_eal/common/meson.build |  1 +
>  lib/librte_eal/windows/eal.c      | 19 +++++++++++++++++++
>  2 files changed, 20 insertions(+)
> 
> diff --git a/lib/librte_eal/common/meson.build 
> b/lib/librte_eal/common/meson.build

Implicit declaration warning:
../lib/librte_eal/windows/eal.c:371:6: warning: implicit declaration of 
function 'rte_service_init' is invalid in C99 [-Wimplicit-function-declaration]
        if (rte_service_init()) {
            ^
1 warning generated.

Adding "#include <rte_service_component.h>" in windows/eal.c should solve it.

Getting some linker error:
   Creating library drivers\librte_bus_vdev.dll.a and object 
drivers\librte_bus_vdev.dll.exp
bus_vdev_vdev.c.obj : error LNK2019: unresolved external symbol 
rte_log_register_type_and_pick_level referenced in function __vdev_logtype_bus
drivers\librte_bus_vdev-0.200.3.dll : fatal error LNK1120: 1 unresolved 
externals

Probably just a missing export for "rte_log_register_type_and_pick_level" in 
rte_eal_exports.def?

After adding the missing include and export, compilation and linking are 
successful.
I see some errors when running the app though:

EAL: error allocating rte services array
EAL: FATAL: rte_service_init() failed
EAL: rte_service_init() failed
PANIC in main():
Cannot init EAL
6: [<unknown> (RtlUserThreadStart+0x21)[0x7FFACF283460]]
5: [<unknown> (BaseThreadInitThunk+0x14)[0x7FFACE7A6DF0]]
4: [<missing_symbols>]
3: [<missing_symbols>]
2: [<missing_symbols>]
1: [<missing_symbols>]

Reply via email to