From ddbab2e903b579c966f8e59e07c31e39be365a92 Mon Sep 17 00:00:00 2001 From: adrian Date: Thu, 8 Nov 2012 13:35:22 +0000 Subject: [PATCH] build-system: separated fast-breakpoints, added fast-watchpoints. git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1899 8c4709b5-6ec9-48aa-a5cd-a96041d1645a --- src/core/config/CMakeLists.txt | 1 + src/core/config/FailConfig.hpp.in | 1 + src/core/sal/CMakeLists.txt | 21 +++++++++++++++------ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/core/config/CMakeLists.txt b/src/core/config/CMakeLists.txt index 87251d6d..6b6c31be 100644 --- a/src/core/config/CMakeLists.txt +++ b/src/core/config/CMakeLists.txt @@ -20,6 +20,7 @@ OPTION(CONFIG_FIRE_INTERRUPTS "Target backend: Fire interrupts" OFF) OPTION(CONFIG_DISABLE_KEYB_INTERRUPTS "Target backend: Suppress keyboard interrupts" OFF) OPTION(SERVER_PERFORMANCE_MEASURE "Performance measurement in job-server" OFF) OPTION(CONFIG_FAST_BREAKPOINTS "Enable fast breakpoints (requires breakpoint events to be enabled)" OFF) +OPTION(CONFIG_FAST_WATCHPOINTS "Enable fast watchpoints (requires memory access events to be enabled)" OFF) SET(SERVER_COMM_HOSTNAME "localhost" CACHE STRING "Job-server hostname or IP") SET(SERVER_COMM_TCP_PORT "1111" CACHE STRING "Job-server TCP port") SET(SERVER_PERF_LOG_PATH "perf.log" CACHE STRING "A file name for storing the server's performance log (CSV)") diff --git a/src/core/config/FailConfig.hpp.in b/src/core/config/FailConfig.hpp.in index 389db854..63a8c4ad 100644 --- a/src/core/config/FailConfig.hpp.in +++ b/src/core/config/FailConfig.hpp.in @@ -17,6 +17,7 @@ // Performance options #cmakedefine CONFIG_FAST_BREAKPOINTS +#cmakedefine CONFIG_FAST_WATCHPOINTS // Save/restore functionality #cmakedefine CONFIG_SR_RESTORE diff --git a/src/core/sal/CMakeLists.txt b/src/core/sal/CMakeLists.txt index 58bbdd9f..faaac65a 100644 --- a/src/core/sal/CMakeLists.txt +++ b/src/core/sal/CMakeLists.txt @@ -5,7 +5,6 @@ if(BUILD_BOCHS) SALConfig.cc Register.cc SimulatorController.cc - perf/BreakpointBuffer.cc bochs/BochsController.cc bochs/BochsListener.cc ) @@ -16,7 +15,6 @@ elseif(BUILD_GEM5) SALConfig.cc Register.cc SimulatorController.cc - perf/BreakpointBuffer.cc gem5/Gem5Controller.cc ) elseif(BUILD_OVP) @@ -26,7 +24,6 @@ elseif(BUILD_OVP) SALConfig.cc Register.cc SimulatorController.cc - perf/BreakpointBuffer.cc ${VARIANT}/OVPController.cc ) elseif(BUILD_QEMU) @@ -35,7 +32,6 @@ elseif(BUILD_QEMU) ListenerManager.cc SALConfig.cc Register.cc - perf/BreakpointBuffer.cc SimulatorController.cc qemu/QEMUController.cc qemu/wrappers.cc @@ -46,13 +42,26 @@ elseif(BUILD_T32) ListenerManager.cc SALConfig.cc Register.cc - perf/BreakpointBuffer.cc SimulatorController.cc t32/T32Controller.cc t32/wrappers.cc ) endif(BUILD_BOCHS) -add_library(fail-sal ${SRCS}) +# Don't include these sources if perf-stuff is disabled +# (reduces compiler overhead): +if(CONFIG_FAST_WATCHPOINTS) + set(SRCS ${SRCS} + perf/WatchpointBuffer.cc + ) +endif(CONFIG_FAST_WATCHPOINTS) +if(CONFIG_FAST_BREAKPOINTS) + set(SRCS ${SRCS} + perf/BreakpointBuffer.cc + ) +endif(CONFIG_FAST_BREAKPOINTS) + + +add_library(fail-sal ${SRCS}) add_dependencies(fail-sal fail-efw)