From d3d2faf680e96aad3dcbf278bc4aba884aa28424 Mon Sep 17 00:00:00 2001 From: Horst Schirmeier Date: Tue, 15 Mar 2016 23:38:49 +0100 Subject: [PATCH] globally rename Fail* to FAIL* Change-Id: Ief2cb687cc69dd92c2e04f9314f0f1347e0a84ed --- CMakeLists.txt | 8 ++--- README.md | 2 +- cmake/FindLLVM.cmake | 2 +- cmake/doxygen.cmake | 4 +-- cmake/gem5.cmake | 2 +- cmake/panda.cmake | 2 +- debuggers/openocd/openocd_wrapper.cc | 2 +- doc/coding-style.txt | 2 +- doc/fail-structure.txt | 21 ++++++----- doc/how-to-build.txt | 36 +++++++++---------- doc/how-to-use.txt | 26 +++++++------- doc/todo.txt | 2 +- doc/wishlist.txt | 6 ++-- scripts/fail-env.sh | 4 +-- scripts/my-fail-env/ab-fail-env.sh | 4 +-- scripts/rebuild-bochs.sh | 6 ++-- scripts/t32cmm/CMakeLists.txt | 12 +++---- simulators/gem5/configs/example/fail_fs.py | 8 ++--- simulators/gem5/src/arch/isa_parser.py | 2 +- src/CMakeLists.txt | 8 ++--- src/core/CMakeLists.txt | 2 +- src/core/sal/Event.hpp | 2 +- src/core/sal/Listener.hpp | 2 +- src/core/sal/ListenerManager.hpp | 2 +- src/core/sal/SimulatorController.cc | 2 +- src/core/sal/arm/ArmArchitecture.hpp | 4 +-- src/core/sal/bochs/BochsListener.ah | 2 +- src/core/sal/panda/PandaTimer.ah | 2 +- src/core/util/BlackholeLogger.hpp | 2 +- src/core/util/CMakeLists.txt | 2 +- src/core/util/Disassembler.cc | 2 +- src/core/util/ElfReader.cc | 4 +-- src/core/util/Logger.hpp | 2 +- .../llvmdisassembler/LLVMtoFailTranslator.hpp | 4 +-- src/experiments/cool-checksum/experiment.cc | 2 +- src/experiments/l4-sys/experiment.hpp | 2 +- src/experiments/l4-sys/manual.tex | 10 +++--- src/experiments/nanojpeg/campaign.cc | 6 ++-- tools/analysis/VisualFAIL/README.md | 14 ++++---- tools/analysis/VisualFAIL/index.php | 2 +- tools/analysis/resultbrowser/README | 4 +-- .../resultbrowser/app/templates/layout.html | 6 ++-- tools/import-trace/import-symbols.sh | 2 +- 43 files changed, 120 insertions(+), 121 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e30273b..23d2de6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,9 +11,9 @@ if(NOT ("${CMAKE_VERSION}" VERSION_LESS 3.0)) # >= 3.0? endif() ENABLE_TESTING() -PROJECT(Fail*) +PROJECT(FAIL*) -set(PROJECT_VERSION "1.0.1" CACHE INTERNAL "Fail* version number" FORCE) +set(PROJECT_VERSION "1.0.1" CACHE INTERNAL "FAIL* version number" FORCE) #### Put all resulting library files in /lib #### SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) @@ -49,7 +49,7 @@ OPTION( BUILD_X86 "Build for x86 guests?" ON) OPTION( BUILD_ARM "Build for ARM guests?" OFF) # FIXME: only add simulators/ to include_directories, and include, e.g., -# bochs/bochs.h in Fail*. -> avoids naming conflicts (e.g., /usr/include/elf.h +# bochs/bochs.h in FAIL*. -> avoids naming conflicts (e.g., /usr/include/elf.h # vs. qemu/elf.h) if(BUILD_BOCHS) ## add necessary additional header search paths. @@ -68,7 +68,7 @@ elseif(BUILD_PANDA) include_directories(debuggers/openocd/src debuggers/openocd/jimtcl src/core) endif(BUILD_BOCHS) -## Tell the linker where to find the Fail* libraries +## Tell the linker where to find the FAIL* libraries link_directories("${LIBRARY_OUTPUT_PATH}") # Add "simulators"-directory to the include path. This allows diff --git a/README.md b/README.md index ab44e83b..bdc567f3 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ docker instance. Mailing list ------------ -The Fail* developers, and some of its previous and current users, can be +The FAIL* developers, and some of its previous and current users, can be contacted on the [fail@lists.cs.tu-dortmund.de](mailto:fail@lists.cs.tu-dortmund.de) mailing list diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake index 3379368e..45924911 100644 --- a/cmake/FindLLVM.cmake +++ b/cmake/FindLLVM.cmake @@ -3,7 +3,7 @@ find_program(LLVMCONFIG NAMES llvm-config-3.4 llvm-config-3.3 llvm-config-3.2 ll if( NOT LLVMCONFIG ) message(FATAL_ERROR "llvm-config not found, try installing llvm-dev llvm") else() - message(STATUS "[Fail*] LLVM Disassembler: Found llvm-config @ ${LLVMCONFIG}") + message(STATUS "[FAIL*] LLVM Disassembler: Found llvm-config @ ${LLVMCONFIG}") endif() # examine LLVM include directory diff --git a/cmake/doxygen.cmake b/cmake/doxygen.cmake index 90b29766..875c30f7 100644 --- a/cmake/doxygen.cmake +++ b/cmake/doxygen.cmake @@ -13,14 +13,14 @@ set(FAIL_DOC_SOURCE "${FAIL_DOC_SOURCE} ${PROJECT_SOURCE_DIR}/src/plugins") set(FAIL_DOC_EXCLUDE_PATTERNS "*/util/pstream.h */util/optionparser/optionparser.h") file(MAKE_DIRECTORY ${FAIL_DOC_OUTPUT}) # FIXME: The find command does not quote the paths to be processed by doxygen. That -# means, the path to your Fail* directory should not contain any blanks. +# means, the path to your FAIL* directory should not contain any blanks. configure_file(${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile @ONLY} ) ## call make doc to generate documentation -set(line0 "[${PROJECT_NAME}] Generating Fail* documentation with Doxygen") +set(line0 "[${PROJECT_NAME}] Generating FAIL* documentation with Doxygen") set(line1 " Directories: ${FAIL_DOC_SOURCE}") set(line2 " Excluded patterns: ${FAIL_DOC_EXCLUDE_PATTERNS}") add_custom_target(doc diff --git a/cmake/gem5.cmake b/cmake/gem5.cmake index cf7fad95..8ec43b8e 100644 --- a/cmake/gem5.cmake +++ b/cmake/gem5.cmake @@ -85,7 +85,7 @@ if(BUILD_GEM5) # Cleans up everything (gem5 and Fail related): add_custom_target(gem5-allclean - COMMAND @echo "Cleaning Fail* and gem5 ..." + COMMAND @echo "Cleaning FAIL* and gem5 ..." COMMAND cd "${PROJECT_BINARY_DIR}/" && make clean COMMAND cd "${gem5_src_dir}/" && scons -c build/ARM COMMAND cd "${gem5_src_dir}/" && rm -rf build/ diff --git a/cmake/panda.cmake b/cmake/panda.cmake index b4af74cb..6edc40ff 100644 --- a/cmake/panda.cmake +++ b/cmake/panda.cmake @@ -45,7 +45,7 @@ if(BUILD_PANDA) # ensure, elf path is set for enabling openocd to read elf symbols if(EXISTS $ENV{FAIL_ELF_PATH}) - message(STATUS "[Fail*] PandaBoard ELF under test: $ENV{FAIL_ELF_PATH}") + message(STATUS "[FAIL*] PandaBoard ELF under test: $ENV{FAIL_ELF_PATH}") else() message(FATAL_ERROR "Please set the FAIL_ELF_PATH environment variable to the binary under test.") endif() diff --git a/debuggers/openocd/openocd_wrapper.cc b/debuggers/openocd/openocd_wrapper.cc index 8e9f8300..92e35fb1 100644 --- a/debuggers/openocd/openocd_wrapper.cc +++ b/debuggers/openocd/openocd_wrapper.cc @@ -326,7 +326,7 @@ int main(int argc, char *argv[]) init_symbols(); - LOG << "OpenOCD 0.7.0 for Fail* and Pandaboard initialized" << endl; + LOG << "OpenOCD 0.7.0 for FAIL* and Pandaboard initialized" << endl; /* === INITIALIZATION COMPLETE => MAIN LOOP === */ diff --git a/doc/coding-style.txt b/doc/coding-style.txt index 4661f063..31237d3b 100644 --- a/doc/coding-style.txt +++ b/doc/coding-style.txt @@ -1,4 +1,4 @@ -Coding Style for Fail* +Coding Style for FAIL* ====================== You may violate/break any of the following rules if you have a good reason to diff --git a/doc/fail-structure.txt b/doc/fail-structure.txt index 26faec4f..4dfefbdb 100644 --- a/doc/fail-structure.txt +++ b/doc/fail-structure.txt @@ -4,21 +4,20 @@ Directory structure: The folders are nested as follow: ********************************************************************** -fail: Fail* parent directory, containing all source & configuration files (${FAIL_DIR}) +fail: FAIL* parent directory, containing all source & configuration files (${FAIL_DIR}) |-cmake: CMake-related configuration files (e.g. compiler-flags, dependencies, ...) -|-doc: Fail*-Framework documentation (e.g., diagrams, howtos, ...) -|-deprecated: temporal and old (source) files, which will probably be deleted -|-scripts: python/shell scripts for Fail*-compilation and experiment distribution -|-simulators: parent directory of simulators supported by Fail* (may still be WIP) +|-doc: FAIL*-Framework documentation (e.g., diagrams, howtos, ...) +|-scripts: python/shell scripts for FAIL*-compilation and experiment distribution +|-simulators: parent directory of simulators supported by FAIL* (may still be WIP) |-bochs: source files of the (modified) Bochs x86 simulator backend |-gem5: source files of the gem5 simulator backend -|-debuggers: parent directory of debuggers supported by Fail* (may still be WIP) +|-debuggers: parent directory of debuggers supported by FAIL* (may still be WIP) |-gdb: source files related to the GNU gdb debugger |-t32: source files related to the Lauterbach T32 debugger -|-src: C/C++/AspectC++ source files related to Fail*, experiments and plugins - |-core: core source files forming the Fail* framework +|-src: C/C++/AspectC++ source files related to FAIL*, experiments and plugins + |-core: core source files forming the FAIL* framework |-util: utility classes and miscellaneous helper functions - |-config: CMake configuration files, defining the Fail* components and variant + |-config: CMake configuration files, defining the FAIL* components and variant |-sal: source file forming the Simulator Abstraction Layer (backend-interface) |-bochs: backend source files of the Bochs simulator |-gem5: backend source files of the gem5 simulator @@ -27,14 +26,14 @@ fail: Fail* parent directory, containing all source & configuration files (${FA |-arm: ARM-specific platform source files |-x86: x86-specific platform source files |-perf: performance-related source files (extensions); speeds up - Fail* <-> simulator interaction (e.g., when using breakpoints) + FAIL* <-> simulator interaction (e.g., when using breakpoints) |-cpn: campaign- (and therefore server-)related source files |-efw: experiment-framework- (and therefore client-)related source files |-comm: communication related source files (these files are used by cpn and efw), incl. protobuf message definitions used for communication purposes |-experiments: experiment code files (within a new dir) need to be located here |-plugins: plugin code files (within a new dir) need to be located here -|-tools: Fail*-related tools, e.g., for tracing or fault-space pruning +|-tools: FAIL*-related tools, e.g., for tracing or fault-space pruning |-[build]: recommended location of your build-tree, generated files will be placed here diff --git a/doc/how-to-build.txt b/doc/how-to-build.txt index 9604c1d1..723be58c 100644 --- a/doc/how-to-build.txt +++ b/doc/how-to-build.txt @@ -1,8 +1,8 @@ ========================================================================================= -Additional libraries/packages/tools needed for Fail*: +Additional libraries/packages/tools needed for FAIL*: ========================================================================================= -Required for Fail*: +Required for FAIL*: ********************************************************************** - libmysqlclient-dev or libmariadbclient-dev - libprotobuf-dev @@ -79,10 +79,10 @@ For distribution/parallelization: it exists. ========================================================================================= -Compiling, building and modifying: Simulators and Fail* +Compiling, building and modifying: Simulators and FAIL* ========================================================================================= -Building Fail*: +Building FAIL*: ********************************************************************** For the first time: @@ -101,7 +101,7 @@ For the first time: $ ccmake . Select "BUILD_BOCHS" or "BUILD_GEM5". Select an experiment to enable by naming its "experiments/" subdirectory under "EXPERIMENTS_ACTIVATED". - Configure Fail* features you need for this experiment by enabling + Configure FAIL* features you need for this experiment by enabling "CONFIG_*" options. Press 'c', 'g' to regenerate the build system. (Alternatively use $ cmake-gui . @@ -111,18 +111,18 @@ For the first time: for your need. -After changes to Fail* code: +After changes to FAIL* code: ------------------------------------------------------------ Compile (in ${BUILD_DIR}, optionally "add -jN" for parallel building): $ make -CMake will build all Fail* libraries and link them with the simulator backend +CMake will build all FAIL* libraries and link them with the simulator backend library to a binary called "fail-client". You may use the shell script $ ${FAIL_DIR}/scripts/rebuild-bochs.sh [-] to speed up repetitive tasks regarding Fail/Bochs builds. This script contains a concise documentation on itself. -Add new Fail* sources to build chain: +Add new FAIL* sources to build chain: ------------------------------------------------------------ To add new source files to the build, see CMakeLists.txt in the subdirectory of the corresponding component in "${FAIL_DIR}/src/core/", and probably consultate the @@ -136,7 +136,7 @@ new subdirectory in "experiments/", activate it in the CMake configuration step above). -Generating the Doxygen documentation for Fail*: +Generating the Doxygen documentation for FAIL*: ********************************************************************** To generate the Doxygen documentation, type: $ make doc @@ -151,7 +151,7 @@ to be compiled previously: FailBochs: Bochs configuration features ********************************************************************** - The autotools-based bochs is configured within the Fail* build run. + The autotools-based bochs is configured within the FAIL* build run. The configuration flags can be set within the ccmake configuration (ccmake ${FAIL_DIR}/build) - Sufficient: --enable-cpu-level=6;--enable-ne2000;--enable-trace-cache;--enable-gdb-stub;--disable-docbook;--with-nogui @@ -160,7 +160,7 @@ FailBochs: Bochs configuration features The --with-nogui flag suffices for for "headless" experiments, with the advantage of removing lots of library dependencies (thus reducing startup overhead). --with-x11 enables only the "x" (X11), --with-wx only the "wx" - (wxWidgets) GUI. Note that "wx" does not play well together with Fail*'s + (wxWidgets) GUI. Note that "wx" does not play well together with FAIL*'s "restore" feature (FailBochs will fall back to "x" if available, or die trying.) Once you know everything works as it should, you may want to add the @@ -189,7 +189,7 @@ Debug build: Configure Bochs to use debugging-related compiler flags (expects to be in ${BUILD_DIR}): $ cd ../simulator/bochs $ CFLAGS="-g -O0" CXXFLAGS="-g -O0" ./configure --prefix=... ... (see above) -You might additionally want to configure the rest of Fail* into debug mode by +You might additionally want to configure the rest of FAIL* into debug mode by setting CMAKE_BUILD_TYPE to "Debug" (ccmake, see above). FIXME: Does this still work? @@ -220,7 +220,7 @@ Building gem5: For the first time (incl. selecting an experiment): ------------------------------------------------------------ - 1. Change to the Fail* directory (expects to be in ${FAIL_DIR}) and + 1. Change to the FAIL* directory (expects to be in ${FAIL_DIR}) and create a new build directory. $ cd ${FAIL_DIR}; mkdir build; cd build 3. Start the configuration by typing @@ -233,7 +233,7 @@ For the first time (incl. selecting an experiment): BUILD_BOCHS and BUILD_X86. 5. Typing $ make (or nice make -jN) - will start the build process of Fail* and gem5. This automatically + will start the build process of FAIL* and gem5. This automatically builds the debug variant for ARM targets. (Note that this build will automatically include the ${FAIL_DIR}/src/core/sal/gem5 as an "EXTRAS" feature, see gem5/scons build system documentation for @@ -248,13 +248,13 @@ For the first time (incl. selecting an experiment): NOTE: gem5 currently does not compile with the newer clang-based daily builds of AspectC++ (ac++). You may need to use the ac++ 1.2 release instead. -After changes to Fail*/gem5 code (incl. aspect headers): +After changes to FAIL*/gem5 code (incl. aspect headers): ------------------------------------------------------------ 1. Clean the current build by typing $ make gem5-allclean (in your build dir ${FAIL_DIR}/build). This cleans the current - Fail* and gem5 build directories. Note that "make clean" only cleans - the Fail* build directory. Furthermore, all remaining CMake remnants + FAIL* and gem5 build directories. Note that "make clean" only cleans + the FAIL* build directory. Furthermore, all remaining CMake remnants should be deleted: $ find -name CMakeCache.txt | xargs rm 2. Rebuild by typing @@ -290,7 +290,7 @@ Database backend setup: MySQL / MariaDB Building LLVM from sources ========================================================================================= If your Linux distribution does not provide a library package for LLVM 3.3 or -newer, and you need LLVM support in Fail*, you may need to build LLVM from the +newer, and you need LLVM support in FAIL*, you may need to build LLVM from the sources and install it, e.g., locally in your home. 1. Download the source tarball of LLVM 3.4 from http://llvm.org (or use the git diff --git a/doc/how-to-use.txt b/doc/how-to-use.txt index 57784c53..6c8c8196 100644 --- a/doc/how-to-use.txt +++ b/doc/how-to-use.txt @@ -1,5 +1,5 @@ ========================================================================================= -Steps to run a boot image in Fail* using the Bochs simulator backend: +Steps to run a boot image in FAIL* using the Bochs simulator backend: ========================================================================================= Follow the Bochs documentation, and start your own "bochsrc" configuration file based on the "${PREFIX}/share/doc/bochs/bochsrc-sample.txt" template (or @@ -15,17 +15,17 @@ based on the "${PREFIX}/share/doc/bochs/bochsrc-sample.txt" template (or - For an X11 GUI: config_interface: textconfig display_library: x - - For a wxWidgets GUI (does not play well with Fail*'s "restore" feature): + - For a wxWidgets GUI (does not play well with FAIL*'s "restore" feature): config_interface: wx display_library: wx - - Reduce the guest system's RAM to a minimum to reduce Fail*'s memory footprint + - Reduce the guest system's RAM to a minimum to reduce FAIL*'s memory footprint and save/restore overhead, e.g.: memory: guest=16, host=16 - If you want to redirect FailBochs's output to a file using the shell's redirection operator '>', make sure "/dev/stdout" is not used as a target file for logging. (The Debian "bochsrc" template unfortunately does this in two places. It suffices to comment out these entries.) - - To make Fail* terminate if something unexpected happens in a larger + - To make FAIL* terminate if something unexpected happens in a larger campaign, be sure it doesn't "ask" in these cases, e.g.: panic: action=fatal error: action=fatal @@ -63,7 +63,7 @@ An example of a DatabaseCampaign with separate experiment. CONFIG_EVENT_MEMWRITE, CONFIG_EVENT_TRAP, CONFIG_SR_RESTORE and CONFIG_SR_SAVE The options BUILD_BOCHS, BUILD_X86 are needed as well, but are defaults. 3. In weather-monitor/experimentInfo.hpp set "PREREQUISITES" to 1 and build - Fail*/Bochs using e.g. fail/scripts/rebuild-bochs.sh (-> how-to-build.txt). + FAIL*/Bochs using e.g. fail/scripts/rebuild-bochs.sh (-> how-to-build.txt). Upon minor changes (i.e. not e.g. to aspects), append " -" to the call to the script. This will rebuild only parts that changed. 4. Enter experiment_targets/weathermonitor and run: @@ -76,7 +76,7 @@ An example of a DatabaseCampaign with separate experiment. being VARIANT.trace 6. Use "import-trace" (using correct -b & -v, -t is VARIANT.trace) to get the trace into the database and "prune-trace" to (obviously) prune the data. - 7. Change PREREQUISITES (see 5) back to "0" and rebuild Fail*/Bochs. + 7. Change PREREQUISITES (see 5) back to "0" and rebuild FAIL*/Bochs. 8. Run the "weather-monitor-server" (Don't forget -v & -b!) and "fail-client -q" from within experiment_targets/weathermonitor/. You'll need several clients to finish the campaign. @@ -87,7 +87,7 @@ A simple standalone experiment (without a separate campaign). To compile this experiment, the following steps are required: 1. Add "hsc-simple" to ccmake's EXPERIMENTS_ACTIVATED. 2. Enable CONFIG_EVENT_BREAKPOINTS, CONFIG_SR_RESTORE and CONFIG_SR_SAVE. - 3. Build Fail* and Bochs, see "how-to-build.txt" for details. + 3. Build FAIL* and Bochs, see "how-to-build.txt" for details. 4. Enter experiment_targets/hscsimple/, bunzip2 -k *.bz2 5. Start the Bochs simulator by typing $ fail-client -q @@ -130,7 +130,7 @@ fail-client for the next 2k experiments. The experiments can be significantly sped up by a) parallelization (run more FailBochs clients and - b) a headless (and more optimized) Fail* configuration (see above). + b) a headless (and more optimized) FAIL* configuration (see above). Experiment "MHTestCampaign": @@ -211,7 +211,7 @@ To compile this experiment, the following steps are required: CONFIG_EVENT_MEMREAD, CONFIG_EVENT_MEMWRITE, CONFIG_EVENT_TRAP, CONFIG_SR_RESTORE and CONFIG_SR_SAVE. 6. Enable STEP1 in fail/src/experiments/weather-monitor/experiment.cc - 7. Build Fail* and gem5, see "how-to-build.txt" for details. + 7. Build FAIL* and gem5, see "how-to-build.txt" for details. 8. Start the gem5-fail-client by typing "../scripts/run-gem5.sh ../../experiment_targets/weathermonitor_arm/weather.elf weathermonitor_arm/weather.elf" @@ -222,7 +222,7 @@ To compile this experiment, the following steps are required: 10. Prune the trace with "prune-trace -d YOUR_DB -v baseline -b weather" 11. Enable STEP3 in fail/src/experiments/weather-monitor/experiment.cc - 12. Build Fail* and gem5, see "how-to-build.txt" for details. + 12. Build FAIL* and gem5, see "how-to-build.txt" for details. 13. Start the campaign-server "bin/weather-monitor-server -v baseline -b weather" 14. Start the gem5-fail-client by typing @@ -231,18 +231,18 @@ To compile this experiment, the following steps are required: ========================================================================================= Parallelization ========================================================================================= -Fail* is designed to allow parallelization of experiment execution allowing to reduce +FAIL* is designed to allow parallelization of experiment execution allowing to reduce the time needed to execute the experiments on a (larger) set of experiment data (aka input parameters for the experiment execution, e.g. instruction pointer, registers, bit numbers, ...). We call such "experiment data" the parameter sets. The so called "campaign" is responsible for managing the parameter sets (i.e., the data to be used by the experiment flows), inquired by the clients. As a consequence, the campaign is running on the server- side and the experiment flows are running on the (distributed) clients. -First of all, the Fail* instances (and other required files, e.g. saved state) are +First of all, the FAIL* instances (and other required files, e.g. saved state) are distributed to the clients. In the second step the campaign(-server) is started, preparing its parameter sets in order to be able to answer the requests from the clients. (Once there are available parameter sets, the clients can request them.) In the final step, -the distributed Fail* clients have to be started. As soon as this setup is finished, +the distributed FAIL* clients have to be started. As soon as this setup is finished, the clients request new parameter sets, execute their experiment code and return their results to the server (aka campaign) in an iterative way, until all paremeter sets have been processed successfully. If all (new) parameter sets have been distributed, the diff --git a/doc/todo.txt b/doc/todo.txt index bfe71632..0ce5a677 100644 --- a/doc/todo.txt +++ b/doc/todo.txt @@ -211,7 +211,7 @@ Erledigt: -> benenne Events um ("Listener") -> Erstelle neue Klassenhierarchie, die den "Informationsanteil" der "Events" repräsentiert. Diese kapseln dann die Informationen in den Events und - werden zudem intern im Fail*-Framework verwendet (genauer: kommuniziert). + werden zudem intern im FAIL*-Framework verwendet (genauer: kommuniziert). ========================================================================================== Theorie TODO diff --git a/doc/wishlist.txt b/doc/wishlist.txt index e228fa62..ed4c9b60 100644 --- a/doc/wishlist.txt +++ b/doc/wishlist.txt @@ -1,8 +1,8 @@ -This file documents ideas/wishes especially from a Fail* *user* perspective. +This file documents ideas/wishes especially from a FAIL* *user* perspective. - - Recurring Fail* API usage patterns in experiment/campaign implementations + - Recurring FAIL* API usage patterns in experiment/campaign implementations (that could be implemented in a reusable way, e.g. in a library that sits - between the Fail* API and the experiment) + between the FAIL* API and the experiment) * Fault-space pruning (FIXME elaborate) * Preparation vs. final experiment steps -> cmake-driven, automatically build 2 fail-client binaries? (FIXME elaborate) diff --git a/scripts/fail-env.sh b/scripts/fail-env.sh index 880f3d9f..f848db8a 100644 --- a/scripts/fail-env.sh +++ b/scripts/fail-env.sh @@ -1,7 +1,7 @@ #!/bin/bash # # fail-env.sh -# default values for several Fail* environment variables +# default values for several FAIL* environment variables # If you want to set your own defaults, or need a script to source from, e.g., # your ~/.bashrc, please copy this file and do not edit it in-place. # @@ -17,7 +17,7 @@ export FAIL_DISTRIBUTE_HOSTS=${FAIL_DISTRIBUTE_HOSTS:-"ios kos virtuos plutonium export FAIL_EXPERIMENT_HOSTS=${FAIL_EXPERIMENT_HOSTS:-"bigbox.informatik.uni-erlangen.de plutonium:4 uran:4 virtuos ios:32 kos:16 bohrium:12 polonium:12 radon $(for hostnr in $(seq 100 254); do echo -n fiws$hostnr\ ; done) $(for hostnr in $(seq 39 58); do echo -n cloudhost$hostnr\ ; done)"} # A homedir-relative directory on the distribution hosts where all necessary -# Fail* ingredients reside (see multiple-clients.sh). +# FAIL* ingredients reside (see multiple-clients.sh). export FAIL_EXPERIMENT_TARGETDIR=${FAIL_EXPERIMENT_TARGETDIR:-.fail-experiment} # Number of parallel build processes. If unset, #CPUs+1. diff --git a/scripts/my-fail-env/ab-fail-env.sh b/scripts/my-fail-env/ab-fail-env.sh index 65a9ae35..7947d247 100755 --- a/scripts/my-fail-env/ab-fail-env.sh +++ b/scripts/my-fail-env/ab-fail-env.sh @@ -1,7 +1,7 @@ #!/bin/bash # # ab-fail-env.sh (Adrian Böckenkamp) -# default values for several Fail* environment variables +# default values for several FAIL* environment variables # # A whitespace-separated list of hosts to rsync the experiment data to. This @@ -15,5 +15,5 @@ export FAIL_DISTRIBUTE_HOSTS=${FAIL_DISTRIBUTE_HOSTS:='kos plutonium'} export FAIL_EXPERIMENT_HOSTS=${FAIL_EXPERIMENT_HOSTS:="plutonium uran kos:6 bohrium polonium radon $(for hostnr in $(seq 100 254); do echo fiws$hostnr; done)"} # A homedir-relative directory on the distribution hosts where all necessary -# Fail* ingredients reside (see multiple-clients.sh). +# FAIL* ingredients reside (see multiple-clients.sh). export FAIL_EXPERIMENT_TARGETDIR=.fail-experiment diff --git a/scripts/rebuild-bochs.sh b/scripts/rebuild-bochs.sh index 0b646d1b..25bf70ed 100755 --- a/scripts/rebuild-bochs.sh +++ b/scripts/rebuild-bochs.sh @@ -1,15 +1,15 @@ #!/bin/bash # # - needs to be called from within your build directory -# - "rebuild-bochs.sh": rebuild all of both Fail* and Bochs +# - "rebuild-bochs.sh": rebuild all of both FAIL* and Bochs # (e.g., possibly necessary if you don't understand what was changed by others) -# - "rebuild-bochs.sh fail": rebuild all of Fail* and link fail-client +# - "rebuild-bochs.sh fail": rebuild all of FAIL* and link fail-client # (e.g., possibly necessary if you changed Fail-affecting aspects or the # build system) # - "rebuild-bochs.sh bochs": rebuild all of Bochs and link fail-client # (e.g., necessary if you changed Bochs-affecting aspects/code that must be # inlined in Bochs) -# - "rebuild-bochs.sh -": rebuild only changed parts of Fail* and Bochs +# - "rebuild-bochs.sh -": rebuild only changed parts of FAIL* and Bochs # (e.g., sufficient if you only changed experiment code) # set -e diff --git a/scripts/t32cmm/CMakeLists.txt b/scripts/t32cmm/CMakeLists.txt index 2678d094..48c94832 100644 --- a/scripts/t32cmm/CMakeLists.txt +++ b/scripts/t32cmm/CMakeLists.txt @@ -2,16 +2,16 @@ if(EXISTS $ENV{T32SYS}) SET(T32_SYS $ENV{T32SYS}) - message(STATUS "[Fail*] T32 base directory: T32SYS=${T32_SYS}") + message(STATUS "[FAIL*] T32 base directory: T32SYS=${T32_SYS}") else() SET(T32_SYS "/proj/i4ciao/tools/t32-20130226-qt") ## defaulting to I4 installation #message(FATAL_ERROR "Please set env variable T32SYS to a valid T32 installation base directory.") endif() -message(STATUS "[Fail*] T32 base directory: T32SYS=${T32_SYS}") +message(STATUS "[FAIL*] T32 base directory: T32SYS=${T32_SYS}") if(EXISTS $ENV{FAIL_ELF_PATH}) SET(T32_ELF_PATH $ENV{FAIL_ELF_PATH}) - message(STATUS "[Fail*] T32 ELF under test: ${T32_ELF_PATH}") + message(STATUS "[FAIL*] T32 ELF under test: ${T32_ELF_PATH}") else() message(FATAL_ERROR "Please set the FAIL_ELF_PATH enviroment variable to the binary under test.") endif() @@ -34,9 +34,9 @@ set(T32_EXE "${T32_SYS}/bin/pc_linux64/" CACHE INTERNAL "") # TODO: set pc_linux add_subdirectory(${T32_ARCHITECTURE}) -message(STATUS "[Fail*] T32 Architecture: ${T32_ARCHITECTURE}") -message(STATUS "[Fail*] T32 CPU name: ${T32_CPUNAME}") -message(STATUS "[Fail*] T32 Executable: ${T32_EXE}") +message(STATUS "[FAIL*] T32 Architecture: ${T32_ARCHITECTURE}") +message(STATUS "[FAIL*] T32 CPU name: ${T32_CPUNAME}") +message(STATUS "[FAIL*] T32 Executable: ${T32_EXE}") add_custom_target(runt32 COMMAND T32CONFIG=${PROJECT_BINARY_DIR}/cmm/config.t32 T32SYS=${T32_SYS} ${T32_EXE} & diff --git a/simulators/gem5/configs/example/fail_fs.py b/simulators/gem5/configs/example/fail_fs.py index 9be5c34c..587fa3b4 100644 --- a/simulators/gem5/configs/example/fail_fs.py +++ b/simulators/gem5/configs/example/fail_fs.py @@ -1,6 +1,6 @@ # -------------------------------------------------------------- # This script invokes the gem5 simulator. It is written to be used -# with the Fail* framework. For further information, see +# with the FAIL* framework. For further information, see # http://www.m5sim.org/Simulation_Scripts_Explained # This script is based on $FAIL/simulators/gem5/configs/example/fs.py # @@ -33,7 +33,7 @@ Options.addFSOptions(parser) # TODO: dito if args: print "Error: script doesn't take any positional arguments" sys.exit(1) -print "[Fail*] Welcome to the FULL SYSTEM simulation script for gem5!" +print "[FAIL*] Welcome to the FULL SYSTEM simulation script for gem5!" # Sets up the low-level system parameter: class FailArmSystem(System): @@ -130,10 +130,10 @@ test_sys = makeFailArmSystem(test_mem_mode, options.machine_type) # experiment target (e.g., the abo-simple-arm.elf file). It should # contain the bootload code as well. if options.kernel is not None: - print "[Fail*] Using target: " + options.kernel + print "[FAIL*] Using target: " + options.kernel test_sys.kernel = options.kernel else: - print "[Fail*] No kernel target given, exiting!" + print "[FAIL*] No kernel target given, exiting!" sys.exit(1) test_sys.init_param = options.init_param diff --git a/simulators/gem5/src/arch/isa_parser.py b/simulators/gem5/src/arch/isa_parser.py index ea7c3d65..2e6d4195 100755 --- a/simulators/gem5/src/arch/isa_parser.py +++ b/simulators/gem5/src/arch/isa_parser.py @@ -584,7 +584,7 @@ class FloatRegOperand(Operand): return self.buildWriteCode(func) # (DanceOS hack begin... if self.ctype == 'int32_t' or self.ctype == 'int16_t': - print "Applying Fail* hack in %s@%s ... :-)" % \ + print "Applying FAIL* hack in %s@%s ... :-)" % \ (__file__, inspect.currentframe().f_lineno) wb = ''' { diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7c7b171f..533ca22c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,10 +15,10 @@ SET(PROTOBUF_IMPORT_DIRS "/usr/include;${CMAKE_CURRENT_SOURCE_DIR}/core/comm" # is generated by CMake from config/FailConfig.hpp.in and stored in # your build-dir. (The same goes for "FailControlMessage.pb.h", etc.) # This is done in the "src"-folder because experiments need to include -# Fail* headers as well (see hierarchy of CMakeLists.txt's). +# FAIL* headers as well (see hierarchy of CMakeLists.txt's). ## Add CMakeLists from subdirectories ## -# The Fail* core source files (and it's subdirectories): +# The FAIL* core source files (and it's subdirectories): add_subdirectory(core) # Here we add all user-defined experiments (which fills the target list) @@ -39,8 +39,8 @@ endforeach(plugin_name) # (probably there's a smarter way to do that with cmake?) add_library(fail dummy.cc) -## Setup build dependencies of the Fail* lib -## -> the Fail* targets and user defined experiment targets +## Setup build dependencies of the FAIL* lib +## -> the FAIL* targets and user defined experiment targets # start/end-group: ld must iterate over these archives more than once to figure # out which objects are needed set(experiment_libraries "") diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index df4d5eb8..107f30a6 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -7,7 +7,7 @@ link_directories(${Boost_LIBRARY_DIRS}) # The autogenerated header files add_subdirectory(config) -# Fail* targets +# FAIL* targets add_subdirectory(comm) add_subdirectory(cpn) add_subdirectory(efw) diff --git a/src/core/sal/Event.hpp b/src/core/sal/Event.hpp index 17c2a922..5e9f1ae2 100644 --- a/src/core/sal/Event.hpp +++ b/src/core/sal/Event.hpp @@ -53,7 +53,7 @@ public: * the subclasses. * @param trigger the triggering address of the breakpoint event * @param address_space the address space identifier for this event - * @param cpu the Fail* CPU object that triggered the breakpoint + * @param cpu the FAIL* CPU object that triggered the breakpoint */ BPEvent(address_t trigger, address_t address_space, ConcreteCPU* cpu = NULL) : BaseEvent(cpu), m_TriggerInstrPtr(trigger), m_AddressSpace(address_space) { } diff --git a/src/core/sal/Listener.hpp b/src/core/sal/Listener.hpp index de415461..4a061c15 100644 --- a/src/core/sal/Listener.hpp +++ b/src/core/sal/Listener.hpp @@ -231,7 +231,7 @@ BP_CTOR_SCOPE: */ BPSingleListener(address_t ip = 0, address_t address_space = ANY_ADDR, ConcreteCPU* cpu = NULL) : BPListener(address_space, cpu), m_WatchInstrPtr(ip) { } -public: // reset scope in order to allow compiling the various other Fail* sources +public: // reset scope in order to allow compiling the various other FAIL* sources /** * Returns the instruction pointer this listener waits for. * @return the instruction pointer specified in the constructor or by diff --git a/src/core/sal/ListenerManager.hpp b/src/core/sal/ListenerManager.hpp index 70ece0eb..bb9f68f4 100644 --- a/src/core/sal/ListenerManager.hpp +++ b/src/core/sal/ListenerManager.hpp @@ -33,7 +33,7 @@ typedef std::vector deletelist_t; /** * \class ListenerManager * - * \brief This class manages the listeners of the Fail* implementation. + * \brief This class manages the listeners of the FAIL* implementation. * * If a listener is triggered, the internal data structure will be updated (i.e., * the listener will be removed from the so called buffer-list and added to the diff --git a/src/core/sal/SimulatorController.cc b/src/core/sal/SimulatorController.cc index 39e34b1c..d7830e28 100644 --- a/src/core/sal/SimulatorController.cc +++ b/src/core/sal/SimulatorController.cc @@ -50,7 +50,7 @@ void SimulatorController::startup() std::cout << "[SimulatorController] Initializing..." << std::endl; // TODO: Log-Level? - // Set Fail* as initialized + // Set FAIL* as initialized m_isInitialized = true; // Activate previously added experiments to allow initialization: diff --git a/src/core/sal/arm/ArmArchitecture.hpp b/src/core/sal/arm/ArmArchitecture.hpp index 1aa2844a..a5fb07db 100644 --- a/src/core/sal/arm/ArmArchitecture.hpp +++ b/src/core/sal/arm/ArmArchitecture.hpp @@ -30,10 +30,10 @@ typedef ArmArchitecture Architecture; * simulators/gem5/src/arch/arm/miscregs.hh and * simulators/gem5/src/arch/arm/intregs.hh * which we cannot include because they are generated (probably after we need - * them). As integer and "misc" register IDs overlap in gem5, and Fail* needs + * them). As integer and "misc" register IDs overlap in gem5, and FAIL* needs * unique IDs, we split at RI_INTREGS_MAX and map to the original IDs in * sal/gem5/Gem5Wrapper.cc . If more ARM backends emerge, we may need to find - * more sophisticated backend<->Fail* register ID mappings. + * more sophisticated backend<->FAIL* register ID mappings. */ enum GPRegIndex { RI_R0, diff --git a/src/core/sal/bochs/BochsListener.ah b/src/core/sal/bochs/BochsListener.ah index cd824936..11fb2ebc 100644 --- a/src/core/sal/bochs/BochsListener.ah +++ b/src/core/sal/bochs/BochsListener.ah @@ -42,7 +42,7 @@ aspect BochsListener { bx_pc_system.register_timer(pev, fail::onTimerTrigger, pev->getTimeout() /*timeout in microseconds*/, false /*non-continuous*/, - true /*start immediately*/, "Fail*: BochsController"/*name*/)); + true /*start immediately*/, "FAIL*: BochsController"/*name*/)); } bool m_unregisterTimer(TimerListener* pev) { diff --git a/src/core/sal/panda/PandaTimer.ah b/src/core/sal/panda/PandaTimer.ah index 45c11cdc..f693e689 100644 --- a/src/core/sal/panda/PandaTimer.ah +++ b/src/core/sal/panda/PandaTimer.ah @@ -38,7 +38,7 @@ private: return static_cast( oocdw_register_timer(pev, fail::onTimerTrigger, pev->getTimeout() /*timeout in microseconds*/, - true /*start immediately*/, "Fail*: PandaController"/*name*/)); + true /*start immediately*/, "FAIL*: PandaController"/*name*/)); } bool m_unregisterTimer(TimerListener* pev) { diff --git a/src/core/util/BlackholeLogger.hpp b/src/core/util/BlackholeLogger.hpp index 6ef1674f..c9b7c862 100644 --- a/src/core/util/BlackholeLogger.hpp +++ b/src/core/util/BlackholeLogger.hpp @@ -12,7 +12,7 @@ namespace fail { */ class BlackholeLogger { public: - Logger(const std::string& description = "Fail*", bool show_time = true, + Logger(const std::string& description = "FAIL*", bool show_time = true, std::ostream& dest = std::cout) { } void setDescription(const std::string& descr) { } void showTime(bool choice) { } diff --git a/src/core/util/CMakeLists.txt b/src/core/util/CMakeLists.txt index 1b03c610..e08caa0e 100644 --- a/src/core/util/CMakeLists.txt +++ b/src/core/util/CMakeLists.txt @@ -66,7 +66,7 @@ find_program(FAIL_OBJDUMP "${THE_OBJDUMP}" DOC "binutils object dump tool") if(${FAIL_OBJDUMP} STREQUAL FAIL_OBJDUMP-NOTFOUND) message(FATAL_ERROR "Cannot find objdump exeuctable (tried: ${THE_OBJDUMP}") else() - message(STATUS "[Fail*] objdump binary -> ${FAIL_OBJDUMP}") + message(STATUS "[FAIL*] objdump binary -> ${FAIL_OBJDUMP}") endif() mark_as_advanced(FAIL_OBJDUMP) diff --git a/src/core/util/Disassembler.cc b/src/core/util/Disassembler.cc index 492eb72f..b82afbfe 100644 --- a/src/core/util/Disassembler.cc +++ b/src/core/util/Disassembler.cc @@ -15,7 +15,7 @@ namespace fail { const std::string DISASSEMBLER::FAILED = "[Disassembler] Disassemble failed."; -Disassembler::Disassembler() : m_log("Fail*Disassembler", false) { } +Disassembler::Disassembler() : m_log("FAIL*Disassembler", false) { } int Disassembler::init() { // try to open elf file from environment variable diff --git a/src/core/util/ElfReader.cc b/src/core/util/ElfReader.cc index b0d976aa..78f248c3 100644 --- a/src/core/util/ElfReader.cc +++ b/src/core/util/ElfReader.cc @@ -26,7 +26,7 @@ std::ostream& operator<< (std::ostream &out, const ElfSymbol &symbol) { -ElfReader::ElfReader() : m_log("Fail*Elfinfo", false) { +ElfReader::ElfReader() : m_log("FAIL*Elfinfo", false) { // try to open elf file from environment variable char * elfpath = getenv("FAIL_ELF_PATH"); if (elfpath == NULL) { @@ -36,7 +36,7 @@ ElfReader::ElfReader() : m_log("Fail*Elfinfo", false) { } } -ElfReader::ElfReader(const char* path) : m_log("Fail*Elfinfo", false) { +ElfReader::ElfReader(const char* path) : m_log("FAIL*Elfinfo", false) { setup(path); } diff --git a/src/core/util/Logger.hpp b/src/core/util/Logger.hpp index ea2f584d..79ca302c 100644 --- a/src/core/util/Logger.hpp +++ b/src/core/util/Logger.hpp @@ -24,7 +24,7 @@ public: * @param show_time Show a timestamp with each log entry. * @param dest Stream to log into. */ - Logger(const std::string& description = "Fail*", bool show_time = true, + Logger(const std::string& description = "FAIL*", bool show_time = true, std::ostream& dest = std::cout) : m_pDest(&dest), m_description(description), m_showTime(show_time) { } /** diff --git a/src/core/util/llvmdisassembler/LLVMtoFailTranslator.hpp b/src/core/util/llvmdisassembler/LLVMtoFailTranslator.hpp index 9b65116b..722510dd 100644 --- a/src/core/util/llvmdisassembler/LLVMtoFailTranslator.hpp +++ b/src/core/util/llvmdisassembler/LLVMtoFailTranslator.hpp @@ -9,7 +9,7 @@ namespace fail { /** * Translates LLVM disassembler ids - * to Fail* SAL representations. + * to FAIL* SAL representations. */ class LLVMtoFailTranslator { public: @@ -51,7 +51,7 @@ public: /** * Translates a backend-specific register ID to a Fail register ID. * @param regid A backend-specific register ID. - * @return A Fail* register ID, or LLVMtoFailTranslator::notfound if no + * @return A FAIL* register ID, or LLVMtoFailTranslator::notfound if no * mapping was found. */ const reginfo_t & getFailRegisterID(unsigned int regid); diff --git a/src/experiments/cool-checksum/experiment.cc b/src/experiments/cool-checksum/experiment.cc index 1977cbb6..d355f798 100644 --- a/src/experiments/cool-checksum/experiment.cc +++ b/src/experiments/cool-checksum/experiment.cc @@ -93,7 +93,7 @@ bool CoolChecksumExperiment::run() #endif #elif 1 - // FIXME consider moving experiment repetition into Fail* or even the + // FIXME consider moving experiment repetition into FAIL* or even the // SAL -- whether and how this is possible with the chosen backend is // backend specific for (int i = 0; i < 2000; ++i) { diff --git a/src/experiments/l4-sys/experiment.hpp b/src/experiments/l4-sys/experiment.hpp index 9d1f9cd5..832ffb2f 100644 --- a/src/experiments/l4-sys/experiment.hpp +++ b/src/experiments/l4-sys/experiment.hpp @@ -152,7 +152,7 @@ private: /** * Adds the value of the config file to the parameter list and * parse the parameter list. This function makes use of the - * CommandLine Parser from the fail* framework. + * CommandLine Parser from the FAIL* framework. */ void parseOptions(L4SysConfig&); diff --git a/src/experiments/l4-sys/manual.tex b/src/experiments/l4-sys/manual.tex index bc2f985f..669a0eb4 100644 --- a/src/experiments/l4-sys/manual.tex +++ b/src/experiments/l4-sys/manual.tex @@ -34,7 +34,7 @@ you to read this whole document before investigating further. \section{Overview} This is the user manual of the \lfs{} generic system test framework. -The framework builds on Fail* and provides means to perform fault injection +The framework builds on FAIL* and provides means to perform fault injection experiments for applications running on top of the Fiasco.OC/L4Re microkernel-based operating system as well as the underlying microkernel. @@ -47,13 +47,13 @@ microkernel-based operating system as well as the underlying microkernel. \noindent \lfs{} currently works for x86/32 running in Fail/Bochs only. This is partly due to some issues with timing --- as soon as a valid model of time in the target emulator as well as an assembler/disassembler functionality -in the Fail* framework are established, I would recommend a backend change, as +in the FAIL* framework are established, I would recommend a backend change, as Bochs' reliability is very limited. \section{Framework Setup} To prepare a fault injection campaign you will first need to configure and -build Fail* itself. This process is described in \texttt{doc/how-to-build.txt}. +build FAIL* itself. This process is described in \texttt{doc/how-to-build.txt}. The following CMake flags need to be set: \begin{itemize}[itemsep=0em] @@ -94,7 +94,7 @@ in Bochs. \section{Client Setup} -Now that we have Fail* and the L4Re setup running, we can prepare our fault +Now that we have FAIL* and the L4Re setup running, we can prepare our fault injection campaign. This requires three (+ one optional) steps: \begin{enumerate}[topsep=0em,itemsep=0em] \item \emph{OPTIONAL:} If we want to perform a campaign that only targets @@ -203,7 +203,7 @@ be added to specify the host name or ip addr. of the machine running Each experiment client processes exactly one experiment and exits. To complete your campaign, you should use the \verb+client.sh+ -script in the \texttt{scripts} subdirectory of Fail*. +script in the \texttt{scripts} subdirectory of FAIL*. \section{Get your results} diff --git a/src/experiments/nanojpeg/campaign.cc b/src/experiments/nanojpeg/campaign.cc index d7fc8e91..b095a771 100644 --- a/src/experiments/nanojpeg/campaign.cc +++ b/src/experiments/nanojpeg/campaign.cc @@ -126,7 +126,7 @@ bool NanoJPEGCampaign::run() // all IN registers close an equivalence class and generate experiments for (Udis86Helper::UDRegisterSet::const_iterator it = in_regs.begin(); it != in_regs.end(); ++it) { - // determine Fail* register ID and bitmask + // determine FAIL* register ID and bitmask uint64_t access_mask; fail::GPRegisterId reg = udis_helper.udisGPRToFailBochsGPR(*it, access_mask); uint64_t remaining_access_mask = access_mask; @@ -168,7 +168,7 @@ bool NanoJPEGCampaign::run() // special case: empty EC! for (Udis86Helper::UDRegisterSet::const_iterator it = out_regs.begin(); it != out_regs.end(); ++it) { - // determine Fail* register ID and bitmask + // determine FAIL* register ID and bitmask uint64_t access_mask; fail::GPRegisterId reg = udis_helper.udisGPRToFailBochsGPR(*it, access_mask); uint64_t remaining_access_mask = access_mask; @@ -213,7 +213,7 @@ bool NanoJPEGCampaign::run() // close all open ECs for (map > >::iterator it = reg_cascade.begin(); it != reg_cascade.end(); ++it) { - // determine Fail* register ID and bitmask + // determine FAIL* register ID and bitmask uint64_t access_mask = 0xffffffffULL; fail::GPRegisterId reg = it->first; uint64_t remaining_access_mask = access_mask; diff --git a/tools/analysis/VisualFAIL/README.md b/tools/analysis/VisualFAIL/README.md index 1a5ee4d1..d02da974 100644 --- a/tools/analysis/VisualFAIL/README.md +++ b/tools/analysis/VisualFAIL/README.md @@ -1,9 +1,9 @@ -VisualFail* +VisualFAIL* =========== Guest-system setup ------------------ -For analysis with VisualFail*, the guest-system ELF binary must be compiled with +For analysis with VisualFAIL*, the guest-system ELF binary must be compiled with debugging information (gcc/g++/clang/clang++ compiler flag "-g"). Note that debugging information quality/accuracy usually decreases with higher optimization levels. @@ -16,7 +16,7 @@ Database preparation Step 1 is the prerequisite to run the fault-injection campaign (you may use other importers as well, e.g., the RegisterImporter). Steps 2 and 3 are -required for VisualFail* to work. +required for VisualFAIL* to work. Setup ----- @@ -25,20 +25,20 @@ database credentials and the result-table name (usually starting with "result...", "echo SHOW TABLES | mysql yourdatabase" on the command line should give you the correct table name). -(In a later version of VisualFail*, we will probably add automatic loading of +(In a later version of VisualFAIL*, we will probably add automatic loading of ~/.my.cnf if available.) -Running and using VisualFail* +Running and using VisualFAIL* ----------------------------- ./StartVF.sh requires PHP 5.4.0 or newer and uses its simple built-in web server. You can connect to it by using http://localhost:1234 in a web browser on the same machine. (If you need to connect from another machine, manually run "php -S 0.0.0.0:1234 -t .") -Alternatively, VisualFail* can be set up using a "real" web server with a recent +Alternatively, VisualFAIL* can be set up using a "real" web server with a recent PHP version (5.x should suffice). -Once the web server runs, you can use VisualFail*: +Once the web server runs, you can use VisualFAIL*: - Pick a coloring (currently, only "Right margin" really makes sense), a benchmark and a variant from the drop-down menus. Click "Analyze". Wait. diff --git a/tools/analysis/VisualFAIL/index.php b/tools/analysis/VisualFAIL/index.php index 9d51675b..793357c9 100644 --- a/tools/analysis/VisualFAIL/index.php +++ b/tools/analysis/VisualFAIL/index.php @@ -40,7 +40,7 @@ - +
diff --git a/tools/analysis/resultbrowser/README b/tools/analysis/resultbrowser/README index 46f1bac3..f955e935 100644 --- a/tools/analysis/resultbrowser/README +++ b/tools/analysis/resultbrowser/README @@ -1,4 +1,4 @@ -Fail* Result Browser +FAIL* Result Browser Requirements: * Python @@ -9,7 +9,7 @@ Requirements: Based on Flask web microframework (Werkzeug, Jinja 2) and old school MySQL bindings. -Connects to a Fail* result database given by a mysql config file. +Connects to a FAIL* result database given by a mysql config file. Usage: ./run.py diff --git a/tools/analysis/resultbrowser/app/templates/layout.html b/tools/analysis/resultbrowser/app/templates/layout.html index e2a6402c..5aa08051 100644 --- a/tools/analysis/resultbrowser/app/templates/layout.html +++ b/tools/analysis/resultbrowser/app/templates/layout.html @@ -1,7 +1,7 @@ - Fail* Results + FAIL* Results @@ -9,7 +9,7 @@
-

Fail*

+

FAIL*