diff --git a/configurations/x86_pruning.sh b/configurations/x86_pruning.sh index d9322309..8e60c1ba 100755 --- a/configurations/x86_pruning.sh +++ b/configurations/x86_pruning.sh @@ -2,12 +2,17 @@ ## A cmake configuration call for a FailBochs pruning EXP=$1 FAILPATH=$(dirname $0)/.. -if [ -z $1 ] -then - echo "Experiment not set. Usage: $0 " - echo "Existing experiments:" - find ${FAILPATH}/src/experiments -maxdepth 1 -mindepth 1 -type d -printf \-\>\ %P\\n | sort +if [ -z $1 ]; then + echo "Experiment not set. Usage: $0 " + echo "Existing experiments:" + find ${FAILPATH}/src/experiments -maxdepth 1 -mindepth 1 -type d -printf \-\>\ %P\\n | sort else -cmake ${FAILPATH} -DBUILD_BOCHS:BOOL=ON -DBUILD_X86:BOOL=ON -DCONFIG_BOCHS_NO_ABORT:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS_RANGE:BOOL=ON -DCONFIG_EVENT_INTERRUPT:BOOL=ON -DCONFIG_EVENT_IOPORT:BOOL=ON -DCONFIG_EVENT_MEMREAD:BOOL=ON -DCONFIG_EVENT_MEMWRITE:BOOL=ON -DCONFIG_EVENT_TRAP:BOOL=ON -DCONFIG_SR_RESTORE:BOOL=ON -DCONFIG_SR_SAVE:BOOL=ON -D"bochs_configure_params:STRING=--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" -DEXPERIMENTS_ACTIVATED:STRING=${EXP} -DBUILD_IMPORT_TRACE:BOOL=ON -DBUILD_PRUNE_TRACE:BOOL=ON -DBUILD_LLVM_DISASSEMBLER=ON + CONFIG='-DBUILD_BOCHS:BOOL=ON -DBUILD_X86:BOOL=ON -DCONFIG_BOCHS_NO_ABORT:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS_RANGE:BOOL=ON -DCONFIG_EVENT_INTERRUPT:BOOL=ON -DCONFIG_EVENT_IOPORT:BOOL=ON -DCONFIG_EVENT_MEMREAD:BOOL=ON -DCONFIG_EVENT_MEMWRITE:BOOL=ON -DCONFIG_EVENT_TRAP:BOOL=ON -DCONFIG_SR_RESTORE:BOOL=ON -DCONFIG_SR_SAVE:BOOL=ON -Dbochs_configure_params:STRING="--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" -DEXPERIMENTS_ACTIVATED:STRING='${EXP}' -DBUILD_IMPORT_TRACE:BOOL=ON -DBUILD_PRUNE_TRACE:BOOL=ON -DBUILD_LLVM_DISASSEMBLER=ON' + + if [ -e "${FAILPATH}/src/experiments/${EXP}/config.cmake" ]; then + CONFIG="-C ${FAILPATH}/src/experiments/${EXP}/config.cmake -DEXPERIMENTS_ACTIVATED:STRING=${EXP}" + fi + + cmake ${CONFIG} ${FAILPATH} fi diff --git a/src/experiments/generic-tracing/CMakeLists.txt b/src/experiments/generic-tracing/CMakeLists.txt index 2b455700..1bfc812a 100644 --- a/src/experiments/generic-tracing/CMakeLists.txt +++ b/src/experiments/generic-tracing/CMakeLists.txt @@ -9,17 +9,6 @@ set(MY_CAMPAIGN_SRCS experiment.cc ) -SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "") - -SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "") - -# Build the import and prune trace tools always -SET(BUILD_IMPORT_TRACE ON CACHE BOOL "" FORCE) -SET(BUILD_PRUNE_TRACE ON CACHE BOOL "" FORCE) -SET(BUILD_CONVERT_TRACE ON CACHE BOOL "" FORCE) -SET(BUILD_DUMP_TRACE ON CACHE BOOL "" FORCE) -SET(BUILD_LLVM_DISASSEMBLER ON CACHE BOOL "" FORCE) - include_directories(${CMAKE_CURRENT_BINARY_DIR}) ## Build library diff --git a/src/experiments/generic-tracing/config.cmake b/src/experiments/generic-tracing/config.cmake new file mode 100644 index 00000000..a3c46366 --- /dev/null +++ b/src/experiments/generic-tracing/config.cmake @@ -0,0 +1,10 @@ +SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "") + +SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "") + +# Build the import and prune trace tools always +SET(BUILD_IMPORT_TRACE ON CACHE BOOL "" FORCE) +SET(BUILD_PRUNE_TRACE ON CACHE BOOL "" FORCE) +SET(BUILD_CONVERT_TRACE ON CACHE BOOL "" FORCE) +SET(BUILD_DUMP_TRACE ON CACHE BOOL "" FORCE) +SET(BUILD_LLVM_DISASSEMBLER ON CACHE BOOL "" FORCE) diff --git a/src/experiments/weather-monitor/CMakeLists.txt b/src/experiments/weather-monitor/CMakeLists.txt index 9dea6b9f..1ef3c24b 100644 --- a/src/experiments/weather-monitor/CMakeLists.txt +++ b/src/experiments/weather-monitor/CMakeLists.txt @@ -4,11 +4,6 @@ configure_file(../instantiate-experiment.ah.in ${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY ) -## Configuration -SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "") - -SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "") - ## Setup desired protobuf descriptions HERE ## set(MY_PROTOS weathermonitor.proto diff --git a/src/experiments/weather-monitor/config.cmake b/src/experiments/weather-monitor/config.cmake new file mode 100644 index 00000000..e7e04ff9 --- /dev/null +++ b/src/experiments/weather-monitor/config.cmake @@ -0,0 +1,4 @@ +## Configuration +SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "") + +SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "")