Commit Graph
695 Commits
Author SHA1 Message Date
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
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
hoffmann d86d18bced T32: Code cleanup.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2104 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 22:05:00 +00:00
hoffmann 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
hoffmann a7e5d2373f cmake/Bochs: Integrated Bochs configure into CMake
Bochs' configure options can now be set via ccmake.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2102 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 12:34:19 +00:00
hoffmann 425b6e3129 cmake: CMake-style look for VGA lib.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2101 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 12:34:16 +00:00
adrian 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
adrian bf9e111b9f no need for a separate fillRegisterList() method(only called once)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2086 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-14 14:45:30 +00:00
adrian e81517645f doc for X86CPUState added, FIXME removed
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2085 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-14 14:45:26 +00:00