@@ -4,7 +4,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
44###############################################################################
55#
66###############################################################################
7- project (dbt-rise-riscv VERSION 2.0 .0 LANGUAGES C CXX)
7+ project (dbt-rise-riscv VERSION 2.1 .0 LANGUAGES C CXX)
88
99option (UPDATE_EXTERNAL_PROJECT "Whether to pull changes in external projects" ON )
1010
@@ -20,7 +20,7 @@ if(NOT TARGET dbt-rise-core)
2020 dbt_rise_core_git
2121 GIT_REPOSITORY "https://github.com/Minres/DBT-RISE-Core.git"
2222 #GIT_TAG "origin/develop"
23- GIT_TAG 0c7532f6
23+ GIT_TAG cc0de2d
2424 GIT_SHALLOW OFF
2525 UPDATE_DISCONNECTED NOT ${UPDATE_EXTERNAL_PROJECT} # When enabled, this option causes the update step to be skipped.
2626 )
@@ -49,7 +49,6 @@ add_subdirectory(softvector)
4949set (LIB_SOURCES
5050 src/iss/plugin/instruction_count.cpp
5151 src/iss/arch/rv32i.cpp
52- src/iss/arch/rv32imc.cpp
5352 src/iss/arch/rv32imac.cpp
5453 src/iss/arch/rv32gc.cpp
5554 src/iss/arch/rv32gcv.cpp
@@ -76,12 +75,6 @@ if(TARGET yaml-cpp::yaml-cpp)
7675 )
7776endif ()
7877
79- if (WITH_TCC)
80- list (APPEND LIB_SOURCES
81- src/vm/tcc/vm_tgc5c.cpp
82- )
83- endif ()
84-
8578if (WITH_LLVM)
8679 list (APPEND LIB_SOURCES
8780 src/vm/llvm/vm_tgc5c.cpp
@@ -120,28 +113,20 @@ if(IS_DIRECTORY "${PROJECT_SOURCE_DIR}/../dbt-rise-custom")
120113 list (APPEND LIB_DEFINES CORE_${CORE} )
121114 endforeach ()
122115
123- message (STATUS "Core defines are ${LIB_DEFINES} " )
116+ # message(STATUS "Core defines are ${LIB_DEFINES}")
124117
125118 if (WITH_LLVM)
126119 FILE (GLOB LLVM_GEN_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /../dbt-rise-custom/src/vm/llvm/vm_*.cpp)
127120 list (APPEND LIB_SOURCES ${LLVM_GEN_SOURCES} )
128121 endif ()
129122
130- if (WITH_TCC)
131- FILE (GLOB TCC_GEN_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /../dbt-rise-custom/src/vm/tcc/vm_*.cpp)
132- list (APPEND LIB_SOURCES ${TCC_GEN_SOURCES} )
133- endif ()
134-
135123 if (WITH_ASMJIT)
136124 FILE (GLOB TCC_GEN_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /../dbt-rise-custom/src/vm/asmjit/vm_*.cpp)
137125 list (APPEND LIB_SOURCES ${TCC_GEN_SOURCES} )
138126 endif ()
139127endif ()
140128# Define the library
141129add_library (${PROJECT_NAME} SHARED ${LIB_SOURCES} )
142- if (USE_SC_SIGNAL4IRQ)
143- target_compile_definitions (${PROJECT_NAME} PUBLIC SC_SIGNAL_IF)
144- endif ()
145130if ("${CMAKE_CXX_COMPILER_ID} " STREQUAL "GNU" )
146131 target_compile_options (${PROJECT_NAME} PRIVATE -Wno-shift-count-overflow)
147132elseif ("${CMAKE_CXX_COMPILER_ID} " STREQUAL "MSVC" )
@@ -238,11 +223,6 @@ if(BUILD_TESTING)
238223 add_test (NAME riscv-sim-interp
239224 COMMAND riscv-sim -f ${CMAKE_BINARY_DIR} /../../Firmwares/hello-world/hello --backend interp)
240225
241- if (WITH_TCC)
242- add_test (NAME riscv-sim-tcc
243- COMMAND riscv-sim -f ${CMAKE_BINARY_DIR} /../../Firmwares/hello-world/hello --backend tcc)
244- endif ()
245-
246226 if (WITH_LLVM)
247227 add_test (NAME riscv-sim-llvm
248228 COMMAND riscv-sim -f ${CMAKE_BINARY_DIR} /../../Firmwares/hello-world/hello --backend llvm)
@@ -259,6 +239,8 @@ endif()
259239###############################################################################
260240if (TARGET scc-sysc)
261241 project (dbt-rise-riscv_sc VERSION 1.0.0)
242+ set (USE_SC_SIGNAL4IRQ OFF CACHE BOOL "Enable the use of ssc_signals for interrupt delivery" )
243+
262244 set (LIB_SOURCES
263245 src/sysc/core_complex.cpp
264246 src/sysc/register_cores.cpp
@@ -270,20 +252,44 @@ if(TARGET scc-sysc)
270252 FILE (GLOB GEN_SC_SOURCES ${CMAKE_CURRENT_SOURCE_DIR} /../dbt-rise-custom/src/sysc/register_*.cpp)
271253 list (APPEND LIB_SOURCES ${GEN_SC_SOURCES} )
272254 endif ()
273- add_library (${PROJECT_NAME} ${LIB_SOURCES} )
274- target_compile_definitions (${PROJECT_NAME} PUBLIC WITH_SYSTEMC)
275- target_link_libraries (${PROJECT_NAME} PUBLIC dbt-rise-riscv scc-sysc)
255+ set (LIB_HEADERS ${CMAKE_CURRENT_SOURCE_DIR} /src/sysc/core_complex.h)
256+
257+ add_library (${PROJECT_NAME} _sig ${LIB_SOURCES} )
258+ target_compile_definitions (${PROJECT_NAME} _sig PUBLIC SC_SIGNAL_IF)
259+ target_compile_definitions (${PROJECT_NAME} _sig PUBLIC WITH_SYSTEMC SC_SIGNAL_IF)
260+ target_link_libraries (${PROJECT_NAME} _sig PUBLIC dbt-rise-riscv scc-sysc)
276261
277262 # if(WITH_LLVM)
278263 # target_link_libraries(${PROJECT_NAME} PUBLIC ${llvm_libs})
279264 # endif()
280- set (LIB_HEADERS ${CMAKE_CURRENT_SOURCE_DIR} /src/sysc/core_complex.h)
281- set_target_properties (${PROJECT_NAME} PROPERTIES
265+ set_target_properties (${PROJECT_NAME} _sig PROPERTIES
266+ VERSION ${PROJECT_VERSION}
267+ FRAMEWORK FALSE
268+ PUBLIC_HEADER "${LIB_HEADERS} " # specify the public headers
269+ )
270+ install (TARGETS ${PROJECT_NAME} _sig COMPONENT ${PROJECT_NAME}
271+ EXPORT ${PROJECT_NAME} Targets # for downstream dependencies
272+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # static lib
273+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # binaries
274+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # shared lib
275+ FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR} # for mac
276+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /sysc # headers for mac (note the different component -> different package)
277+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} # headers
278+ )
279+
280+ add_library (${PROJECT_NAME} _tlm ${LIB_SOURCES} )
281+ target_compile_definitions (${PROJECT_NAME} _tlm PUBLIC WITH_SYSTEMC)
282+ target_link_libraries (${PROJECT_NAME} _tlm PUBLIC dbt-rise-riscv scc-sysc)
283+
284+ # if(WITH_LLVM)
285+ # target_link_libraries(${PROJECT_NAME} PUBLIC ${llvm_libs})
286+ # endif()
287+ set_target_properties (${PROJECT_NAME} _tlm PROPERTIES
282288 VERSION ${PROJECT_VERSION}
283289 FRAMEWORK FALSE
284290 PUBLIC_HEADER "${LIB_HEADERS} " # specify the public headers
285291 )
286- install (TARGETS ${PROJECT_NAME} COMPONENT ${PROJECT_NAME}
292+ install (TARGETS ${PROJECT_NAME} _tlm COMPONENT ${PROJECT_NAME}
287293 EXPORT ${PROJECT_NAME} Targets # for downstream dependencies
288294 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # static lib
289295 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # binaries
@@ -292,6 +298,11 @@ if(TARGET scc-sysc)
292298 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /sysc # headers for mac (note the different component -> different package)
293299 INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} # headers
294300 )
301+ if (USE_SC_SIGNAL4IRQ)
302+ add_library (${PROJECT_NAME} ALIAS ${PROJECT_NAME} _sig)
303+ else ()
304+ add_library (${PROJECT_NAME} ALIAS ${PROJECT_NAME} _tlm)
305+ endif ()
295306endif ()
296307
297308project (elfio-test )
0 commit comments