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:
sirozipp
2012-04-23 14:54:08 +00:00
parent 8053233897
commit d93cf513f5
7 changed files with 16 additions and 12 deletions

View File

@ -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)
include_directories(${CMAKE_SOURCE_DIR}/fail)
include_directories(${CMAKE_BINARY_DIR}/fail)
include_directories(${CMAKE_SOURCE_DIR})
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)
#add_subdirectory(ovpworld.org/mmc/flakyMemory/1.0/model)
@ -48,6 +50,6 @@ ExternalProject_Add(
OVParmmModel
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/armmModel
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}
)

View File

@ -13,7 +13,7 @@ class OVPStatusRegister : public sal::OVPRegister {
public:
OVPStatusRegister(uint32_t width, void *link)
: sal::OVPRegister(width, link, sal::RT_ST) { }
: sal::OVPRegister(width, 32, link, sal::RT_ST) { }
~OVPStatusRegister() {}
virtual bool getSignFlag() const = 0;

View File

@ -19,9 +19,8 @@ set(HOST_LDFLAGS "-Wl,--version-script=$ENV{IMPERAS_HOME}/ImperasLib/source/buil
## This is needed by a platform executable
set(SIM_LDFLAGS $ENV{IMPERAS_HOME}/bin/$ENV{IMPERAS_ARCH}/libRuntimeLoader.so)
message(STATUS "Fail* base dir included: ${FAIL_BASE}")
message(STATUS "Library output path: ${LIBRARY_OUTPUT_PATH}")
include_directories(${FAIL_BASE})
include_directories($ENV{IMPERAS_HOME}/ImpPublic/include/host)
@ -86,12 +85,13 @@ set(SRCS
armVFP.h
armVM.h
)
add_definitions("-m32")
add_definitions("-m32 ${IMPERAS_VMIINC}")
message(STATUS "armmModel ld flags: ${HOST_LDFLAGS}")
add_library(armmModel SHARED ${SRCS})
#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})

View File

@ -1,12 +1,12 @@
#include <iostream>
#include "SAL/SimulatorController.hpp"
//#include "SAL/SimulatorController.hpp"
using namespace std;
void hello(unsigned int p){
cout << "&sal::simulator: " << hex << p << endl;
sal::SimulatorController * salp = reinterpret_cast<sal::SimulatorController * >(p);
// sal::SimulatorController * salp = reinterpret_cast<sal::SimulatorController * >(p);
}

View File

@ -12,4 +12,4 @@ add_dependencies(ovp_cortexM3 protomessages )
target_link_libraries(ovp_cortexM3 ${SIM_LDFLAGS} SAL controller jobserver util )
## 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 ")

View File

@ -356,7 +356,7 @@ int main(int argc, char **argv) {
arm.makeSTRegister();
arm.makePCRegister();
sal::simulator.finishedRegisterCreation();
// sal::simulator.finishedRegisterCreation();
arm.startSimulation(argv[1]);
}

View File

@ -53,6 +53,8 @@ class CortexM3StatusRegister : public OVPStatusRegister {
// OR with 0x00010000 (e.g.)
val = val | bit;
}
icmWriteRegInfoValue(cpuP, cpsr, (void *)&val);
}
bool getSignFlag() const {