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) 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}
) )

View File

@ -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;

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 ## 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})

View File

@ -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);
} }

View File

@ -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 ")

View File

@ -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]);
} }

View File

@ -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 {