1. 23 Oct, 2015 1 commit
  2. 23 Jul, 2015 1 commit
  3. 01 Jun, 2015 1 commit
  4. 29 May, 2015 2 commits
  5. 07 May, 2015 1 commit
  6. 29 Apr, 2015 3 commits
    • Christian Dietrich's avatar
      fail: fix import arguments · 9b4f9fc7
      Christian Dietrich authored
    • Christian Dietrich's avatar
      config: use config system in generator and code · dc0d413a
      Christian Dietrich authored
      Use the configuration values in the code (forced include) and within the
      generator itself. This needed some adaptions to the code.
      Change-Id: Iad330f2dd0af39c33ba753b5592b4df4c61974e7
    • Martin Hoffmann's avatar
      toolchain: Invoke toolchain with cross compiler · 67a5a6fd
      Martin Hoffmann authored
      We actually need a cross compiler setup, even for the i386 variant.
      This change invokes the i386-elf- toolchain.
      (It only worked in Linux, as it uses the same ELF format for executables)
      The corresponding tools (nm, objdump) are propagated to the various
      scripts and builds.
      Fixes for Linux variant.
      Fixes for posix variant.
      Use /proj/i4danceos/tools/llvm-3.4 as Hint
      Change-Id: I46b9dcdb5e0292b4083a0a6456384ef71f8ebe31
  7. 17 Dec, 2014 2 commits
  8. 12 Dec, 2014 1 commit
  9. 24 Oct, 2014 1 commit
  10. 30 Jun, 2014 1 commit
    • Christian Dietrich's avatar
      fail-trace-all: add option to trace all test-cases · bfa815a5
      Christian Dietrich authored
      For tracing all test-suite benchmarks a few modifications on the
      test-cases had to be done in the FAIL case:
      - remove long busy wait states
      - There has to be at least one instruction between two system
        call. Otherwise trace-analyze cannot easily distinguish both system
      Also the trace-analyze.py had to be fixed at a few places.
      Change-Id: I8a9e19f08140526b8d688653248227f5fc5490ed
  11. 20 May, 2014 1 commit
    • Florian Lukas's avatar
      fail: fix trace-analyze · dd257519
      Florian Lukas authored
      - correct CMake invocation
      - get size of irq_resume from binary
      Change-Id: Ibd86053f5c516d9120c2e982c9f293e835638744
  12. 14 Apr, 2014 1 commit
    • Florian Lukas's avatar
      FAIL* evaluation improvements · 81802eed
      Florian Lukas authored
      fail/fail-runner.py: stop clients on campaign finish
      fail/fail.R: skip os_stack graph if empty to prevent error
      eval/fail.sh: save statistics, binary of experiments
      fail/CMakeLists: always create statistics after tracing
      Change-Id: I6cb929684826db630daa3f0ff2b76c75e5452f34
  13. 10 Apr, 2014 1 commit
    • Florian Lukas's avatar
      test: remove non-generated tests, simplify · fb19fb70
      Florian Lukas authored
      The work needed to maintain the manually "generated" system files is no longer
      worth the effort for the constructor test alone.
      Refactored tests to single "tests" target
      This can also be used to *run* tests in parallel:
      make -j8 tests && ctest -j8
      Change-Id: I183aea8283c8d35469d83bb4ee58cdad95af42bc
  14. 12 Mar, 2014 1 commit
    • Christian Dietrich's avatar
      fail: trace_analyze.py matches ABBs with trace regions · 6c74a0e6
      Christian Dietrich authored
      For later evaluation purposes, we have to match syscall regions with
      runtimes. We accomplish this by using the fail golden run of a
      benchmark. All systemcall regions are identified and then mapped to
      syscall ABBs.
      Change-Id: I635b8a7ccd358901fe1b0b09a662248758aabd50
  15. 11 Mar, 2014 1 commit
    • Florian Lukas's avatar
      eval: FAIL* evaluation scripts · 74258857
      Florian Lukas authored
      First try at evaluation scripts. These build and run FAIL* tests for
      all variants (encoded/unencoded, mpu/nompu) for all given apps.
      After this, result graphs are created by R and saved as a single PDF.
      Additionally, the (joined) result data returned from the database is
      saved as a R (data frame) object.
      Example usage: ./fail.sh bench-task1a bench-complex1d
      The R script uses $HOME/my.cnf to connect to the database.
      To map addresses to symbol names, objdump information for the .data
      section is saved to .syms files.
      Change-Id: Id868d645067efb141e2ac12809058f75a8ec56a1
  16. 24 Feb, 2014 2 commits
    • Florian Lukas's avatar
      fail: add trace.h functions for tracing · 808f4751
      Florian Lukas authored
      This header defines functions and variables for FAIL* tracing
      experiments, which compare system state at all points where test_trace
      is called.
      Function names are taken from test.h to allow easy FAIL* testing of
      apps using test.h.
      Using noinline test and test_finish functions removes the need to
      define additional marker functions for FAIL*.
      Change-Id: Ib7115eee589d6f30e98f5376fc9b02781374a7a9
    • Florian Lukas's avatar
      fail: CMake dependencies, FAIL* runner · 91f1d75b
      Florian Lukas authored
      - add checkpoint.trace to FAIL* dependencies
      - FAIL* runner: terminate on server exit, better output
      - multiple FAIL apps no longer overwrite CMake variables
      Change-Id: I8b5c79d510da3f12af6d8c50daf0a2584f5b1efb
  17. 21 Feb, 2014 1 commit
  18. 18 Feb, 2014 1 commit
  19. 17 Feb, 2014 2 commits
    • Florian Lukas's avatar
      fail: store git hash in FAIL* variant name · 9a242146
      Florian Lukas authored
      - check for clean git workspace before tracing
      - store git SHA1 hash in FAIL* variant name to distinguish FAIL*
      - CMake needs to be re-configured after each commit to reflect the new
        hash. If the python check script detects a new hash before tracing,
        the build will be aborted and a message to re-run the build is displayed.
        As the git revision file is updated by the check script, and the CMakeFile
        uses this to configure_file() a dummy output, the next build will trigger a
        CMake re-configure as intended.
      Change-Id: I80fd191c543acad52926aa723fab0bc25cbcb0cf
    • Florian Lukas's avatar
      fail: suffix FAIL* benchmarks without MPU · 189853ac
      Florian Lukas authored
      FAIL* benchmarks run without MPU protection are now suffixed
      with "-nompu"
      Change-Id: I0ab5c6c476ce4c095d836b5499d97d9b1186c8d9
  20. 13 Feb, 2014 1 commit
    • Florian Lukas's avatar
      fail: unencoded benchmark naming · 451509ed
      Florian Lukas authored
      FAIL* benchmark names are suffixed with "-unencoded" if the
      unencoded system is built
      Change-Id: I70c29b43e7ee2096a5349089ba6df8865884613e
  21. 12 Feb, 2014 1 commit
  22. 10 Feb, 2014 1 commit
    • Florian Lukas's avatar
      fail: fix dependencies · d84337f1
      Florian Lukas authored
      Since Bochs output (files) have been reduced a missing output file caused
      CMake to rerun the entrire FAIL* toolchain on each call.
      Change-Id: Ic95e747b286c82ad82391055a02ec049bf3efc0b
  23. 06 Feb, 2014 1 commit
    • Martin Hoffmann's avatar
      arch/posix: Posix backend architecture · 96f02596
      Martin Hoffmann authored
      All manually hand-crafted testcases already work just. Counter/Alarms
      are implemented with itimer. The Task switch is at the moment a manual
      x86 stackswitch. Perhaps we want to replace this again with ucontexts.
      Change-Id: I55eb3a8c838fb92d606fc3fd84294a2efc656d70
  24. 04 Feb, 2014 1 commit
  25. 03 Feb, 2014 1 commit
    • Florian Lukas's avatar
      Fix FAIL* tests · b5303798
      Florian Lukas authored
      - set compile definitons (FAIL=1) correctly for .prelink.elf in
        coredos_executable macro
      - use Null_Stream for kout and debug in FAIL* binaries
      - disable debug, serial output in Bochs for FAIL* testing
      - add proper CMake dependency on linker scripts
      Change-Id: Ib5688a32838a1b988997afbf0963a12592c56cf8
  26. 28 Jan, 2014 1 commit
  27. 27 Jan, 2014 1 commit
    • Christian Dietrich's avatar
      os: extract to-be-generated code pieces · 4ecee7ea
      Christian Dietrich authored
      The tasklist/scheduler/alarms are fully or partially depended on the
      generation process. Therefore we have to extract the curring testing
      system to a seperate file. This is also handy to have a template of
      code that can be used in the generation process.
      Change-Id: Ib774bd5571b6145658a365bcc332abc93e4253be
  28. 07 Jan, 2014 1 commit
    • Florian Lukas's avatar
      arch/i386: GDT, Paging, Interrupt support (WIP) · 079591e2
      Florian Lukas authored
      - moved i386-adapter linker script to arch/i386
      - moved i386-adapted coredos_executable macro from arch/generic to arch/i386
      - static GDT initialization (kernel, userspace, TSS)
      - static IDT initialization, generic handler(s)
      - static paging: pagetables are generated from a "prelink" executable with empty tables
        and then linked together into the final executable
      - Linker script layout changes for memory protection, page alignment, RAM/ROM separation
      - i386 exception codes in arch/i386/exception.h
      - cleaned up arch/i386/startup.s
      - prevent debugtest, failtest targets from always being built
      Change-Id: Idcc0c9b64b14e0ac03c755ba972620ec5979ea4e
  29. 23 Oct, 2013 1 commit
    • Florian Lukas's avatar
      Automated FAIL* testing · 6fb43985
      Florian Lukas authored
      - Added fail directory for FAIL* testing
      - Lots of CMake targets to automate all aspects of FAIL* testing:
        Tracing, Objdump-Import, Region-Mapping, Importing, Pruning, Server, Client
      - fail-run.py to run one or #cores FAIL* clients, optionally FAIL* server as well
      - mapper.py to extract allowed text/data/stack regions from elf for importers
      - distributes clients to other hosts when PARALLEL_SSHFILE is set
      - manlobbi.slf SSH-login file for manlobbi for parallel
      - Use coredos_fail_test(TESTNAME) instead of coredos_test(TESTNAME) in CMakeFiles
      - Run FAIL* server+client in one shot with make fail-TESTNAME-TYPE
        TYPE names importer type: mem, regs, ip or jump
      Some relevant CMake-Variables:
      FAIL_TOOLS_DIR: directory where FAIL* tester+tracing binaries are, defaults to
      FAIL_DBNAME/FAIL_HOSTNAME/FAIL_USERNAME: override ~/my.cnf if needed
      FAIL_NICE: Set client nice level
      FAIL_VARIANT: Variant name, benchmark name derived from target and importer type
      PARALLEL_SSHFILE: SSH login file to distribute FAIL* clients to
      closes #83
      Change-Id: I22f92944296876e54ce917b5188808e120c8eb2c