014684ae1c
L4Sys: check Bochs AS ID for mem accesses, too
...
Change-Id: Ifa2b38dc0e762ff4f956dc0b98c78b43f0d139cb
2013-09-12 20:29:08 +02:00
ff19bec52d
L4Sys: some bug fixes
...
* Fowler's Law of Refactoring: Have test cases available.
* BjoernD's Corollary to Fowler's Law: Use these tests!
Change-Id: I3d3e48ffe08209891c6204655323cd26a0eaaebd
2013-09-12 18:19:04 +02:00
b7d03f64d4
docs
...
Change-Id: Ic46dfc6c59c7bee796c2e3e8e97376859391b342
2013-09-11 18:02:03 +02:00
560860cb99
L4Sys: consult instruction list for breakpoints
...
Change-Id: Ic8163cc84bad9b0074a9d6489127d0ef09eb3c21
2013-09-11 18:02:03 +02:00
8caa63397a
L4Sys: refactoring
...
* more more stuff into functions
* try to have generic experiment code only once
Change-Id: I4f037bd972243665a10941fcc3607f015b0bb1f9
2013-09-11 18:02:02 +02:00
0b2ab41c2f
first working mem experiment
...
Change-Id: I928ee0c38f12f6dfe3f661ee60cccad11f35ad6a
2013-09-11 18:02:02 +02:00
20a9904032
start memory experiment
...
Change-Id: Ice7921a02f899c7381d15ead10b27e21df7019fb
2013-09-11 18:02:02 +02:00
60bf0bae69
L4Sys: uhoh -> build fix
...
Change-Id: I9b3f9bdc961d03e49965230f9a5222d4103c94c5
2013-09-10 11:58:23 +02:00
0c0f19fbcb
L4Sys: also trace memory accesses
...
Change-Id: I20d8fea1f0f6cfee42804296515e50fdabf12f81
2013-09-10 11:54:05 +02:00
1ca9cb4a52
L4Sys: adapt to DatabaseCampaign
...
Change-Id: Ia4912e7a74afccb51f6d704830a2d9c5b5c0159a
2013-08-30 16:06:15 +02:00
2a06b97480
Adjust instruction tracing
...
write a trace file that can be input to the *-trace FAIL tools
Change-Id: Iaa13fab5bcba86f3d940831d9ea583a458998191
2013-08-28 10:16:13 +02:00
674af5fd00
Separate boundaries for output tracing and injection
...
* L4SYS_FUNC_{ENTRY,EXIT} now determines the range upon
which an experiment is run. These instructions produce the
output that is relevant for the experiment.
* L4SYS_FILTER_{ENTRY,EXIT} determine a subset of the
above instructions. FI experiments are performed on this
subset (between first occurrence of FILTER_ENTRY and first
occurrence of FILTER_EXIT inclusively).
Change-Id: I37d2189d8256b6b707a0a33984f2b2656071d983
2013-08-27 20:34:57 +02:00
10420938d2
Rework instruction filtering
...
Add a new instruction filter that allows filtering a list of
ranges read from a file. This allows us to specify multiple
ranges, e.g., to leave out instructions or to focus on multiple
functions
Change-Id: Iba13cda00d0a73edaef270b3cd9100afe3e4668b
2013-08-27 11:26:27 +02:00
da7f9caf64
L4-sys refactoring
...
move preparation steps into separate functions
Change-Id: I4930ec38f003302596f215a08cd8bf455f525571
2013-08-27 10:02:38 +02:00
ed772429f9
L4Sys: fix use of L4SYS_NUMINSTR
...
* L4SYS_NUMINSTR counts the instructions that were selected for
injection and is used by the campaign server to generate experiments
* L4SYS_TOTINSTR counts the total number of instructions executed.
It is used by the experiment to determine the timeout value.
Change-Id: Ibf37aea2a1f5ad5afad2b1232ce22fe070b08490
2013-08-09 14:59:45 +02: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
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
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
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
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
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
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
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
6d340113cd
The pointer structure caused weird server errors, so I will
...
only maintain it for the methods to avoid unnecessary parameters.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1936 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 11:11:43 +00:00
4db7272e5f
Two minor bugfixes
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1935 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-20 09:58:44 +00:00
1b5bbba0e5
Handled a kind of wicked error case which nevertheless happens quite frequently
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1917 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-11 11:37:08 +00:00
cb3775b290
Ensuring parsability in case of exceptions
...
by removing unnecessary newline characters
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1874 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-01 13:28:52 +00:00
1423fb93dd
Removed instruction vector to reduce memory consumption
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1873 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-11-01 09:23:45 +00:00
ccc4aca728
Forgot to cast the type
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1866 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-30 11:09:59 +00:00
22634f6103
Minor bugfix
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1865 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-30 10:59:27 +00:00
7ae8b6b09d
Introduces instruction filtering, e.g. to filter for kernel instructions
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1864 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-30 09:14:33 +00:00
5f0212aced
Removed unnecessary debugging elements
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1744 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-14 08:46:39 +00:00
111cf2dc97
Bugfix for ALUInstr
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1743 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-13 22:02:09 +00:00
765a2326e3
Fixes the address space recognition which was broken by accident,
...
and cleans up the nomenclature to avoid future mistakes.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1737 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-11 14:27:41 +00:00
b15f5d79ac
Handles a bound I forgot
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1735 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-11 10:51:07 +00:00
4d48e0207e
Some improvements in the UDIS86 wrapper
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1730 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-08 08:33:28 +00:00
6d4a8cad6b
Update the instruction pointer in RATFlip
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1729 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-07 21:07:13 +00:00
ba2c0bb83f
Corrected several bugs in RATFlip
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1728 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-07 19:36:31 +00:00
225db6865e
Restore state before 2nd preparation step
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1725 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 13:22:00 +00:00
37f030b9a3
Enhanced logging in ALUInstr
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1723 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 12:02:39 +00:00
42a75fa128
Documentation / corrected Bochs timer
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1718 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 09:41:41 +00:00
8a902d2b50
Some Bugfixes
...
ALUInstr should work now
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1710 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-03 15:02:22 +00:00
fd102c01ea
Important bugfix: passing the instruction cache entry pointer
...
does not account for arrays of instructions provided
by one virtual instruction trace cache entry ->
passing the current instruction directly.
ALUInstr not yet completely tested.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1704 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-01 17:51:34 +00:00
036aa95d4f
Minor improvements in L4Sys
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1594 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-05 11:58:33 +00:00
ea1c9f5716
First steps to integrate the fourth experiment type, still debugging
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1587 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-02 17:17:39 +00:00
d9b24a7c60
Changes I made in the l4-sys experiment recently, plus one minor style fix
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1584 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-01 16:05:22 +00:00