Commit Graph

578 Commits

Author SHA1 Message Date
2c3996344e Updated the class diagram
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1992 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-09 22:12:24 +00:00
f936b77083 Fixed a bug in ALUInstr and improved logging for RATFlip
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1991 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-08 09:26:11 +00:00
e3bf62aa67 Cleaned up campaign source code
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1989 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-24 15:26:36 +00:00
2547021e5d - introduced improved logging in RATFlip
- adapted the manual
- centralised output conversion


git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1988 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-24 12:55:20 +00:00
5b07b4d312 Adapted experiment to new framework
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1987 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-22 19:33:50 +00:00
02c27b58c6 Removed narrowing conversion
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1986 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-22 18:30:50 +00:00
4051c0f4e9 ElfReader: Added support for de/mangled symbols
See vezs-example experiment for usage.



git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1985 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-21 12:12:25 +00:00
e5323abcf9 Preparing CiAO experiments
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1984 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-20 22:37:29 +00:00
5a3a66da25 Reverse search getNameByAddress.
Implemented with the help of boost bimap.



git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1983 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-20 22:06:46 +00:00
f8aa1237e9 Make FailBochs compile again (after changes in r1966).
For now, only breakpoints are working. Other event sources need to be revised, too.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1981 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:43 +00:00
2010d4c385 Created default x86 CPU interface classes.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1980 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:39 +00:00
d019f64bf5 Export Bochs 64 bit ability (if enabled).
This is required to add the architecture-dependent registers.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1979 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:35 +00:00
bc0da74104 ArmArchitecture: improve destructor speed by calling clear() instead of erase().
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1978 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:32 +00:00
692172a164 ArmArchitecture: set ARM register names (textual ddescription) as well.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1977 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:28 +00:00
d3ccc75269 ArmCPUState: no need to repeat abstract method declarations
(...if they have already been defined in the base class).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1976 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:24 +00:00
9f53d3348b SimulatorController: no need for return type bool of addCPU().
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1975 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:21 +00:00
25f75b299c coding style fixed, some FIXMEs and comments added.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1974 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:17 +00:00
fb4ba0b104 hsc-simple: modifications due to architecure changes in r1966.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1973 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-12 13:08:12 +00:00
4189871920 coding-style++
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1972 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-11 15:14:34 +00:00
0799d5dcf1 Fixed include name
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1971 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-06 21:22:51 +00:00
378cabd996 Updated the manual, corrected some terms and found a bug
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1970 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-06 14:47:42 +00:00
2b36678737 Separated Architecture and CPUState classes for ARM/Gem5 (*Architecture will be used in the campaign).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1969 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-05 13:05:24 +00:00
b981fdcfea coding style++
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1968 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-05 12:40:34 +00:00
35753cd075 coding style++, some TODOs added.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1967 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-05 12:27:17 +00:00
b052c0494b Architecture changes (only gem5 implementation right now):
- The register manager is gone. It's functionality is now encapsulated in the
  CPU classes.
- For the client, there is the ConcreteCPU class that encapsulates the access
  to the CPU state (including registers) and architecture details. The
  correspondig objects for the CPUs inside the simulator can be accessed
  through the SimulatorController.getCPU() function.
- Listener got a new ConcreteCPU* member to filter for which CPU the events
  should fire. The default NULL is used as wildcard for all aviable CPUs. The
  events respectively got a ConcreteCPU* member to indicate which CPU really
  fired the event.
- For the server, there is CPUArchitecture to access the architecture details.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1966 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-02 17:50:46 +00:00
fc1d21fe53 Bugfix for server-client communication
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1965 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-30 18:13:13 +00:00
c689c159fb Bugfix of overloaded << operator
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1964 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-30 16:50:06 +00:00
d7842c2ad7 The Jobclient can get several jobs with one request
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1963 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-30 16:50:02 +00:00
da3b2b8253 Adding some documentation
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1962 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-28 14:02:21 +00:00
hsc
87ee9df37b ecos: additional burst fault model
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1961 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-27 17:06:32 +00:00
hsc
5fe61e0f3f ecos: cosmetics
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1960 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-27 17:06:29 +00:00
e130c204aa the injection offset in IDCFlip is now completely left aligned
(instead of bytewise left aligned and bitwise right aligned)


git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1959 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-27 16:59:05 +00:00
158ac496fe Adapted comment to the new TimerListener interface
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1957 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-24 09:48:31 +00:00
1b9583aede Now the names of the experiments will be consistent with my written work
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-24 09:37:38 +00:00
hsc
5135c79c05 TimerListener: microsecond granularity (ms is too coarse)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1952 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-23 15:35:08 +00:00
hsc
b9fcba33ac imported gzstream library (C++ zlib wrapper)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1951 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-23 15:35:04 +00:00
hsc
c65c4936ab ecos: compress traces
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1950 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-23 15:33:27 +00:00
ee24acd085 Forgot something
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1949 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-22 20:38:50 +00:00
86fd2abede Completed the terminate() method
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1948 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-22 20:36:31 +00:00
431678eabf Bugfix in the server, so the destructor now works
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1947 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-21 15:02:47 +00:00
hsc
dfe4a5d4c0 ecos: split campaign into job producer and consumer
When we want to use a bounded job queue, job producer and job consumer must
run in different threads in order not to deadlock the campaign.  Ideally
this functionality moves to the CampaignManager later (including the
retrieval of existing experiment results and storing new results).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1946 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:02:01 +00:00
hsc
127161ef5a bounded job queue (configurable, unbounded by default)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1945 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:58 +00:00
hsc
a26a155f0c SynchronizedQueue: optional upper bound
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1944 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:55 +00:00
hsc
e409ae2f76 JobServer: synchronization issues
Synchronize re-sending jobs in sendPendingExperimentData() and modifying
(or indirectly, via getDone() and the campaign, deleting) jobs in the
m_runningJobs queue.

a) sendPendingExperimentData needs an intact job to serialize and send it.
b) After moving the job to m_doneJobs, it may be retrieved and deleted
   by the campaign at any time.

Additionally, receiving a result overwrites the job's contents.  This
already may cause breakage in sendPendingExperimentData (a).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1943 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:52 +00:00
hsc
1d498a516b JobServer: do not try to talk to a dying minion
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1942 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:49 +00:00
hsc
fa1875e2f2 #cmakedefine does not make sense for non-binary configuration options
For example,

 #cmakedefine CLIENT_RETRY_COUNT @CLIENT_RETRY_COUNT@

undefines CLIENT_RETRY_COUNT if the value is set to 0 (which evaluates to
"false" in cmake).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1941 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:46 +00:00
hsc
35026de2d8 ecos: use multiple intermediate states to speed up experiments (disabled)
This modification creates and uses multiple intermediate snapshot states
(one every 1,000,000 instructions) to fast-forward to the FI site.
Unfortunately this doesn't work yet; the trace seems to change in many (not
all!) cases we do this.  One possible cause could be an incorrect
(off-by-one or alike?) restoration of the serial device timers, and
therefore an earlier/later transition to "output buffer empty", resulting
in eCos' serial putc function needing a different amount of polling loop
iterations.  Needs more investigation.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1940 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:43 +00:00
hsc
041746741d ecos: include variant and benchmark in job info
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1939 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:40 +00:00
hsc
20fc14e6b3 ecos: result merging repaired
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1938 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 15:01:37 +00:00
a1e99f9004 Pointers back in - this solution seems to work for now
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1937 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 13:25:59 +00:00