Commit Graph

394 Commits

Author SHA1 Message Date
a328a21887 Renamed x86- and ARM-specific source files (for improved readability).
Updated include paths and CMake config appropriately

Change-Id: Ida5045cde0458b3031e64b73853fe5f58ef5a9d6
2013-04-03 16:46:51 +02:00
a0293b9d18 ecos: use commandline parameters for local test runs, too
Change-Id: Iac43732408420a9e3687d5756c942c2f2256ad86
2013-04-03 15:18:08 +02:00
373c19dd68 ecos: store traceinfo.txt in correct location
This commit completes the change introduced in commit
59e5fd3169.

Change-Id: I0a6ab7b35fbb69cbb8ef91e187b0d0bc32d01071
2013-04-03 15:18:08 +02:00
c24ed774b0 experiments/dciao-kernelstructs: new database driven experiment for DCiAO
The dciao-kernelstructs experiment does a trace imported by the
DCiAOKernelImporter:

   bin/import-trace -t trace.pb  -i DCiAOKernelImporter --elf-file app.elf

Pruned by the basic method:

   bin/prune-trace

and does CiAO fault injection experiments, where the results are
stored in the database.

Change-Id: I485dc2e5097b3ebaf354241f474ee3d317213707
2013-04-03 10:39:51 +02:00
59e5fd3169 ecos: fail-client accepts commandline parameters for prerequisites phase
This allows us to generate prerequisites (traces, state snapshots, memory
maps) in parallel, and without the previous shell script hacks.

Change-Id: I05a0321a794b4033d05eed20f5bffbd1e910cf1b
2013-03-28 18:09:39 +01:00
ff2aec5d7e T32SIM: evaluating mem access via trace correctly :) 2013-03-21 18:58:04 +01:00
b8e706b1a5 T32SIM: Integrating Tracing feature of the T32SIM.
After each simulator break, T32Tracer retrieves the latest (16)
trace records from the T32. Memory address and value can now
be evaluated easily from the trace record.

TODO:Nevertheless we still have to traverse the trace to
find the instruction causing the access.
2013-03-21 18:57:46 +01:00
4e8098a636 plugin/tracing: merge full-tracing plugin into generic version
The full-tracing plugin was used in the DSN paper. It additionally
traces the data that was accessed/written on a memory access and the
contents of some CPU registers.

Change-Id: I61f5230699009ce523aba341985b98148160556d
2013-03-21 17:11:51 +01:00
f676a785f8 CMake: Cleanup unnecessary compiler config 2013-03-20 17:15:54 +01:00
bf6affeca3 decouple ecos experiment class definition from instantiation aspect
See 65eb44a746 for an explanation.
2013-03-19 22:30:39 +01:00
b37a475dfd campaign-controlled experiments depend on fail-comm library
An experiment talking to a campaign server via the JobClient/JobServer
interface needs the FailControlMessage.proto compiler to run before the
experiment is compiled.  A dependency on fail-comm ensures this.
2013-03-19 22:21:42 +01:00
b491fe8b7a experiment: generic tracing experiment 2013-03-11 15:29:26 +01:00
f586351e79 T32: Dissassembler to evaluate memory instructions.
For the T32 variant we have to evaluate the memory
access instruction to find out, which memory address
was accessed.

Dissassmbly by OpenOCDs arm_disassembler.hpp/.cc:
- fine for ARM / Thumb1
- needs fixes for Thumb2 :( (currently doing that..)
2013-03-11 12:17:53 +01:00
1fe1dbb3ed util: Added disassembler using objdump tool.
The disassembler disassembles an elf file with
an external objdump tool.
The architecture specific objdump must be configured
via cmake (ARCH_TOOL_PREFIX), e.g. arm-none-eabi- for
arm-none-eabi-objdump.
2013-03-05 21:20:25 +01:00
4686c27d3d ElfReader: Support for Section and Symbol size.
- getSection/getSymbol now returns an ElfSymbol reference.

Searching by address now searches if address is within
symbol address and symbol address + size.
So we can test, if we are *within* a function, object or
section and not only at the start address.
2013-03-04 15:18:52 +01:00
3501050548 T32: FailT32 support for Cortex-M3
Currently working:
 - Connect/Disconnect, Read CPU info
 - CMM Script generation and T32 startup via cmake (make runt32)
 - Read/Write Register, Read Program Pointer
 - Read/Write Memory
 - Single Breakpoint
 - Setting Memory Breakpoint

TODO:
 - Fix mock aspect for T32_GetRam.
 - Fix Thumb2 bit in function addresses from ELFReader
 - Evaluate memory breakpoint hit
2013-03-01 12:47:32 +01:00
31f4117e4b Fiasco.OC bochsrc example
Add an example bochsrc to run Fiasco.OC.
2013-02-23 03:57:34 +01:00
447411da9a T32: Evalute memory map, RangeListener, MemAccess 2013-02-21 12:32:55 +01:00
2c6a4c2d6e T32: Parsing cli options for T32 fail-client
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2108 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-17 17:01:31 +00:00
205c7ec919 T32: Breakpoint test code
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2107 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 23:05:07 +00:00
2e16b8873b T32: Memory access.
Still not tested on real T32.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2105 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 22:05:02 +00:00
39a6415001 T32: Integrated Register read/write calls
* Tested without connected Lauterbach.
  T32_* functions are mocked via aspect.

* New target t32cli, for sending T32 command cia cli. (for testing)

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2103 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 18:06:02 +00:00
7605dfa4c4 wmo-gem5 bugfix: use weather-monitor-gem5 as experiment name in CMakeFile
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2087 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-14 14:45:34 +00:00
b996617a97 ecos_kernel_test: improved dependency check
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2074 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 10:43:03 +00:00
1ce8f0ab12 Refining keso experiment.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2071 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 00:51:28 +00:00
7b7ae8e825 Extended Keso experiment
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2069 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 00:51:22 +00:00
5f2364e1a2 ecos_kernel_test: updates due to architecture changes (ElfReader still NOT working properly)
At the moment, the experiment only works with a hard-coded address for the _stext symbol because the ElfReader cannot extract the symbol's address from the elf-binary. The experiment has been tested locally with PREREQUISITES = 1 and PREREQUISITES = 0. In the latter case, the test only considered the client/server communication, i.e., no FI has been performed at all (NOT tested yet).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2066 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-06 15:39:57 +00:00
287b26a9cf Added experiment for keso paper.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2048 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-01 12:26:40 +00:00
6213cc3462 nanojpeg experiment updated (NOT TESTED)
The loop is running now until undone already fetched jobs are available.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2045 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 16:33:53 +00:00
b8df5d6a11 ecos_kernel_test experiment updated (NOT TESTED)
The loop is running now until undone already fetched jobs are available.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2044 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 16:33:50 +00:00
5182f3855e weather-monitor experiment updated
The loop is running now until undone already fetched jobs are available.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2043 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 16:33:46 +00:00
e76b7b989b fault-coverage fix due to arch. changes
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2035 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:58 +00:00
ec54a1481c fault-coverage: everything is logged to std::cout, now
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2034 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:54 +00:00
bede34d0c9 fault-coverage: intro comment translated
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2033 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:51 +00:00
27128f29ac fire-interrupt fix: no more dbgEnableInstrPtrOutput()
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2031 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:44 +00:00
325844876b mh-test-campaign fix due to arch changes
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2030 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:40 +00:00
f5a1213ce1 checksum-oostubs-fix due to arch. changes (tested)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2029 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:37 +00:00
03138b388a nanojpeg-fix due to recent architecure changes (compiled but not tested)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2028 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:32 +00:00
7588834f41 Added weather-monitor-gem5 experiment, which is a clone of the weather-monitor experiment with only one run per fail* instance.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2026 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-30 23:59:28 +00:00
640f5436cc Bugfix for regression-test experiment
The output of regression-test was cut off. The problem was solved with
a flush before exiting.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2023 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-30 14:58:18 +00:00
55f5d6a051 weather-monitor: changes due to new Fail architecure
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2021 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-24 13:26:26 +00:00
ce9db1fdb3 hsc-simple: experiment should not terminate because we want to see Bochs' output (3 * 3 = 666 :-))
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2016 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-24 10:00:49 +00:00
ff7d2ec076 experiment.cc (weather-monitor) restored
The file was accidentally overwritten during last commit... :/

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2015 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-23 14:32:56 +00:00
00f809231f Code cleanup for commit 1963-1965
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2014 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-23 14:22:05 +00:00
0cbb38d605 VEZS experiment: cleanup.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2013 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-22 10:03:18 +00:00
1ce2cd96be regression-test fixes: use new register access syntax
The golden-run image of the regression test needs to be updated in order to cope with the bugfix for breakpoint events in rep-instructions.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2011 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-17 13:41:27 +00:00
125914a305 BochsRegister.hpp and BochsRegisterIDs.hpp not needed anymore
The includes of these headers have already been removed from the experiments. In the current code, the content of the header BochsRegister.hpp is rather simply copied to x86/Architecture.hpp. It is therefore necessary to revisit the code soon (especially the FIXME related to register IDs).

Another problem is that there is no generalization of register IDs. Thus, all experiments are currently specific to a concrete architecture (which is not desired).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2010 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-17 13:41:23 +00:00
ac7cec7684 ElfReader: Constructor tries to get ELF from ENV FAIL_ELF_PATH
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2002 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-15 12:53:49 +00:00
d721ce7041 Updated the manual
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1999 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-12 14:00:44 +00:00
93387c4eec CiAO example experiment: using ENV variable for elf file
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1994 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-11 15:57:18 +00:00