On Tue, Oct 19, 2021 at 8:36 PM Harman Kalra <hka...@marvell.com> wrote:
> diff --git a/lib/eal/version.map b/lib/eal/version.map
> index 38f7de83e1..7112dbc146 100644
> --- a/lib/eal/version.map
> +++ b/lib/eal/version.map
> @@ -109,18 +109,10 @@ DPDK_22 {
>         rte_hexdump;
>         rte_hypervisor_get;
>         rte_hypervisor_get_name; # WINDOWS_NO_EXPORT
> -       rte_intr_allow_others;
>         rte_intr_callback_register;
>         rte_intr_callback_unregister;
> -       rte_intr_cap_multiple;
> -       rte_intr_disable;
> -       rte_intr_dp_is_en;
> -       rte_intr_efd_disable;
> -       rte_intr_efd_enable;
>         rte_intr_enable;
> -       rte_intr_free_epoll_fd;
> -       rte_intr_rx_ctl;
> -       rte_intr_tls_epfd;
> +       rte_intr_disable;

Please sort symbols alphabetically, this patch moves rte_intr_disable
after rte_intr_enable.


>         rte_keepalive_create; # WINDOWS_NO_EXPORT
>         rte_keepalive_dispatch_pings; # WINDOWS_NO_EXPORT
>         rte_keepalive_mark_alive; # WINDOWS_NO_EXPORT
> @@ -420,12 +412,49 @@ EXPERIMENTAL {
>
>         # added in 21.08
>         rte_power_monitor_multi; # WINDOWS_NO_EXPORT
> +
> +       # added in 21.11
> +       rte_intr_fd_get; # WINDOWS_NO_EXPORT
> +       rte_intr_fd_set; # WINDOWS_NO_EXPORT
> +       rte_intr_instance_alloc;
> +       rte_intr_instance_free;
> +       rte_intr_type_get;
> +       rte_intr_type_set;
>  };
>
>  INTERNAL {
>         global:
>
>         rte_firmware_read;
> +       rte_intr_allow_others;
> +       rte_intr_cap_multiple;
> +       rte_intr_dev_fd_get; # WINDOWS_NO_EXPORT
> +       rte_intr_dev_fd_set; # WINDOWS_NO_EXPORT
> +       rte_intr_dp_is_en;
> +       rte_intr_efd_counter_size_set; # WINDOWS_NO_EXPORT
> +       rte_intr_efd_counter_size_get; # WINDOWS_NO_EXPORT
> +       rte_intr_efd_disable;
> +       rte_intr_efd_enable;
> +       rte_intr_efds_index_get; # WINDOWS_NO_EXPORT
> +       rte_intr_efds_index_set; # WINDOWS_NO_EXPORT
> +       rte_intr_elist_index_get;
> +       rte_intr_elist_index_set;
> +       rte_intr_event_list_update;
> +       rte_intr_free_epoll_fd;
> +       rte_intr_instance_copy;
> +       rte_intr_instance_windows_handle_get;
> +       rte_intr_instance_windows_handle_set;
> +       rte_intr_max_intr_get;
> +       rte_intr_max_intr_set;
> +       rte_intr_nb_efd_get; # WINDOWS_NO_EXPORT
> +       rte_intr_nb_efd_set; # WINDOWS_NO_EXPORT
> +       rte_intr_nb_intr_get; # WINDOWS_NO_EXPORT
> +       rte_intr_rx_ctl;
> +       rte_intr_tls_epfd;
> +       rte_intr_vec_list_alloc;
> +       rte_intr_vec_list_free;
> +       rte_intr_vec_list_index_get;
> +       rte_intr_vec_list_index_set;
>         rte_mem_lock;
>         rte_mem_map;
>         rte_mem_page_size;


I see at least one link issue on Windows:

FAILED: lib/rte_ethdev-22.dll
"clang"  -Wl,/MACHINE:X64 -Wl,/OUT:lib/rte_ethdev-22.dll
lib/librte_ethdev.a.p/ethdev_ethdev_private.c.obj
lib/librte_ethdev.a.p/ethdev_ethdev_profile.c.obj
lib/librte_ethdev.a.p/ethdev_ethdev_trace_points.c.obj
lib/librte_ethdev.a.p/ethdev_rte_class_eth.c.obj
lib/librte_ethdev.a.p/ethdev_rte_ethdev.c.obj
lib/librte_ethdev.a.p/ethdev_rte_flow.c.obj
lib/librte_ethdev.a.p/ethdev_rte_mtr.c.obj
lib/librte_ethdev.a.p/ethdev_rte_tm.c.obj "-Wl,/nologo" "-Wl,/release"
"-Wl,/nologo" "-Wl,/OPT:REF" "-Wl,/DLL"
"-Wl,/IMPLIB:lib\rte_ethdev.lib" "lib\rte_eal.lib"
"lib\rte_kvargs.lib" "lib\rte_net.lib" "lib\rte_mbuf.lib"
"lib\rte_mempool.lib" "lib\rte_ring.lib" "lib\rte_meter.lib"
"lib\rte_telemetry.lib"
"-Wl,/def:C:\Users\builder\jenkins\workspace\Windows-Compile-DPDK-Meson\dpdk\build\lib\rte_ethdev_exports.def"
"-ldbghelp" "-lsetupapi" "-lws2_32" "-lmincore" "-lkernel32"
"-luser32" "-lgdi32" "-lwinspool" "-lshell32" "-lole32" "-loleaut32"
"-luuid" "-lcomdlg32" "-ladvapi32"
   Creating library lib\rte_ethdev.lib and object lib\rte_ethdev.exp
ethdev_rte_ethdev.c.obj : error LNK2019: unresolved external symbol
rte_intr_efds_index_get referenced in function
rte_eth_dev_rx_intr_ctl_q_get_fd
lib\rte_ethdev-22.dll : fatal error LNK1120: 1 unresolved externals

AFAIU, eal_common_interrupts.c hosts those new symbols and this file
is compiled for Windows (from common/meson.build update), so all intr
symbols are available.

There is no reason to filter interrupts symbols for Windows, is there?

-- 
David Marchand

Reply via email to