build: remove Windows export symbol list
authorDavid Marchand <david.marchand@redhat.com>
Tue, 6 Apr 2021 17:59:10 +0000 (19:59 +0200)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 8 Apr 2021 15:57:33 +0000 (17:57 +0200)
Rather than have two files that keeps getting out of sync, let's
annotate the version.map to generate the Windows export file.

Some mlx5 symbols (haswell_broadwell_cpu, mlx5_glue, mlx5_os_*) were
only exported for Windows.
All of them are available and used by Linux too, so this patch adds
them in version.map.

Note: Existing version.map annotation achieved with:
$ for dir in lib/librte_eal drivers/common/mlx5; do
    ./buildtools/map-list-symbol.sh $dir/*.map |
    while read file version sym; do
      ! git grep -qw $sym $dir/*.def || continue;
      sed -i -e "s/$sym;/$sym; # WINDOWS_NO_EXPORT/" $dir/*.map;
    done;
  done

Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Tal Shnaiderman <talshn@nvidia.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
MAINTAINERS
buildtools/map_to_win.py
devtools/check-spdx-tag.sh
devtools/check-symbol-maps.sh
devtools/update_version_map_abi.py
drivers/common/mlx5/rte_common_mlx5_exports.def [deleted file]
drivers/common/mlx5/version.map
lib/librte_eal/rte_eal_exports.def [deleted file]
lib/librte_eal/version.map

index bca79c5..e746ef1 100644 (file)
@@ -333,7 +333,6 @@ M: Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>
 M: Dmitry Malloy <dmitrym@microsoft.com>
 M: Pallavi Kadam <pallavi.kadam@intel.com>
 F: lib/librte_eal/windows/
-F: lib/librte_eal/rte_eal_exports.def
 F: buildtools/map_to_win.py
 F: doc/guides/windows_gsg/
 
index 2a6cb88..aa1752c 100644 (file)
@@ -3,11 +3,10 @@
 # Copyright(c) 2019 Intel Corporation
 
 import sys
-from os.path import dirname, basename, join, exists
 
 
 def is_function_line(ln):
-    return ln.startswith('\t') and ln.endswith(';\n') and ":" not in ln
+    return ln.startswith('\t') and ln.endswith(';\n') and ":" not in ln and "# WINDOWS_NO_EXPORT" not in ln
 
 # MinGW keeps the original .map file but replaces per_lcore* to __emutls_v.per_lcore*
 def create_mingw_map_file(input_map, output_map):
@@ -24,12 +23,6 @@ def main(args):
         create_mingw_map_file(args[1], args[2])
         return 0
 
-# special case, allow override if an def file already exists alongside map file
-    override_file = join(dirname(args[1]), basename(args[2]))
-    if exists(override_file):
-        with open(override_file) as f_in:
-            functions = f_in.readlines()
-
 # generate def file from map file.
 # This works taking indented lines only which end with a ";" and which don't
 # have a colon in them, i.e. the lines defining functions only.
index a0ec1ed..3f2912e 100755 (executable)
@@ -25,7 +25,7 @@ check_spdx() {
        ':^*/Kbuild' ':^*/README' \
        ':^license/' ':^config/' ':^buildtools/' \
        ':^*.cocci' ':^*.abignore' \
-       ':^*.def' ':^*.map' ':^*.ini' ':^*.data' ':^*.cfg' ':^*.txt' \
+       ':^*.map' ':^*.ini' ':^*.data' ':^*.cfg' ':^*.txt' \
        ':^*.svg' ':^*.png'\
        > $tmpfile
 
index c3cbcaf..f06353f 100755 (executable)
@@ -12,7 +12,7 @@ ret=0
 find_orphan_symbols ()
 {
     for map in $(find lib drivers -name '*.map') ; do
-        for sym in $(sed -rn 's,^([^}]*_.*);,\1,p' $map) ; do
+        for sym in $(sed -rn 's,^([^}]*_.*);.*$,\1,p' $map) ; do
             if echo $sym | grep -q '^per_lcore_' ; then
                 symsrc=${sym#per_lcore_}
             elif echo $sym | grep -q '^__rte_.*_trace_' ; then
@@ -35,24 +35,4 @@ if [ -n "$orphan_symbols" ] ; then
     ret=1
 fi
 
-find_orphan_windows_symbols ()
-{
-    for def in $(find lib drivers -name '*_exports.def') ; do
-        if echo $def | grep -q 'common_mlx5' ; then
-            continue # mlx5 exports different symbols per OS
-        fi
-        map=$(dirname $def)/version.map
-        for sym in $(grep -v ^EXPORTS $def); do
-            grep -q $sym $map || echo $sym
-        done
-    done
-}
-
-orphan_windows_symbols=$(find_orphan_windows_symbols)
-if [ -n "$orphan_windows_symbols" ] ; then
-    echo "Found only in Windows export file:"
-    echo "$orphan_windows_symbols" | sed 's,^,\t,'
-    ret=1
-fi
-
 exit $ret
index d3068bb..d17b02a 100755 (executable)
@@ -15,13 +15,17 @@ import re
 
 
 def __parse_map_file(f_in):
-    # match function name, followed by semicolon, followed by EOL, optionally
-    # with whitespace in between each item
+    # match function name, followed by semicolon, followed by EOL or comments,
+    # optionally with whitespace in between each item
     func_line_regex = re.compile(r"\s*"
+                                 r"(?P<line>"
                                  r"(?P<func>[a-zA-Z_0-9]+)"
                                  r"\s*"
                                  r";"
                                  r"\s*"
+                                 r"(?P<comment>#.+)?"
+                                 r")"
+                                 r"\s*"
                                  r"$")
     # match section name, followed by opening bracked, followed by EOL,
     # optionally with whitespace in between each item
@@ -99,7 +103,7 @@ def __parse_map_file(f_in):
         # is this a function?
         match = func_line_regex.match(line)
         if match:
-            stable_lines.add(match.group("func"))
+            stable_lines.add(match.group("line"))
 
     return has_stable, stable_lines, experimental_lines, internal_lines
 
@@ -116,7 +120,7 @@ def __generate_stable_abi(f_out, abi_major, lines):
 
         # print all stable lines, alphabetically sorted
         for line in sorted(lines):
-            print("\t{};".format(line), file=f_out)
+            print("\t{}".format(line), file=f_out)
 
         # another blank line
         print(file=f_out)
diff --git a/drivers/common/mlx5/rte_common_mlx5_exports.def b/drivers/common/mlx5/rte_common_mlx5_exports.def
deleted file mode 100644 (file)
index fd62b80..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-EXPORTS
-       haswell_broadwell_cpu
-
-       mlx5_common_init
-
-       mlx5_create_mr_ext
-
-       mlx5_devx_cmd_alloc_pd
-       mlx5_devx_cmd_create_cq
-       mlx5_devx_cmd_create_flex_parser
-       mlx5_devx_cmd_create_qp
-       mlx5_devx_cmd_create_rq
-       mlx5_devx_cmd_create_rqt
-       mlx5_devx_cmd_create_sq
-       mlx5_devx_cmd_create_tir
-       mlx5_devx_cmd_create_td
-       mlx5_devx_cmd_create_tis
-       mlx5_devx_cmd_create_virtq
-       mlx5_devx_cmd_destroy
-       mlx5_devx_cmd_flow_counter_alloc
-       mlx5_devx_cmd_flow_counter_query
-       mlx5_devx_cmd_flow_dump
-       mlx5_devx_cmd_mkey_create
-       mlx5_devx_cmd_modify_qp_state
-       mlx5_devx_cmd_modify_rq
-       mlx5_devx_cmd_modify_rqt
-       mlx5_devx_cmd_modify_sq
-       mlx5_devx_cmd_modify_tir
-       mlx5_devx_cmd_modify_virtq
-       mlx5_devx_cmd_qp_query_tis_td
-       mlx5_devx_cmd_query_hca_attr
-       mlx5_devx_cmd_query_parse_samples
-       mlx5_devx_cmd_query_virtq
-       mlx5_devx_cmd_register_read
-       mlx5_devx_get_out_command_status
-       mlx5_devx_cmd_create_flow_hit_aso_obj
-       mlx5_devx_cmd_create_geneve_tlv_option
-
-       mlx5_devx_cq_create
-       mlx5_devx_cq_destroy
-       mlx5_devx_rq_create
-       mlx5_devx_rq_destroy
-       mlx5_devx_sq_create
-       mlx5_devx_sq_destroy
-
-       mlx5_glue
-
-       mlx5_malloc_mem_select
-       mlx5_mr_btree_init
-       mlx5_mr_btree_free
-       mlx5_mr_btree_dump
-       mlx5_mr_addr2mr_bh
-       mlx5_mr_release_cache
-       mlx5_mr_dump_cache
-       mlx5_mr_rebuild_cache
-       mlx5_mr_insert_cache
-       mlx5_mr_lookup_cache
-       mlx5_mr_lookup_list
-       mlx5_mr_create_primary
-       mlx5_mr_flush_local_cache
-       mlx5_mp_req_queue_state_modify
-       mlx5_mr_free
-
-       mlx5_pci_driver_register
-
-       mlx5_malloc
-       mlx5_realloc
-       mlx5_free
-
-       mlx5_os_alloc_pd
-       mlx5_os_dealloc_pd
-       mlx5_os_dereg_mr
-       mlx5_os_reg_mr
-       mlx5_os_umem_reg
-       mlx5_os_umem_dereg
index 91f3fa5..8b196a4 100644 (file)
@@ -1,14 +1,16 @@
 INTERNAL {
        global:
 
+       haswell_broadwell_cpu;
+
        mlx5_common_init;
 
-       mlx5_common_verbs_reg_mr;
-       mlx5_common_verbs_dereg_mr;
+       mlx5_common_verbs_reg_mr; # WINDOWS_NO_EXPORT
+       mlx5_common_verbs_dereg_mr; # WINDOWS_NO_EXPORT
 
        mlx5_create_mr_ext;
 
-       mlx5_dev_to_pci_addr;
+       mlx5_dev_to_pci_addr; # WINDOWS_NO_EXPORT
 
        mlx5_devx_cmd_alloc_pd;
        mlx5_devx_cmd_create_cq;
@@ -20,7 +22,7 @@ INTERNAL {
        mlx5_devx_cmd_create_tir;
        mlx5_devx_cmd_create_td;
        mlx5_devx_cmd_create_tis;
-       mlx5_devx_cmd_create_virtio_q_counters;
+       mlx5_devx_cmd_create_virtio_q_counters; # WINDOWS_NO_EXPORT
        mlx5_devx_cmd_create_virtq;
        mlx5_devx_cmd_create_flow_hit_aso_obj;
        mlx5_devx_cmd_create_geneve_tlv_option;
@@ -38,14 +40,14 @@ INTERNAL {
        mlx5_devx_cmd_qp_query_tis_td;
        mlx5_devx_cmd_query_hca_attr;
        mlx5_devx_cmd_query_parse_samples;
-       mlx5_devx_cmd_query_virtio_q_counters;
+       mlx5_devx_cmd_query_virtio_q_counters; # WINDOWS_NO_EXPORT
        mlx5_devx_cmd_query_virtq;
-       mlx5_devx_cmd_queue_counter_alloc;
-       mlx5_devx_cmd_queue_counter_query;
+       mlx5_devx_cmd_queue_counter_alloc; # WINDOWS_NO_EXPORT
+       mlx5_devx_cmd_queue_counter_query; # WINDOWS_NO_EXPORT
        mlx5_devx_cmd_register_read;
-       mlx5_devx_cmd_wq_query;
+       mlx5_devx_cmd_wq_query; # WINDOWS_NO_EXPORT
        mlx5_devx_get_out_command_status;
-       mlx5_devx_alloc_uar;
+       mlx5_devx_alloc_uar; # WINDOWS_NO_EXPORT
 
        mlx5_devx_cq_create;
        mlx5_devx_cq_destroy;
@@ -54,15 +56,17 @@ INTERNAL {
        mlx5_devx_sq_create;
        mlx5_devx_sq_destroy;
 
-       mlx5_get_ifname_sysfs;
+       mlx5_get_ifname_sysfs; # WINDOWS_NO_EXPORT
+
+       mlx5_glue;
 
-       mlx5_mp_init_primary;
-       mlx5_mp_uninit_primary;
-       mlx5_mp_init_secondary;
-       mlx5_mp_uninit_secondary;
-       mlx5_mp_req_mr_create;
+       mlx5_mp_init_primary; # WINDOWS_NO_EXPORT
+       mlx5_mp_uninit_primary; # WINDOWS_NO_EXPORT
+       mlx5_mp_init_secondary; # WINDOWS_NO_EXPORT
+       mlx5_mp_uninit_secondary; # WINDOWS_NO_EXPORT
+       mlx5_mp_req_mr_create; # WINDOWS_NO_EXPORT
        mlx5_mp_req_queue_state_modify;
-       mlx5_mp_req_verbs_cmd_fd;
+       mlx5_mp_req_verbs_cmd_fd; # WINDOWS_NO_EXPORT
 
        mlx5_mr_btree_init;
        mlx5_mr_btree_free;
@@ -78,28 +82,35 @@ INTERNAL {
        mlx5_mr_flush_local_cache;
        mlx5_mr_free;
 
-       mlx5_nl_allmulti;
-       mlx5_nl_devlink_family_id_get;
-       mlx5_nl_driver_reload;
-       mlx5_nl_enable_roce_get;
-       mlx5_nl_enable_roce_set;
-       mlx5_nl_ifindex;
-       mlx5_nl_init;
-       mlx5_nl_mac_addr_add;
-       mlx5_nl_mac_addr_flush;
-       mlx5_nl_mac_addr_remove;
-       mlx5_nl_mac_addr_sync;
-       mlx5_nl_portnum;
-       mlx5_nl_promisc;
-       mlx5_nl_switch_info;
-       mlx5_nl_vf_mac_addr_modify;
-       mlx5_nl_vlan_vmwa_create;
-       mlx5_nl_vlan_vmwa_delete;
-
-       mlx5_translate_port_name;
+       mlx5_nl_allmulti; # WINDOWS_NO_EXPORT
+       mlx5_nl_devlink_family_id_get; # WINDOWS_NO_EXPORT
+       mlx5_nl_driver_reload; # WINDOWS_NO_EXPORT
+       mlx5_nl_enable_roce_get; # WINDOWS_NO_EXPORT
+       mlx5_nl_enable_roce_set; # WINDOWS_NO_EXPORT
+       mlx5_nl_ifindex; # WINDOWS_NO_EXPORT
+       mlx5_nl_init; # WINDOWS_NO_EXPORT
+       mlx5_nl_mac_addr_add; # WINDOWS_NO_EXPORT
+       mlx5_nl_mac_addr_flush; # WINDOWS_NO_EXPORT
+       mlx5_nl_mac_addr_remove; # WINDOWS_NO_EXPORT
+       mlx5_nl_mac_addr_sync; # WINDOWS_NO_EXPORT
+       mlx5_nl_portnum; # WINDOWS_NO_EXPORT
+       mlx5_nl_promisc; # WINDOWS_NO_EXPORT
+       mlx5_nl_switch_info; # WINDOWS_NO_EXPORT
+       mlx5_nl_vf_mac_addr_modify; # WINDOWS_NO_EXPORT
+       mlx5_nl_vlan_vmwa_create; # WINDOWS_NO_EXPORT
+       mlx5_nl_vlan_vmwa_delete; # WINDOWS_NO_EXPORT
+
+       mlx5_os_alloc_pd;
+       mlx5_os_dealloc_pd;
+       mlx5_os_dereg_mr;
+       mlx5_os_reg_mr;
+       mlx5_os_umem_reg;
+       mlx5_os_umem_dereg;
+
+       mlx5_translate_port_name; # WINDOWS_NO_EXPORT
 
        mlx5_malloc_mem_select;
-       mlx5_memory_stat_dump;
+       mlx5_memory_stat_dump; # WINDOWS_NO_EXPORT
        mlx5_malloc;
        mlx5_realloc;
        mlx5_free;
diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def
deleted file mode 100644 (file)
index ad426f2..0000000
+++ /dev/null
@@ -1,337 +0,0 @@
-EXPORTS
-       __rte_panic
-       per_lcore__lcore_id
-       per_lcore__rte_errno
-       per_lcore__thread_id
-       rte_bus_dump
-       rte_bus_find
-       rte_bus_find_by_device
-       rte_bus_find_by_name
-       rte_bus_get_iommu_class
-       rte_bus_probe
-       rte_bus_register
-       rte_bus_scan
-       rte_bus_unregister
-       rte_calloc
-       rte_calloc_socket
-       rte_cpu_get_flag_enabled
-       rte_cpu_get_flag_name
-       rte_ctrl_thread_create
-       rte_delay_us
-       rte_delay_us_block
-       rte_delay_us_callback_register
-       rte_dev_is_probed
-       rte_dev_probe
-       rte_dev_remove
-       rte_devargs_add
-       rte_devargs_dump
-       rte_devargs_insert
-       rte_devargs_next
-       rte_devargs_parse
-       rte_devargs_parsef
-       rte_devargs_remove
-       rte_devargs_type_count
-       rte_dump_physmem_layout
-       rte_dump_stack
-       rte_dump_tailq
-       rte_eal_alarm_cancel
-       rte_eal_alarm_set
-       rte_eal_cleanup
-       rte_eal_get_lcore_state
-       rte_eal_get_physmem_size
-       rte_eal_get_runtime_dir
-       rte_eal_has_hugepages
-       rte_eal_has_pci
-       rte_eal_hotplug_add
-       rte_eal_hotplug_remove
-       rte_eal_init
-       rte_eal_iova_mode
-       rte_eal_lcore_role
-       rte_eal_mbuf_user_pool_ops
-       rte_eal_mp_remote_launch
-       rte_eal_mp_wait_lcore
-       rte_eal_process_type
-       rte_eal_remote_launch
-       rte_eal_tailq_lookup
-       rte_eal_tailq_register
-       rte_eal_using_phys_addrs
-       rte_eal_wait_lcore
-       rte_epoll_ctl
-       rte_epoll_wait
-       rte_exit
-       rte_free
-       rte_get_main_lcore
-       rte_get_next_lcore
-       rte_get_tsc_hz
-       rte_hexdump
-       rte_hypervisor_get
-       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_lcore_count
-       rte_lcore_has_role
-       rte_lcore_index
-       rte_lcore_is_enabled
-       rte_lcore_to_socket_id
-       rte_log
-       rte_log_cur_msg_loglevel
-       rte_log_cur_msg_logtype
-       rte_log_dump
-       rte_log_get_global_level
-       rte_log_get_level
-       rte_log_get_stream
-       rte_log_register
-       rte_log_set_global_level
-       rte_log_set_level
-       rte_log_set_level_pattern
-       rte_log_set_level_regexp
-       rte_malloc
-       rte_malloc_dump_stats
-       rte_malloc_get_socket_stats
-       rte_malloc_set_limit
-       rte_malloc_socket
-       rte_malloc_validate
-       rte_malloc_virt2iova
-       rte_mcfg_mem_read_lock
-       rte_mcfg_mem_read_unlock
-       rte_mcfg_mem_write_lock
-       rte_mcfg_mem_write_unlock
-       rte_mcfg_mempool_read_lock
-       rte_mcfg_mempool_read_unlock
-       rte_mcfg_mempool_write_lock
-       rte_mcfg_mempool_write_unlock
-       rte_mcfg_tailq_read_lock
-       rte_mcfg_tailq_read_unlock
-       rte_mcfg_tailq_write_lock
-       rte_mcfg_tailq_write_unlock
-       rte_mem_lock_page
-       rte_mem_virt2iova
-       rte_mem_virt2phy
-       rte_memdump
-       rte_memory_get_nchannel
-       rte_memory_get_nrank
-       rte_memzone_dump
-       rte_memzone_free
-       rte_memzone_lookup
-       rte_memzone_reserve
-       rte_memzone_reserve_aligned
-       rte_memzone_reserve_bounded
-       rte_memzone_walk
-       rte_openlog_stream
-       rte_rand
-       rte_realloc
-       rte_reciprocal_value
-       rte_reciprocal_value_u64
-       rte_rtm_supported
-       rte_service_attr_get
-       rte_service_attr_reset_all
-       rte_service_component_register
-       rte_service_component_runstate_set
-       rte_service_component_unregister
-       rte_service_dump
-       rte_service_finalize
-       rte_service_get_by_name
-       rte_service_get_count
-       rte_service_get_name
-       rte_service_lcore_add
-       rte_service_lcore_attr_get
-       rte_service_lcore_attr_reset_all
-       rte_service_lcore_count
-       rte_service_lcore_count_services
-       rte_service_lcore_del
-       rte_service_lcore_list
-       rte_service_lcore_reset_all
-       rte_service_lcore_start
-       rte_service_lcore_stop
-       rte_service_map_lcore_get
-       rte_service_map_lcore_set
-       rte_service_may_be_active
-       rte_service_probe_capability
-       rte_service_run_iter_on_app_lcore
-       rte_service_runstate_get
-       rte_service_runstate_set
-       rte_service_set_runstate_mapped_check
-       rte_service_set_stats_enable
-       rte_service_start_with_defaults
-       rte_set_application_usage_hook
-       rte_socket_count
-       rte_socket_id
-       rte_socket_id_by_idx
-       rte_strerror
-       rte_strscpy
-       rte_strsplit
-       rte_sys_gettid
-       rte_thread_get_affinity
-       rte_thread_set_affinity
-       rte_thread_setname
-       rte_vfio_container_dma_map
-       rte_vfio_container_dma_unmap
-       rte_vlog
-       rte_zmalloc
-       rte_zmalloc_socket
-
-       rte_mp_action_register
-       rte_mp_action_unregister
-       rte_mp_reply
-       rte_mp_sendmsg
-
-       rte_dev_event_callback_register
-       rte_dev_event_callback_unregister
-       rte_fbarray_attach
-       rte_fbarray_destroy
-       rte_fbarray_detach
-       rte_fbarray_dump_metadata
-       rte_fbarray_find_contig_free
-       rte_fbarray_find_contig_used
-       rte_fbarray_find_idx
-       rte_fbarray_find_next_free
-       rte_fbarray_find_next_n_free
-       rte_fbarray_find_next_n_used
-       rte_fbarray_find_next_used
-       rte_fbarray_get
-       rte_fbarray_init
-       rte_fbarray_is_used
-       rte_fbarray_set_free
-       rte_fbarray_set_used
-       rte_log_register_type_and_pick_level
-       rte_malloc_dump_heaps
-       rte_mem_alloc_validator_register
-       rte_mem_alloc_validator_unregister
-       rte_mem_check_dma_mask
-       rte_mem_event_callback_register
-       rte_mem_event_callback_unregister
-       rte_mem_iova2virt
-       rte_mem_virt2memseg
-       rte_mem_virt2memseg_list
-       rte_memseg_contig_walk
-       rte_memseg_list_walk
-       rte_memseg_walk
-       rte_mp_request_async
-       rte_mp_request_sync
-
-       rte_class_find
-       rte_class_find_by_name
-       rte_class_register
-       rte_class_unregister
-       rte_dev_iterator_init
-       rte_dev_iterator_next
-       rte_fbarray_find_prev_free
-       rte_fbarray_find_prev_n_free
-       rte_fbarray_find_prev_n_used
-       rte_fbarray_find_prev_used
-       rte_fbarray_find_rev_contig_free
-       rte_fbarray_find_rev_contig_used
-       rte_memseg_contig_walk_thread_unsafe
-       rte_memseg_list_walk_thread_unsafe
-       rte_memseg_walk_thread_unsafe
-
-       rte_delay_us_sleep
-       rte_dev_event_callback_process
-       rte_malloc_heap_create
-       rte_malloc_heap_destroy
-       rte_malloc_heap_get_socket
-       rte_malloc_heap_memory_add
-       rte_malloc_heap_memory_attach
-       rte_malloc_heap_memory_detach
-       rte_malloc_heap_memory_remove
-       rte_malloc_heap_socket_is_external
-       rte_mem_check_dma_mask_thread_unsafe
-       rte_mem_set_dma_mask
-       rte_memseg_get_fd
-       rte_memseg_get_fd_offset
-       rte_memseg_get_fd_offset_thread_unsafe
-       rte_memseg_get_fd_thread_unsafe
-
-       rte_extmem_attach
-       rte_extmem_detach
-       rte_extmem_register
-       rte_extmem_unregister
-
-       rte_dev_dma_map
-       rte_dev_dma_unmap
-       rte_fbarray_find_biggest_free
-       rte_fbarray_find_biggest_used
-       rte_fbarray_find_rev_biggest_free
-       rte_fbarray_find_rev_biggest_used
-       rte_intr_callback_unregister_pending
-       rte_realloc_socket
-
-       rte_intr_ack
-       rte_lcore_cpuset
-       rte_lcore_to_cpu_id
-       rte_mcfg_timer_lock
-       rte_mcfg_timer_unlock
-       rte_mcfg_get_single_file_segments
-
-       rte_thread_is_intr
-
-       __rte_eal_trace_alarm_cancel
-       __rte_eal_trace_alarm_set
-       __rte_eal_trace_generic_double
-       __rte_eal_trace_generic_float
-       __rte_eal_trace_generic_func
-       __rte_eal_trace_generic_i16
-       __rte_eal_trace_generic_i32
-       __rte_eal_trace_generic_i64
-       __rte_eal_trace_generic_i8
-       __rte_eal_trace_generic_int
-       __rte_eal_trace_generic_long
-       __rte_eal_trace_generic_ptr
-       __rte_eal_trace_generic_str
-       __rte_eal_trace_generic_u16
-       __rte_eal_trace_generic_u32
-       __rte_eal_trace_generic_u64
-       __rte_eal_trace_generic_u8
-       __rte_eal_trace_generic_void
-       __rte_eal_trace_intr_callback_register
-       __rte_eal_trace_intr_callback_unregister
-       __rte_eal_trace_intr_enable
-       __rte_eal_trace_intr_disable
-       __rte_eal_trace_mem_free
-       __rte_eal_trace_mem_malloc
-       __rte_eal_trace_mem_realloc
-       __rte_eal_trace_mem_zmalloc
-       __rte_eal_trace_memzone_free
-       __rte_eal_trace_memzone_lookup
-       __rte_eal_trace_memzone_reserve
-       __rte_eal_trace_thread_lcore_ready
-       __rte_eal_trace_thread_remote_launch
-       __rte_trace_mem_per_thread_alloc
-       __rte_trace_point_emit_field
-       __rte_trace_point_register
-       per_lcore_trace_mem
-       per_lcore_trace_point_sz
-       rte_log_can_log
-
-       rte_lcore_callback_register
-       rte_lcore_callback_unregister
-       rte_lcore_dump
-       rte_lcore_iterate
-       rte_mp_disable
-       rte_service_lcore_may_be_active
-       rte_thread_register
-       rte_thread_unregister
-
-       rte_epoll_wait_interruptible
-       rte_vect_get_max_simd_bitwidth
-       rte_vect_set_max_simd_bitwidth
-
-       rte_intr_callback_unregister_sync
-       rte_thread_key_create
-       rte_thread_key_delete
-       rte_thread_value_get
-       rte_thread_value_set
-
-       rte_mem_lock
-       rte_mem_map
-       rte_mem_page_size
-       rte_mem_unmap
index 7a307e3..b3b5c43 100644 (file)
@@ -2,8 +2,8 @@ DPDK_21 {
        global:
 
        __rte_panic;
-       eal_parse_sysfs_value;
-       eal_timer_source;
+       eal_parse_sysfs_value; # WINDOWS_NO_EXPORT
+       eal_timer_source; # WINDOWS_NO_EXPORT
        per_lcore__lcore_id;
        per_lcore__rte_errno;
        per_lcore__thread_id;
@@ -20,9 +20,9 @@ DPDK_21 {
        rte_calloc_socket;
        rte_cpu_get_flag_enabled;
        rte_cpu_get_flag_name;
-       rte_cpu_is_supported;
+       rte_cpu_is_supported; # WINDOWS_NO_EXPORT
        rte_ctrl_thread_create;
-       rte_cycles_vmware_tsc_map;
+       rte_cycles_vmware_tsc_map; # WINDOWS_NO_EXPORT
        rte_delay_us;
        rte_delay_us_block;
        rte_delay_us_callback_register;
@@ -43,7 +43,7 @@ DPDK_21 {
        rte_eal_alarm_cancel;
        rte_eal_alarm_set;
        rte_eal_cleanup;
-       rte_eal_create_uio_dev;
+       rte_eal_create_uio_dev; # WINDOWS_NO_EXPORT
        rte_eal_get_lcore_state;
        rte_eal_get_physmem_size;
        rte_eal_get_runtime_dir;
@@ -51,34 +51,34 @@ DPDK_21 {
        rte_eal_has_pci;
        rte_eal_hotplug_add;
        rte_eal_hotplug_remove;
-       rte_eal_hpet_init;
+       rte_eal_hpet_init; # WINDOWS_NO_EXPORT
        rte_eal_init;
-       rte_eal_iopl_init;
+       rte_eal_iopl_init; # WINDOWS_NO_EXPORT
        rte_eal_iova_mode;
        rte_eal_lcore_role;
        rte_eal_mbuf_user_pool_ops;
        rte_eal_mp_remote_launch;
        rte_eal_mp_wait_lcore;
-       rte_eal_primary_proc_alive;
+       rte_eal_primary_proc_alive; # WINDOWS_NO_EXPORT
        rte_eal_process_type;
        rte_eal_remote_launch;
        rte_eal_tailq_lookup;
        rte_eal_tailq_register;
        rte_eal_using_phys_addrs;
-       rte_eal_vfio_intr_mode;
+       rte_eal_vfio_intr_mode; # WINDOWS_NO_EXPORT
        rte_eal_wait_lcore;
        rte_epoll_ctl;
        rte_epoll_wait;
        rte_exit;
        rte_free;
-       rte_get_hpet_cycles;
-       rte_get_hpet_hz;
+       rte_get_hpet_cycles; # WINDOWS_NO_EXPORT
+       rte_get_hpet_hz; # WINDOWS_NO_EXPORT
        rte_get_main_lcore;
        rte_get_next_lcore;
        rte_get_tsc_hz;
        rte_hexdump;
        rte_hypervisor_get;
-       rte_hypervisor_get_name;
+       rte_hypervisor_get_name; # WINDOWS_NO_EXPORT
        rte_intr_allow_others;
        rte_intr_callback_register;
        rte_intr_callback_unregister;
@@ -91,12 +91,12 @@ DPDK_21 {
        rte_intr_free_epoll_fd;
        rte_intr_rx_ctl;
        rte_intr_tls_epfd;
-       rte_keepalive_create;
-       rte_keepalive_dispatch_pings;
-       rte_keepalive_mark_alive;
-       rte_keepalive_mark_sleep;
-       rte_keepalive_register_core;
-       rte_keepalive_register_relay_callback;
+       rte_keepalive_create; # WINDOWS_NO_EXPORT
+       rte_keepalive_dispatch_pings; # WINDOWS_NO_EXPORT
+       rte_keepalive_mark_alive; # WINDOWS_NO_EXPORT
+       rte_keepalive_mark_sleep; # WINDOWS_NO_EXPORT
+       rte_keepalive_register_core; # WINDOWS_NO_EXPORT
+       rte_keepalive_register_relay_callback; # WINDOWS_NO_EXPORT
        rte_lcore_count;
        rte_lcore_has_role;
        rte_lcore_index;
@@ -186,7 +186,7 @@ DPDK_21 {
        rte_socket_count;
        rte_socket_id;
        rte_socket_id_by_idx;
-       rte_srand;
+       rte_srand; # WINDOWS_NO_EXPORT
        rte_strerror;
        rte_strscpy;
        rte_strsplit;
@@ -194,26 +194,26 @@ DPDK_21 {
        rte_thread_get_affinity;
        rte_thread_set_affinity;
        rte_thread_setname;
-       rte_uuid_compare;
-       rte_uuid_is_null;
-       rte_uuid_parse;
-       rte_uuid_unparse;
-       rte_version;
-       rte_vfio_clear_group;
-       rte_vfio_container_create;
-       rte_vfio_container_destroy;
+       rte_uuid_compare; # WINDOWS_NO_EXPORT
+       rte_uuid_is_null; # WINDOWS_NO_EXPORT
+       rte_uuid_parse; # WINDOWS_NO_EXPORT
+       rte_uuid_unparse; # WINDOWS_NO_EXPORT
+       rte_version; # WINDOWS_NO_EXPORT
+       rte_vfio_clear_group; # WINDOWS_NO_EXPORT
+       rte_vfio_container_create; # WINDOWS_NO_EXPORT
+       rte_vfio_container_destroy; # WINDOWS_NO_EXPORT
        rte_vfio_container_dma_map;
        rte_vfio_container_dma_unmap;
-       rte_vfio_container_group_bind;
-       rte_vfio_container_group_unbind;
-       rte_vfio_enable;
-       rte_vfio_get_container_fd;
-       rte_vfio_get_group_fd;
-       rte_vfio_get_group_num;
-       rte_vfio_is_enabled;
-       rte_vfio_noiommu_is_enabled;
-       rte_vfio_release_device;
-       rte_vfio_setup_device;
+       rte_vfio_container_group_bind; # WINDOWS_NO_EXPORT
+       rte_vfio_container_group_unbind; # WINDOWS_NO_EXPORT
+       rte_vfio_enable; # WINDOWS_NO_EXPORT
+       rte_vfio_get_container_fd; # WINDOWS_NO_EXPORT
+       rte_vfio_get_group_fd; # WINDOWS_NO_EXPORT
+       rte_vfio_get_group_num; # WINDOWS_NO_EXPORT
+       rte_vfio_is_enabled; # WINDOWS_NO_EXPORT
+       rte_vfio_noiommu_is_enabled; # WINDOWS_NO_EXPORT
+       rte_vfio_release_device; # WINDOWS_NO_EXPORT
+       rte_vfio_setup_device; # WINDOWS_NO_EXPORT
        rte_vlog;
        rte_zmalloc;
        rte_zmalloc_socket;
@@ -233,8 +233,8 @@ EXPERIMENTAL {
        # added in 18.05
        rte_dev_event_callback_register;
        rte_dev_event_callback_unregister;
-       rte_dev_event_monitor_start;
-       rte_dev_event_monitor_stop;
+       rte_dev_event_monitor_start; # WINDOWS_NO_EXPORT
+       rte_dev_event_monitor_stop; # WINDOWS_NO_EXPORT
        rte_fbarray_attach;
        rte_fbarray_destroy;
        rte_fbarray_detach;
@@ -287,8 +287,8 @@ EXPERIMENTAL {
        # added in 18.11
        rte_delay_us_sleep;
        rte_dev_event_callback_process;
-       rte_dev_hotplug_handle_disable;
-       rte_dev_hotplug_handle_enable;
+       rte_dev_hotplug_handle_disable; # WINDOWS_NO_EXPORT
+       rte_dev_hotplug_handle_enable; # WINDOWS_NO_EXPORT
        rte_malloc_heap_create;
        rte_malloc_heap_destroy;
        rte_malloc_heap_get_socket;
@@ -326,7 +326,7 @@ EXPERIMENTAL {
        rte_lcore_to_cpu_id;
        rte_mcfg_timer_lock;
        rte_mcfg_timer_unlock;
-       rte_rand_max;
+       rte_rand_max; # WINDOWS_NO_EXPORT
 
        # added in 19.11
        rte_mcfg_get_single_file_segments;
@@ -372,22 +372,22 @@ EXPERIMENTAL {
        per_lcore_trace_mem;
        per_lcore_trace_point_sz;
        rte_log_can_log;
-       rte_thread_getname;
-       rte_trace_dump;
-       rte_trace_is_enabled;
-       rte_trace_metadata_dump;
-       rte_trace_mode_get;
-       rte_trace_mode_set;
-       rte_trace_pattern;
-       rte_trace_point_disable;
-       rte_trace_point_enable;
-       rte_trace_point_is_enabled;
-       rte_trace_point_lookup;
-       rte_trace_regexp;
-       rte_trace_save;
+       rte_thread_getname; # WINDOWS_NO_EXPORT
+       rte_trace_dump; # WINDOWS_NO_EXPORT
+       rte_trace_is_enabled; # WINDOWS_NO_EXPORT
+       rte_trace_metadata_dump; # WINDOWS_NO_EXPORT
+       rte_trace_mode_get; # WINDOWS_NO_EXPORT
+       rte_trace_mode_set; # WINDOWS_NO_EXPORT
+       rte_trace_pattern; # WINDOWS_NO_EXPORT
+       rte_trace_point_disable; # WINDOWS_NO_EXPORT
+       rte_trace_point_enable; # WINDOWS_NO_EXPORT
+       rte_trace_point_is_enabled; # WINDOWS_NO_EXPORT
+       rte_trace_point_lookup; # WINDOWS_NO_EXPORT
+       rte_trace_regexp; # WINDOWS_NO_EXPORT
+       rte_trace_save; # WINDOWS_NO_EXPORT
 
        # added in 20.08
-       rte_eal_vfio_get_vf_token;
+       rte_eal_vfio_get_vf_token; # WINDOWS_NO_EXPORT
        rte_lcore_callback_register;
        rte_lcore_callback_unregister;
        rte_lcore_dump;
@@ -397,17 +397,17 @@ EXPERIMENTAL {
        rte_thread_unregister;
 
        # added in 20.11
-       __rte_eal_trace_generic_size_t;
-       rte_cpu_get_intrinsics_support;
+       __rte_eal_trace_generic_size_t; # WINDOWS_NO_EXPORT
+       rte_cpu_get_intrinsics_support; # WINDOWS_NO_EXPORT
        rte_epoll_wait_interruptible;
        rte_service_lcore_may_be_active;
        rte_vect_get_max_simd_bitwidth;
        rte_vect_set_max_simd_bitwidth;
 
        # added in 21.02
-       rte_power_monitor;
-       rte_power_monitor_wakeup;
-       rte_power_pause;
+       rte_power_monitor; # WINDOWS_NO_EXPORT
+       rte_power_monitor_wakeup; # WINDOWS_NO_EXPORT
+       rte_power_pause; # WINDOWS_NO_EXPORT
 
        # added in 21.05
        rte_intr_callback_unregister_sync;
@@ -415,12 +415,12 @@ EXPERIMENTAL {
        rte_thread_key_delete;
        rte_thread_value_get;
        rte_thread_value_set;
-       rte_version_minor;
-       rte_version_month;
-       rte_version_prefix;
-       rte_version_release;
-       rte_version_suffix;
-       rte_version_year;
+       rte_version_minor; # WINDOWS_NO_EXPORT
+       rte_version_month; # WINDOWS_NO_EXPORT
+       rte_version_prefix; # WINDOWS_NO_EXPORT
+       rte_version_release; # WINDOWS_NO_EXPORT
+       rte_version_suffix; # WINDOWS_NO_EXPORT
+       rte_version_year; # WINDOWS_NO_EXPORT
 };
 
 INTERNAL {