Files
fail/src/core/sal/SALInst.hpp
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

48 lines
966 B
C++

#ifndef __SAL_INSTANCE_HPP__
#define __SAL_INSTANCE_HPP__
#include "SALConfig.hpp"
#include "config/VariantConfig.hpp"
#ifdef BUILD_BOCHS
#include "bochs/BochsController.hpp"
namespace fail {
typedef BochsController ConcreteSimulatorController; //!< concrete simulator (type)
}
#elif defined BUILD_GEM5
#include "gem5/Gem5Controller.hpp"
namespace fail {
typedef Gem5Controller ConcreteSimulatorController; //!< concrete simulator (type)
}
#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__