Commit Graph
304 Commits
Author SHA1 Message Date
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
adrian 9a23dbbb42 comments and coding-style fixed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1498 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-16 14:26:11 +00:00
hsc da31e3edc4 events: comments, whitespace
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1468 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-02 09:03:23 +00:00
friemel c30011fc01 Gem5 is now linked against fail (not fully working)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1466 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-01 16:40:16 +00:00
adrian 6b540d738c event data outsourced, SAL config flags revised, tiny coding-style fixes.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1462 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-30 13:39:25 +00:00
adrian adb2bf2787 Comments + Coding-Style fixed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1461 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-30 13:34:52 +00:00
friemel c06565aa4e Basic SAL files and makefile modifications for adding gem5.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1457 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-17 15:35:29 +00:00
hsc ef45841b91 MemAccess aspect: only save rmw_address if MEMREAD/MEMWRITE is enabled
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1456 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-16 18:21:09 +00:00
hsc e4570d95bd Bochs aspects -> BochsController interface renamings
SimulatorController::on...Listener() does not really make sense: These
functions are called when a specific event occurs in the simulator.  A
"Listener" cannot occur.  Renaming these to "on..." for now; we could
alternatively use "on...Event" later.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1455 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-16 18:21:06 +00:00
hsc b245327b7e adding interval matching to memory-access listeners
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1454 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-16 18:21:03 +00:00
hsc 1a339c1814 typos
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1453 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-16 18:20:57 +00:00
adrian 2076d21e61 Experiment updates due to last commit.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1449 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-12 10:45:39 +00:00
adrian a78911702a Events -> Listeners, waitAny -> resume, addEventAndWait -> addListenerAndResume, ... (refactoring), updated experiments/plugin accordingly, coding-style fixed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1448 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-12 10:37:54 +00:00
adrian e4a60e8408 Removed internal (event-)ID stuff (no need for ID's ATM).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1445 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-11 11:46:11 +00:00
hsc 13d5e4dbeb Bochs-modifying aspect: never abort/ask the user on what to do
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1428 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-05 16:31:14 +00:00
chb 48a83137fa FAIL: Typo in sal/Register.hpp
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1425 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-05 14:37:34 +00:00
adrian 74c4f1cfd1 Typos + Coding-Style fixed, TODO revisited.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1422 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-04 11:25:26 +00:00
adrian 8d8a472569 Added missing doxygen comments.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1419 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-04 08:29:20 +00:00
hsc ababa48fd7 reboot (and interrupt injection?) are also async_events
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1411 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 13:26:58 +00:00
hsc 765c5f6985 fix restore() in case no "natural" async_events occur
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1410 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 12:38:24 +00:00
hsc 4a4b3ea7e2 FailBochs build process reversed
The FailBochs client is not linked by the Bochs build system anymore, but
by our cmake scripts (make fail-client):
 -  All Bochs libraries are merged into libfailbochs.a (a new target
    within the Bochs Autotools scripts).
 -  The previous libfail.a is *not* a merge of all Fail* libraries anymore,
    but pulls these in via library dependencies.

Additionally I did a lot of build system cleanup, e.g. additional external
libraries may now be pulled in where they're needed.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1390 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-29 22:22:41 +00:00
adrian fe915e7d52 ++coding-style.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1388 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-27 11:27:06 +00:00
adrian ac5dee6549 Renamed EventList -> EventManager (refactoring).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1387 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-27 11:15:42 +00:00
adrian 1dd7f40e30 ++coding-style.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1386 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-27 07:56:41 +00:00
unzner 58822b02f3 Some improvements on L4, and correcting a mistake made in revision 1361 (see mailing list).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1377 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-21 14:19:21 +00:00
adrian d143d6ae50 EvendId -> event_id_t (refactoring).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1370 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-21 11:18:38 +00:00
adrian ad0cfb9b11 Pre-/postprocessing is done within the event objects (Bochs-specific event added), ++coding-style.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1366 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-21 10:47:22 +00:00
adrian 5effe564f0 ++coding-style
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1365 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-21 10:39:05 +00:00
adrian 127a25707f coding-style improved.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1364 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-20 08:42:58 +00:00
unzner bff60aeae3 Additionally passing the current Bochs CPU context and instruction cache entry to BochsController (enables detailed instruction analysis and modification)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1361 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-15 16:39:14 +00:00