- 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
48 lines
966 B
C++
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__
|