fail: modifications for pandaboard support
Change-Id: I52d3c9b9862b206a000394c45126f0afdfee081f
This commit is contained in:
@ -39,6 +39,7 @@ OPTION( BUILD_BOCHS "Build Bochs Variant?" ON)
|
|||||||
OPTION( BUILD_GEM5 "Build gem5 Variant?" OFF)
|
OPTION( BUILD_GEM5 "Build gem5 Variant?" OFF)
|
||||||
OPTION( BUILD_QEMU "Build QEMU Variant?" OFF)
|
OPTION( BUILD_QEMU "Build QEMU Variant?" OFF)
|
||||||
OPTION( BUILD_T32 "Build Lauterbach Trace32 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_X86 "Build for x86 guests?" ON)
|
||||||
OPTION( BUILD_ARM "Build for ARM guests?" OFF)
|
OPTION( BUILD_ARM "Build for ARM guests?" OFF)
|
||||||
@ -59,6 +60,8 @@ elseif(BUILD_T32)
|
|||||||
include_directories(debuggers/t32/include src/core)
|
include_directories(debuggers/t32/include src/core)
|
||||||
add_subdirectory(debuggers/t32)
|
add_subdirectory(debuggers/t32)
|
||||||
add_subdirectory(scripts/t32cmm)
|
add_subdirectory(scripts/t32cmm)
|
||||||
|
elseif(BUILD_PANDA)
|
||||||
|
include_directories(debuggers/openocd/src debuggers/openocd/jimtcl src/core)
|
||||||
endif(BUILD_BOCHS)
|
endif(BUILD_BOCHS)
|
||||||
|
|
||||||
## Tell the linker where to find the Fail* libraries
|
## Tell the linker where to find the Fail* libraries
|
||||||
@ -79,4 +82,5 @@ include(bochs)
|
|||||||
include(gem5)
|
include(gem5)
|
||||||
include(qemu)
|
include(qemu)
|
||||||
include(t32)
|
include(t32)
|
||||||
|
include(panda)
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ set(PROTOS
|
|||||||
FailControlMessage.proto
|
FailControlMessage.proto
|
||||||
DatabaseCampaignMessage.proto
|
DatabaseCampaignMessage.proto
|
||||||
TracePlugin.proto
|
TracePlugin.proto
|
||||||
|
HopChain.proto
|
||||||
)
|
)
|
||||||
|
|
||||||
#### PROTOBUFS ####
|
#### PROTOBUFS ####
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
#cmakedefine BUILD_GEM5
|
#cmakedefine BUILD_GEM5
|
||||||
#cmakedefine BUILD_QEMU
|
#cmakedefine BUILD_QEMU
|
||||||
#cmakedefine BUILD_T32
|
#cmakedefine BUILD_T32
|
||||||
|
#cmakedefine BUILD_PANDA
|
||||||
#cmakedefine T32_MOCK_API
|
#cmakedefine T32_MOCK_API
|
||||||
|
|
||||||
#cmakedefine BUILD_X86
|
#cmakedefine BUILD_X86
|
||||||
|
|||||||
@ -57,6 +57,26 @@ elseif(BUILD_T32)
|
|||||||
arm/ArmDisassembler.cc
|
arm/ArmDisassembler.cc
|
||||||
)
|
)
|
||||||
endif(BUILD_ARM)
|
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)
|
endif(BUILD_BOCHS)
|
||||||
|
|
||||||
if(BUILD_X86)
|
if(BUILD_X86)
|
||||||
|
|||||||
@ -18,6 +18,9 @@
|
|||||||
#else
|
#else
|
||||||
#error Active config currently not supported!
|
#error Active config currently not supported!
|
||||||
#endif
|
#endif
|
||||||
|
#elif defined BUILD_PANDA
|
||||||
|
#include "panda/PandaConfig.hpp"
|
||||||
|
#include "panda/PandaArmCPU.hpp"
|
||||||
#else
|
#else
|
||||||
#error SAL Config Target not defined
|
#error SAL Config Target not defined
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -5,7 +5,8 @@ namespace fail {
|
|||||||
// Flag initialization depends on the current selected simulator
|
// Flag initialization depends on the current selected simulator
|
||||||
// (For now, the initialization values are all the same):
|
// (For now, the initialization values are all the same):
|
||||||
#if defined BUILD_BOCHS || defined BUILD_GEM5 || \
|
#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 ADDR_INV = static_cast<address_t> (0);
|
||||||
const address_t ANY_ADDR = static_cast<address_t> (-1);
|
const address_t ANY_ADDR = static_cast<address_t> (-1);
|
||||||
const unsigned ANY_INSTR = static_cast<unsigned> (-1);
|
const unsigned ANY_INSTR = static_cast<unsigned> (-1);
|
||||||
|
|||||||
@ -14,6 +14,8 @@
|
|||||||
#include "qemu/QEMUConfig.hpp"
|
#include "qemu/QEMUConfig.hpp"
|
||||||
#elif defined BUILD_T32
|
#elif defined BUILD_T32
|
||||||
#include "t32/T32Config.hpp"
|
#include "t32/T32Config.hpp"
|
||||||
|
#elif defined BUILD_PANDA
|
||||||
|
#include "panda/PandaConfig.hpp"
|
||||||
#else
|
#else
|
||||||
#error SAL Config Target not defined
|
#error SAL Config Target not defined
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -36,6 +36,14 @@ namespace fail {
|
|||||||
typedef T32Controller ConcreteSimulatorController; //!< concrete simulator (type)
|
typedef T32Controller ConcreteSimulatorController; //!< concrete simulator (type)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif defined BUILD_PANDA
|
||||||
|
|
||||||
|
#include "panda/PandaController.hpp"
|
||||||
|
|
||||||
|
namespace fail {
|
||||||
|
typedef PandaController ConcreteSimulatorController; //!< concrete simulator (type)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error SAL Instance not defined
|
#error SAL Instance not defined
|
||||||
|
|||||||
Reference in New Issue
Block a user