gem5 build system improved

Encapsulated gem5-specific code into wrapper functions to separate the
build process (Fail: CMake, gem5: scons). Added some gem5-related FIXMEs.

Another CMake related FIXME added. +some cosmetics.

Change-Id: Id84b480127b1f13aed6a0ee97f3583f410d531c5
This commit is contained in:
Adrian Böckenkamp
2013-04-04 17:30:10 +02:00
parent 84559fe467
commit 08febe5819
14 changed files with 252 additions and 123 deletions

View File

@ -4,7 +4,8 @@
#include "../arm/ArmArchitecture.hpp"
#include "../arm/ArmCPUState.hpp"
#include "sim/system.hh"
// gem5 forward declarations:
class System;
namespace fail {
@ -17,6 +18,9 @@ namespace fail {
* while \c ArmCPUState encapsulates the CPU state (e.g. register \a content).
*/
class Gem5ArmCPU : public ArmArchitecture, public ArmCPUState {
private:
unsigned int m_Id; //!< the unique ID of this CPU
System* m_System; //!< the gem5 system object
public:
/**
* Creates a new gem5 CPU for ARM based targets.
@ -60,9 +64,6 @@ public:
* @return the unique ID of \c this CPU object
*/
unsigned int getId() const { return m_Id; }
private:
unsigned int m_Id; //!< the unique ID of this CPU
System* m_System; //!< the gem5 system object
};
typedef Gem5ArmCPU ConcreteCPU; //!< the concrete CPU type for ARM + gem5