Commit Graph

628 Commits

Author SHA1 Message Date
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
5dc0b5a343 gitignore more stuff
... and adjust to new directory hierarchy.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1613 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 07:52:25 +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
ec83ecd645 Example experiment: Minor fix
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1606 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-10 08:15:21 +00:00
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
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
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
hsc
712c674575 wishes++
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1601 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-06 15:07:17 +00:00
hsc
e25b4aeea0 wishlist for ideas/wishes from a user perspective
Please add all kinds of weird ideas, nice-to-haves, or inconveniences (with or
without suggestions on how to deal with them) you experience when using Fail*.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1600 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-06 15:07:13 +00:00
0349f3dfee Fixes, changed experiment to new API
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1596 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-06 08:22:30 +00:00
a9b78c1154 Fixed Listeners
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1595 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-06 08:16:54 +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
058033bbff Tiny example for the ElfReader.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1593 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-05 11:03:58 +00:00
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
chb
8eb7bd129a ecos_kernel_test: take width of memory accesses into account for determining bounds
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1591 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-05 09:05:11 +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
chb
8d2fea7521 ecos_kernel_test: fixed assertion
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1589 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-03 14:01:29 +00:00
chb
b33609ef1d ecos_kernel_test: removed crude workarounds for bugs that have been fixed lately
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1588 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-03 13:14:47 +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
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
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
chb
1e53a7c0de fail*: only start a client if there is a reasonable amount of free memory
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1578 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-28 11:02:41 +00:00
chb
394e10ca6f fail*: redirect output of server to file ... but where?
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1576 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-28 09:26:52 +00:00
chb
dec7e377ee fail*: don't use more cpus than available (more conservative default)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1575 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-28 09:26:49 +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
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
2df24babbb bugfix: missing header BochsRegister.hpp in hsc-simple added (otherwise RID_CAX would be unknown).
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1512 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-27 12:22:20 +00:00
db610b2c5a Bochs- and SimulatorController: class diagram updates.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1511 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-27 12:17:17 +00:00
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
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
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
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
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
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
535af362bc Fail*: class-diagram++
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1499 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-16 14:37:35 +00:00
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
7deb9eda0f regression-test-experiment update
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1497 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-16 12:25:07 +00:00
chb
3e0b39fcc6 use fiws* hosts only when idle
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1495 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-15 13:24:31 +00:00