perfmon: add membw-bound bundle
[vpp.git] / src / plugins / perfmon / CMakeLists.txt
index 69e225b..6b8e7c8 100644 (file)
@@ -1,4 +1,4 @@
-# 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)