On Wed, Jun 24, 2020 at 05:56:20PM +0300, [email protected] wrote:
> From: Tal Shnaiderman <[email protected]>
>
> 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 <[email protected]>
> ---
> 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>]