Fixes to compile OVP platform + bugfix in statreg
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1144 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -35,8 +35,10 @@ set(HOST_LDFLAGS "-Wl,--version-script=$ENV{IMPERAS_HOME}/ImperasLib/source/buil
|
|||||||
set(SIM_LDFLAGS $ENV{IMPERAS_HOME}/bin/$ENV{IMPERAS_ARCH}/libRuntimeLoader.so)
|
set(SIM_LDFLAGS $ENV{IMPERAS_HOME}/bin/$ENV{IMPERAS_ARCH}/libRuntimeLoader.so)
|
||||||
|
|
||||||
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/fail)
|
include_directories(${CMAKE_SOURCE_DIR})
|
||||||
include_directories(${CMAKE_BINARY_DIR}/fail)
|
include_directories(${CMAKE_SOURCE_DIR}/core)
|
||||||
|
include_directories(${CMAKE_BINARY_DIR})
|
||||||
|
include_directories(${CMAKE_BINARY_DIR}/core)
|
||||||
include_directories($ENV{IMPERAS_HOME}/ImpPublic/include/host)
|
include_directories($ENV{IMPERAS_HOME}/ImpPublic/include/host)
|
||||||
|
|
||||||
#add_subdirectory(ovpworld.org/mmc/flakyMemory/1.0/model)
|
#add_subdirectory(ovpworld.org/mmc/flakyMemory/1.0/model)
|
||||||
@ -48,6 +50,6 @@ ExternalProject_Add(
|
|||||||
OVParmmModel
|
OVParmmModel
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/armmModel
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/armmModel
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
CMAKE_ARGS -DFAIL_BASE=${CMAKE_SOURCE_DIR}/fail -DLIBRARY_OUTPUT_PATH=${LIBRARY_OUTPUT_PATH}
|
CMAKE_ARGS -DFAIL_BASE=${CMAKE_SOURCE_DIR} -DLIBRARY_OUTPUT_PATH=${LIBRARY_OUTPUT_PATH}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ class OVPStatusRegister : public sal::OVPRegister {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
OVPStatusRegister(uint32_t width, void *link)
|
OVPStatusRegister(uint32_t width, void *link)
|
||||||
: sal::OVPRegister(width, link, sal::RT_ST) { }
|
: sal::OVPRegister(width, 32, link, sal::RT_ST) { }
|
||||||
~OVPStatusRegister() {}
|
~OVPStatusRegister() {}
|
||||||
|
|
||||||
virtual bool getSignFlag() const = 0;
|
virtual bool getSignFlag() const = 0;
|
||||||
|
|||||||
@ -19,9 +19,8 @@ set(HOST_LDFLAGS "-Wl,--version-script=$ENV{IMPERAS_HOME}/ImperasLib/source/buil
|
|||||||
## This is needed by a platform executable
|
## This is needed by a platform executable
|
||||||
set(SIM_LDFLAGS $ENV{IMPERAS_HOME}/bin/$ENV{IMPERAS_ARCH}/libRuntimeLoader.so)
|
set(SIM_LDFLAGS $ENV{IMPERAS_HOME}/bin/$ENV{IMPERAS_ARCH}/libRuntimeLoader.so)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
message(STATUS "Fail* base dir included: ${FAIL_BASE}")
|
message(STATUS "Fail* base dir included: ${FAIL_BASE}")
|
||||||
|
message(STATUS "Library output path: ${LIBRARY_OUTPUT_PATH}")
|
||||||
include_directories(${FAIL_BASE})
|
include_directories(${FAIL_BASE})
|
||||||
include_directories($ENV{IMPERAS_HOME}/ImpPublic/include/host)
|
include_directories($ENV{IMPERAS_HOME}/ImpPublic/include/host)
|
||||||
|
|
||||||
@ -86,12 +85,13 @@ set(SRCS
|
|||||||
armVFP.h
|
armVFP.h
|
||||||
armVM.h
|
armVM.h
|
||||||
)
|
)
|
||||||
add_definitions("-m32")
|
add_definitions("-m32 ${IMPERAS_VMIINC}")
|
||||||
message(STATUS "armmModel ld flags: ${HOST_LDFLAGS}")
|
message(STATUS "armmModel ld flags: ${HOST_LDFLAGS}")
|
||||||
add_library(armmModel SHARED ${SRCS})
|
add_library(armmModel SHARED ${SRCS})
|
||||||
|
|
||||||
|
|
||||||
#add_dependencies(armmModel SAL)
|
#add_dependencies(armmModel SAL)
|
||||||
set_target_properties(armmModel PROPERTIES LINK_FLAGS "${HOST_LDFLAGS} -m32")
|
set_target_properties(armmModel PROPERTIES LINK_FLAGS "${HOST_LDFLAGS} -m32")# -L${CMAKE_BINARY_DIR}/lib -lSAL")
|
||||||
|
|
||||||
#target_link_libraries(armmModel ${IMPERAS_VMISTUBS} ${LIBRARY_OUTPUT_PATH}/libSAL.a)
|
#target_link_libraries(armmModel ${IMPERAS_VMISTUBS} ${LIBRARY_OUTPUT_PATH}/libSAL.a)
|
||||||
target_link_libraries(armmModel ${IMPERAS_VMISTUBS})
|
target_link_libraries(armmModel ${IMPERAS_VMISTUBS})
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "SAL/SimulatorController.hpp"
|
//#include "SAL/SimulatorController.hpp"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
void hello(unsigned int p){
|
void hello(unsigned int p){
|
||||||
cout << "&sal::simulator: " << hex << p << endl;
|
cout << "&sal::simulator: " << hex << p << endl;
|
||||||
sal::SimulatorController * salp = reinterpret_cast<sal::SimulatorController * >(p);
|
// sal::SimulatorController * salp = reinterpret_cast<sal::SimulatorController * >(p);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,4 +12,4 @@ add_dependencies(ovp_cortexM3 protomessages )
|
|||||||
|
|
||||||
target_link_libraries(ovp_cortexM3 ${SIM_LDFLAGS} SAL controller jobserver util )
|
target_link_libraries(ovp_cortexM3 ${SIM_LDFLAGS} SAL controller jobserver util )
|
||||||
## OVP links all needed shared libraries via a runtimeloader
|
## OVP links all needed shared libraries via a runtimeloader
|
||||||
set_target_properties(ovp_cortexM3 PROPERTIES LINK_FLAGS "-L${CMAKE_BINARY_DIR}/lib -lfail -lpcl -m32 ")
|
set_target_properties(ovp_cortexM3 PROPERTIES LINK_FLAGS "-L${CMAKE_BINARY_DIR}/lib -lpcl -m32 ")
|
||||||
|
|||||||
@ -356,7 +356,7 @@ int main(int argc, char **argv) {
|
|||||||
arm.makeSTRegister();
|
arm.makeSTRegister();
|
||||||
arm.makePCRegister();
|
arm.makePCRegister();
|
||||||
|
|
||||||
sal::simulator.finishedRegisterCreation();
|
// sal::simulator.finishedRegisterCreation();
|
||||||
|
|
||||||
arm.startSimulation(argv[1]);
|
arm.startSimulation(argv[1]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,6 +53,8 @@ class CortexM3StatusRegister : public OVPStatusRegister {
|
|||||||
// OR with 0x00010000 (e.g.)
|
// OR with 0x00010000 (e.g.)
|
||||||
val = val | bit;
|
val = val | bit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
icmWriteRegInfoValue(cpuP, cpsr, (void *)&val);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool getSignFlag() const {
|
bool getSignFlag() const {
|
||||||
|
|||||||
Reference in New Issue
Block a user