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
This commit is contained in:
hsc
2012-09-12 14:07:03 +00:00
parent f9c96ddf2d
commit e715149033
16 changed files with 395 additions and 22 deletions

View File

@ -9,21 +9,7 @@
#include "bochs/BochsController.hpp"
namespace fail {
typedef BochsController ConcreteSimulatorController; //!< concrete simulator (type)
extern ConcreteSimulatorController simulator; //!< the global simulator-controller instance
}
#elif defined BUILD_OVP
#include "ovp/OVPController.hpp"
namespace fail {
typedef OVPController ConcreteSimulatorController; //!< concrete simulator (type)
extern ConcreteSimulatorController simulator; //!< the global simulator-controller instance
}
#elif defined BUILD_GEM5
@ -31,14 +17,31 @@ extern ConcreteSimulatorController simulator; //!< the global simulator-controll
#include "gem5/Gem5Controller.hpp"
namespace fail {
typedef Gem5Controller ConcreteSimulatorController; //!< concrete simulator (type)
extern ConcreteSimulatorController simulator; //!< the global simulator-controller instance
}
#elif defined BUILD_OVP
#include "ovp/OVPController.hpp"
namespace fail {
typedef OVPController ConcreteSimulatorController; //!< concrete simulator (type)
}
#elif defined BUILD_QEMU
#include "qemu/QEMUController.hpp"
namespace fail {
typedef QEMUController ConcreteSimulatorController; //!< concrete simulator (type)
}
#else
#error SAL Instance not defined
#endif
namespace fail {
extern ConcreteSimulatorController simulator; //!< the global simulator-controller instance
};
#endif // __SAL_INSTANCE_HPP__