-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2020 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
# See the License for the specific language governing permissions and
# limitations under the License.
-add_vpp_library (perfcore
- SOURCES
- perfmon.c
- perfmon_periodic.c
- perfmon_intel_bdw.c
- perfmon_intel_bdw_de.c
- perfmon_intel_bdx.c
- perfmon_intel_bnl.c
- perfmon_intel_clx.c
- perfmon_intel_hsw.c
- perfmon_intel_hsx.c
- perfmon_intel_ivb.c
- perfmon_intel_nhm_ep.c
- perfmon_intel_nhm_ex.c
- perfmon_intel_skl.c
- perfmon_intel_skx.c
- perfmon_intel_slm.c
- perfmon_intel_snb.c
- perfmon_intel_wsm_ep_dp.c
- perfmon_intel_wsm_ep_sp.c
- perfmon_intel_wsm_ex.c
-
- INSTALL_HEADERS
- perfmon.h
-
- LINK_LIBRARIES
- vppinfra
- vlib
- vnet
-)
+if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
+ return()
+endif()
add_vpp_plugin(perfmon
SOURCES
- perfmon_plugin.c
-
- LINK_LIBRARIES
- perfcore
+ cli.c
+ dispatch_wrapper.c
+ linux.c
+ perfmon.c
+ table.c
+ intel/core.c
+ intel/uncore.c
+ intel/bundle/membw_bound.c
+ intel/bundle/inst_and_clock.c
+ intel/bundle/load_blocks.c
+ intel/bundle/mem_bw.c
+ intel/bundle/cache_hit_miss.c
+ intel/bundle/branch_mispred.c
+ intel/bundle/power_license.c
+ intel/bundle/topdown_metrics.c
)
-
-option(VPP_BUILD_MAPFILE_TOOL "Build perfmon mapfile utility." OFF)
-if(VPP_BUILD_MAPFILE_TOOL)
- add_vpp_executable(mapfile_tool
- SOURCES mapfile_tool.c
- LINK_LIBRARIES vppinfra Threads::Threads
- )
-endif(VPP_BUILD_MAPFILE_TOOL)