From eb43273e9bc154d46a7d927c3e54897e6fd6b76d Mon Sep 17 00:00:00 2001 From: Malte Bargholz Date: Wed, 14 Oct 2020 15:05:36 +0200 Subject: [PATCH] [generic-experiment] make text segment listener, listen only to writes The generic experiment set the TriggerAccessType not the WatchAccessType. Therefore, the text segment listener fired on write AND read events. The watch access type can only be set in the constructor. --- src/experiments/generic-experiment/experiment.cc | 3 --- src/experiments/generic-experiment/experiment.hpp | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/experiments/generic-experiment/experiment.cc b/src/experiments/generic-experiment/experiment.cc index 506f0570..da6e3145 100644 --- a/src/experiments/generic-experiment/experiment.cc +++ b/src/experiments/generic-experiment/experiment.cc @@ -220,7 +220,6 @@ bool GenericExperiment::cb_start_experiment() { l_mem_text.setWatchAddress(bounds.first); l_mem_text.setWatchWidth(bounds.second - bounds.first); - l_mem_text.setTriggerAccessType(MemAccessEvent::MEM_WRITE); } @@ -232,7 +231,6 @@ bool GenericExperiment::cb_start_experiment() { l_mem_outerspace.setWatchAddress(bounds.second); l_mem_outerspace.setWatchWidth(numeric_limits::max() - bounds.second); - l_mem_outerspace.setTriggerAccessType(MemAccessEvent::MEM_WRITE); } if (cmd[WRITE_MEM_LOWERSPACE]) { @@ -245,7 +243,6 @@ bool GenericExperiment::cb_start_experiment() { // however, this is not the case for RISC-V and consequently, it is ignored here. l_mem_lowerspace.setWatchAddress(numeric_limits::min()); l_mem_lowerspace.setWatchWidth(bounds.first - numeric_limits::min()); - l_mem_lowerspace.setTriggerAccessType(MemAccessEvent::MEM_WRITE); } if (cmd[TRAP]) { diff --git a/src/experiments/generic-experiment/experiment.hpp b/src/experiments/generic-experiment/experiment.hpp index a53fedb5..cc3d86ac 100644 --- a/src/experiments/generic-experiment/experiment.hpp +++ b/src/experiments/generic-experiment/experiment.hpp @@ -26,7 +26,7 @@ class GenericExperiment : public fail::DatabaseExperiment { std::string serial_goldenrun; bool enabled_mem_text; - fail::MemAccessListener l_mem_text; + fail::MemWriteListener l_mem_text; bool enabled_mem_outerspace; fail::MemAccessListener l_mem_outerspace;