fail: modifications for pandaboard support

Change-Id: I52d3c9b9862b206a000394c45126f0afdfee081f
This commit is contained in:
Lars Rademacher
2013-10-21 02:15:30 +02:00
parent 749631e21c
commit db0b82daca
8 changed files with 41 additions and 1 deletions

View File

@ -39,6 +39,7 @@ OPTION( BUILD_BOCHS "Build Bochs Variant?" ON)
OPTION( BUILD_GEM5 "Build gem5 Variant?" OFF)
OPTION( BUILD_QEMU "Build QEMU Variant?" OFF)
OPTION( BUILD_T32 "Build Lauterbach Trace32 Variant?" OFF)
OPTION( BUILD_PANDA "Build Pandaboard ES + Flyswatter2 Variant?" OFF)
OPTION( BUILD_X86 "Build for x86 guests?" ON)
OPTION( BUILD_ARM "Build for ARM guests?" OFF)
@ -59,6 +60,8 @@ elseif(BUILD_T32)
include_directories(debuggers/t32/include src/core)
add_subdirectory(debuggers/t32)
add_subdirectory(scripts/t32cmm)
elseif(BUILD_PANDA)
include_directories(debuggers/openocd/src debuggers/openocd/jimtcl src/core)
endif(BUILD_BOCHS)
## Tell the linker where to find the Fail* libraries
@ -79,4 +82,5 @@ include(bochs)
include(gem5)
include(qemu)
include(t32)
include(panda)

View File

@ -9,6 +9,7 @@ set(PROTOS
FailControlMessage.proto
DatabaseCampaignMessage.proto
TracePlugin.proto
HopChain.proto
)
#### PROTOBUFS ####

View File

@ -5,6 +5,7 @@
#cmakedefine BUILD_GEM5
#cmakedefine BUILD_QEMU
#cmakedefine BUILD_T32
#cmakedefine BUILD_PANDA
#cmakedefine T32_MOCK_API
#cmakedefine BUILD_X86

View File

@ -57,6 +57,26 @@ elseif(BUILD_T32)
arm/ArmDisassembler.cc
)
endif(BUILD_ARM)
elseif(BUILD_PANDA)
include_directories(${PROJECT_SOURCE_DIR}/debuggers/openocd)
set(SRCS
CPU.cc
CPUState.cc
Listener.cc
ListenerManager.cc
SALConfig.cc
Register.cc
SimulatorController.cc
panda/PandaController.cc
panda/PandaArmCPU.cc
panda/PandaListener.cc
)
if(BUILD_ARM)
set(SRCS ${SRCS}
panda/PandaArmCPU.cc
arm/ArmArchitecture.cc #why is this necessary?
)
endif(BUILD_ARM)
endif(BUILD_BOCHS)
if(BUILD_X86)

View File

@ -18,6 +18,9 @@
#else
#error Active config currently not supported!
#endif
#elif defined BUILD_PANDA
#include "panda/PandaConfig.hpp"
#include "panda/PandaArmCPU.hpp"
#else
#error SAL Config Target not defined
#endif

View File

@ -5,7 +5,8 @@ namespace fail {
// Flag initialization depends on the current selected simulator
// (For now, the initialization values are all the same):
#if defined BUILD_BOCHS || defined BUILD_GEM5 || \
defined BUILD_T32 || defined BUILD_QEMU
defined BUILD_T32 || defined BUILD_QEMU || \
defined BUILD_PANDA
const address_t ADDR_INV = static_cast<address_t> (0);
const address_t ANY_ADDR = static_cast<address_t> (-1);
const unsigned ANY_INSTR = static_cast<unsigned> (-1);

View File

@ -14,6 +14,8 @@
#include "qemu/QEMUConfig.hpp"
#elif defined BUILD_T32
#include "t32/T32Config.hpp"
#elif defined BUILD_PANDA
#include "panda/PandaConfig.hpp"
#else
#error SAL Config Target not defined
#endif

View File

@ -36,6 +36,14 @@ namespace fail {
typedef T32Controller ConcreteSimulatorController; //!< concrete simulator (type)
}
#elif defined BUILD_PANDA
#include "panda/PandaController.hpp"
namespace fail {
typedef PandaController ConcreteSimulatorController; //!< concrete simulator (type)
}
#else
#error SAL Instance not defined