Commit Graph
702 Commits
Author SHA1 Message Date
Martin Hoffmann 28fc41da65 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Change-Id: I35e86d4b367be395121451a86f2731606f43eeff
2013-03-22 16:51:29 +01:00
Martin Hoffmann 3c349e06f3 Documentation: Cleanup
Doxygen docu is now build in ${PROJECT_BINARY_DIR}/doc.
(and other small changes.)

Change-Id: I3fef910307e104f120c4f770526c800cfd01a41f
2013-03-22 16:18:58 +01:00
Martin Hoffmann f8c974440f CMake: Preconfigured Fail* variants.
Change-Id: I6109fac10b46becab7a5b3afdfa74af155c881d4
2013-03-22 16:10:39 +01:00
Christian DietrichandGerrit Code Review 1e5581644c Merge "tools/import-trace: new tool to import traces into MySQL database" 2013-03-22 11:48:11 +01:00
Christian Dietrich e3c633c248 tools/import-trace: new tool to import traces into MySQL database
The import tool does support the following import strategies:

- BasicImporter: generates def-use equivalence classes for read and
  write memory accesses
- DCiAOKernelImporter: generates equivalence classes for read access in
  the ciao kernel space.

Change-Id: I8960561d3e14dcf5dffa3ff7a59b61a5e8f7e719
2013-03-22 11:41:25 +01:00
Martin Hoffmann cfbd9e9c62 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Conflicts:
	debuggers/t32/src/main.cc
2013-03-21 18:59:22 +01:00
Martin Hoffmann ff2aec5d7e T32SIM: evaluating mem access via trace correctly :) 2013-03-21 18:58:04 +01:00
Martin Hoffmann 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
Martin Hoffmann 957587a314 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 17:59:21 +01:00
Christian DietrichandGerrit Code Review 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
Richard Hellwig cffafa411c Makefile to build the arm bootloader
Change-Id: I865266c93bdab1c01d625a0ef50c4d9a0ccf7ba5
2013-03-21 15:44:06 +01:00
Horst Schirmeier 9882611a8f after-first-checkout: sanity check
Change-Id: I5c806a2bf5506f4415278f7a43ccc80d573df0ce
2013-03-20 17:28:12 +01:00
Martin Hoffmann 96bc39c05d T32 Simulator: Basic Instruction set sim for ARMM3
The T32 can simulate bare instruction sets without periphery.
For the Cortex-M3 we have complete NVIC model including Systick Timer.
Currently a simple CiAO can run on the simulator.

TODO:
 - Let memlogger log all memory accesses.
 - Interact with FailT32 for a complete simulation/FI
2013-03-20 17:17:38 +01:00
Martin Hoffmann f0e26a9b63 Optionparser: Fix for non-Bochs builds. 2013-03-20 17:16:57 +01:00
Martin Hoffmann f676a785f8 CMake: Cleanup unnecessary compiler config 2013-03-20 17:15:54 +01:00
Martin Hoffmann 739a62c60b Optionparser: FAILS for non-bochs builds!
bx_startup_flags are only present in a bochs build!
2013-03-20 16:07:02 +01:00
Martin Hoffmann 3953a567fa Git/Gerrit: Added helpoer script for gerrit
Change-Id: Ib39efabf88a82534c69a29181fbe7de82cf669a7
2013-03-20 14:22:50 +01:00
Horst Schirmeier 7489f75fb5 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail 2013-03-19 22:32:49 +01:00
Horst Schirmeier 4e21fbc97a cmake: bochs{,all}clean targets don't fail even if stamp file doesn't exist 2013-03-19 22:32:12 +01:00
Horst Schirmeier a2554bfc49 cmake: more "advanced" library variables hidden in configuration tool 2013-03-19 22:31:18 +01:00
Horst Schirmeier bf6affeca3 decouple ecos experiment class definition from instantiation aspect
See 65eb44a746 for an explanation.
2013-03-19 22:30:39 +01:00
Horst Schirmeier 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
Adrian Böckenkamp 96ac7494e0 Moved get*Flag() methods from BochsCPU to X86CPUState class 2013-03-19 13:43:50 +01:00
Adrian Böckenkamp 794466d7d7 ~Gem5Controller() should delete it's MemoryManager object 2013-03-19 13:39:18 +01:00
Adrian Böckenkamp f844eb0e98 Rename GenericTimerEvent -> TimerEvent 2013-03-19 13:37:18 +01:00
Horst Schirmeier c565684dcd corrected README on imported SVN revisions 2013-03-15 10:54:17 +01:00
Horst Schirmeier eb17e9ef82 core/sal: move command-line parameter passing to SC::startup() 2013-03-14 22:29:43 +01:00
Horst Schirmeier 422db3e21d core/util: indirection to CommandLine class added to make bochs compile
If CommandLine.hpp and (indirectly) optionparser.h is #included in
FailBochsInit.ah, bochs compilation fails (for, e.g., gui/x.cc, at least
on Debian 6).
2013-03-14 18:13:13 +01:00
Horst Schirmeier 06c02e2fa1 cmake/Bochs: build with cmake 2.8.2 again
add_dependencies() works for IMPORTED libraries only with cmake 2.8.4 or
newer.  This workaround makes it work with Debian 6's cmake 2.8.2 again.
2013-03-14 18:10:17 +01:00
Christian Dietrich b491fe8b7a experiment: generic tracing experiment 2013-03-11 15:29:26 +01:00
Christian Dietrich ad3c185b61 core/util: Added CommandLine interface (for bochs) 2013-03-11 15:29:26 +01:00
Christian Dietrich c1f32f5a98 ElfReader: add some convenience functions 2013-03-11 15:29:25 +01:00
Martin Hoffmann 532ec87b27 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Conflicts:
	debuggers/t32/src/main.cc
2013-03-11 12:18:49 +01:00
Martin Hoffmann 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
Martin Hoffmann 1905b4edc4 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-08 16:33:02 +01:00
Martin Hoffmann 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
Martin Hoffmann 010137cf54 T32: Updated to recent T32 API. 2013-03-05 17:29:48 +01:00
Martin Hoffmann 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
Martin Hoffmann 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
Martin Hoffmann 5481cbfd39 T32: Default startup scripts for ARM Cortex-M3 2013-02-28 13:03:36 +01:00
Bjoern Doebel 31f4117e4b Fiasco.OC bochsrc example
Add an example bochsrc to run Fiasco.OC.
2013-02-23 03:57:34 +01:00
Martin Hoffmann a382057aad Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Conflicts:
	debuggers/t32/include/T32Connector.hpp
	debuggers/t32/src/T32Connector.cc
2013-02-21 12:37:37 +01:00
Martin Hoffmann 447411da9a T32: Evalute memory map, RangeListener, MemAccess 2013-02-21 12:32:55 +01:00
Martin Hoffmann 6ca8b5af4b T32: Evalute memory map, RangeListener, MemAccessL 2013-02-17 21:41:30 +01:00
Martin Hoffmann e66ae5e691 Merge remote-tracking branch 'svnrepo/master' 2013-02-17 18:26:18 +01:00
hoffmann 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
Martin HoffmannandGerrit Code Review 9048a212ac Initial empty repository 2013-02-17 17:53:13 +01:00
hoffmann 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
hoffmann 6761268d93 T32: Added BPSingle, central T32 specific api constants
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2106 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 23:05:04 +00:00
hoffmann 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