a911ebb353
Revert "explicit aspect activation"
...
Unfortunately, this does not (yet) work as advertised. I need to fight another
round of CMake battles before retrying. Reverting to previous state for now.
This reverts r1753.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1767 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-19 09:45:00 +00:00
a29ad39f5e
explicit aspect activation
...
ag++ is now called with a list of currently active aspect headers
(ag++ -a aspect1.ah -a aspect2.ah ...). This resolves several problems at
once:
- Build directories may be positioned arbitrarily now, they need not be
a subdirectory of the project anymore.
- Multiple build directories can coexist within the project tree. Before
this commit, the generated instantiate-*.ah aspect headers disturbed
neighboring build trees.
- Due to this, the regression test should be runnable much more easily
now.
- The build time was reduced by an average of about 10%.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1753 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-17 15:22:23 +00:00
6100472e1b
redundant include
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1746 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-16 16:59:46 +00:00
bfedb10cac
Starting support for Lauterbach T32 HW Debugger
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1740 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-11 15:25:51 +00:00
a00cd492db
Overlooked that two parameters were mixed up
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1738 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-11 14:53:10 +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
6e1a85d3bf
Added single stepping for gem5, which is necessary to periodically check for events like interrupts.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1734 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-10 14:26:50 +00:00
15def480d9
warning-fix in release mode (var not initialized).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1731 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-09 11:10:29 +00:00
171d178309
SimCon interface update: save returns a boolean, now (+ redundant virtual keywords removed).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1724 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 12:12:56 +00:00
0c3568dc2f
CoroutineManager: comment fix (deprecated).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1722 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 11:56:39 +00:00
31aa3aa925
bugfixes in overall coroutine handling to allow the overwriting of onTrigger.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1721 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 11:48:39 +00:00
32de9e174e
Flag initialization is now based on actual simulator-selection.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1720 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 11:44:40 +00:00
4ba6dfa5de
Typo fix.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1719 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-05 11:39:15 +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
0c3d365368
bugfix: Add BochsListener to CMakeLists, workaround for onTimerTrigger
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1717 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-04 15:38:56 +00:00
d1c6ad3469
missing perf/BreakpointBuffer for Gem5
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1716 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-04 15:30:03 +00:00
5b0d53a1ab
do's and don't when overwriting onTrigger + typo-fix.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1715 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-04 14:47:34 +00:00
2a35266ba7
Bugfix WallclockTimer
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1714 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-04 13:26:48 +00:00
28599c99d0
Listener handler revisited (onTrigger toggles the current flow), typo.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1713 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-04 11:28:11 +00:00
2b79e83d72
Make it comile again with CONFIG_FAST_BREAKPOINTS enabled (avoid include cycle, see r1706), set timer id correctly (setId), coding-style + comment fix.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1712 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-04 11:20:31 +00:00
4b8a417eda
Added missing include of Listener.hpp in Gem5Controller.cc
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1709 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-02 12:58:45 +00:00
02279833aa
WallclockTimer updated
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1708 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-02 12:53:33 +00:00
7d49b6f063
Simulator specific listener are now implemented using aspects instead of an additional inheritance level
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1706 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-02 11:42:18 +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
b07fa4dcb7
Listener objects will now be removed when their scope ends.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1700 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-27 09:59:20 +00:00
2c1c3e8f02
TroubleListener::getWatchNumbers() returns a const ref (instead of a copy), now.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1699 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-27 09:40:34 +00:00
00b16ae5d0
(Fail)Bochs bug documented in more detail: TimerListener cannot be added at boot time.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1697 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-27 09:32:32 +00:00
01207617ba
Removed residual m_tStamp member in BaseListener class (see r1637).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1696 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-27 09:25:59 +00:00
38c39c902b
WallclockTimer cleaned
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1695 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-25 17:20:32 +00:00
aa6ac5d119
WallclockTimer updated
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1694 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-25 17:16:22 +00:00
d45965753d
bugfix: handle old clients properly
...
Fix 1: A result message with a nonexistent or invalid run ID must be
ignored in any case. 0 is only OK for NEED_WORK messages, clients
communicating a result must know the ID.
Fix 2: Tell the client the run ID in the first place ...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1692 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-25 16:14:22 +00:00
e55997e614
Removed remove(iterator) (no longer needed), m_remove() simplified.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1688 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-25 12:39:06 +00:00
fb7a7ed849
bugfix: qemu compiles again
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1687 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-25 12:36:42 +00:00
057c216dc0
Removed BufferCache stuff (fast breakpoints will do the job, see r1685).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1686 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-25 11:36:19 +00:00
0cb6b39490
Aspect-based implementation of fast breakpoints added (optional).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1685 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-25 10:10:02 +00:00
7513dacad1
properly deal with clients that talked to another campaign server before
...
A campaign server now tells all clients a unique run ID (the UNIX timestamp
when it was started). This allows us to ignore results from "old" clients
that talked to another server before, and to tell them to die.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1677 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-23 17:28:07 +00:00
63264b8075
WallclockTimer added
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1673 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-21 14:08:10 +00:00
c4899207af
ovp: initialization aspect only enabled if OVP is built
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1641 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-13 21:27:09 +00:00
dc5ce33fc1
qemu: TimerListeners
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1639 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-13 20:08:42 +00:00
4e321409b7
several FIXMEs on virtual BaseListener functions
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1638 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-13 20:08:39 +00:00
15e965febf
BaseListener: remove pointless creation timestamps
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1637 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-13 20:07:00 +00:00
f913d3f1ac
disabling debug output
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1623 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 16:10:38 +00:00
f795bf63c4
qemu: IOPortListener
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1622 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 16:05:18 +00:00
b327b49a4e
qemu: MemoryManager
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1620 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 14:07:19 +00:00
d40113c535
qemu: MemWriteListener specialization
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1619 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 14:07:15 +00:00
a8756f3d0a
listener's data members should be accessible by child classes
...
We could do this via getters/setters, but why bother (for now).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1618 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 14:07:12 +00:00
8cadb3e5c6
bochs: version not hardcoded anymore
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1617 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 14:07:10 +00:00
6223759471
qemu: Fail* startup hook
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1616 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 14:07:07 +00:00
e715149033
first steps towards a QEMU target backend
...
- This commit only enables linking against QEMU. The abstraction layer is
completely dysfunctional at this time.
- QEMU's build system needs to be patched in order to create a static
library. This patch is currently not included in the Fail* repository.
- QEMU's JIT compilation may complicate or even preclude the implementation
of some of Fail*'s backend abstractions. Only a minimal subset (serial
I/O, memory, memory writes, save/restore) is planned for the first phase.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1615 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 14:07:03 +00:00
f9c96ddf2d
prefix internal libraries to avoid naming conflicts with system libraries
...
This is a precaution to avoid current and future naming conflicts with
common system libraries. libutil (part of libc) is the first, but probably
not the last example that already caused trouble twice.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1614 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 07:52:30 +00:00