unzner
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
adrian
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
adrian
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
adrian
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
adrian
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
hellwig
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
hellwig
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
hsc
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
adrian
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
hsc
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
adrian
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
adrian
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
hsc
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
hellwig
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
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
hsc
2fed94ae49
global interrupt_to_fire seems not to be Bochs-specific at the moment
...
FIXME: This shouldn't be a global variable (probably a SimulatorController
member?). Reconsider interrupt generation being part of the generic
interface.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1612 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-11 17:10:11 +00:00
hsc
4f18dd945e
MemoryController: guestToHost should not be part of the abstract iface
...
Not all backends have their memory mapped to a Fail*-accessible address.
Especially hardware targets can only be accessed indirectly.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1611 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-11 17:10:08 +00:00
hsc
e24099d4a8
Bochs aspects: check for BUILD_BOCHS everywhere
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1610 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-11 17:10:04 +00:00
hsc
10d0344505
typos
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1609 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-11 17:10:00 +00:00
hsc
a77a2aa55f
build system cosmetics: backends reordered
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1608 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-11 17:09:56 +00:00
friemel
918eb94523
Removed unnecessary commented out code from previous commit.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1605 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-07 22:39:54 +00:00
friemel
1403fa3828
Step 1 from experiment hsc-simple is now working with gem5
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1604 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-07 22:35:52 +00:00
friemel
402ca4ec45
Added mechanism to specialize listener + basic BPSingleListener for gem5
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1603 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-07 00:57:05 +00:00
hsc
8ca5893b69
bugfix: config header missing in save/restore/BP aspects
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1602 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-06 18:14:19 +00:00
hoffmann
63a41c7d67
Elf file reader.
...
Reads the symbols of all sections and provides
addresses to functions and data objects.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1592 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-05 11:03:29 +00:00
hsc
e56918e40e
centralized and cmake-based campaign server+port config
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1590 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-04 13:57:01 +00:00
hsc
f992f53d5d
spacing
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1585 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-02 10:17:00 +00:00
unzner
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
hsc
cfddb311f6
simulator.resume() should resume even if no listeners active
...
The experiment developer has full control over the number of active
listeners. simulator.resume() therefore should resume simulation even if
it won't ever return.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1574 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-28 09:06:50 +00:00
friemel
56a7c2b57b
Fixed linking problems for gem5:
...
- The right libutil is now used
- Static libraries from Fail* are now surrounded by --start-group and --end-group
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1513 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-27 20:34:31 +00:00
adrian
9588a30f5b
Interface unification: BochsController implements onBreakpoint() instead of onInstrPtrChanged().
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1510 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-27 12:09:45 +00:00
adrian
36e4a77b4e
SimulatorController.cc: Tiny code simplification.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1509 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-27 12:00:26 +00:00
adrian
55e8db971c
BP: Address space member (cr3 reg) should be part of the event (not of the listener).
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1508 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-27 11:58:27 +00:00
hsc
a22ab1744c
bugfix: Bochs reboot results in invalid CPU state
...
Bochs' CPU loop hook is not the right place to trigger a reboot; the EIP
increment soon thereafter leaves the CPU in an invalid state:
00194392696e[CPU0 ] prefetch: EIP [00010000] > CS.limit [0000ffff]
00194392698e[CPU0 ] prefetch: EIP [00010000] > CS.limit [0000ffff]
00194392700e[CPU0 ] prefetch: EIP [00010000] > CS.limit [0000ffff]
...
Instead, do it where the "reboot" button also does it -- synchronously in a
timer handler.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1507 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-27 11:30:06 +00:00
friemel
ca17c793e7
Fail* now builds with hsc-simple as experiment for gem5.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1503 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-22 14:20:26 +00:00
hsc
15b5235987
virtual inheritance unnecessary here
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1502 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-22 11:06:46 +00:00
adrian
0f498627c7
typo-fix.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1501 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-21 11:15:20 +00:00
adrian
735133d72b
bugfix: Jump event attribute assignment.
...
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1500 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-21 11:08:06 +00:00