From e7e9eb0d44743d81e017edae44c9f9bf65373712 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 16 Feb 2026 23:07:42 +0100 Subject: [PATCH 1/7] adds delegate initialization --- src/common/util/delegate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/util/delegate.h b/src/common/util/delegate.h index 492b89b4d..06bfffa27 100644 --- a/src/common/util/delegate.h +++ b/src/common/util/delegate.h @@ -199,7 +199,7 @@ template class delegate { using deleter_type = void (*)(void*); void* object_ptr_{nullptr}; - stub_ptr_type stub_ptr_{}; + stub_ptr_type stub_ptr_{nullptr}; deleter_type deleter_{}; From bb29fd3804541832dcdd901d618fc25bdeb69831 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 16 Feb 2026 23:08:09 +0100 Subject: [PATCH 2/7] switches warning about interference-size off --- src/common/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 5cc6961bd..15485c80e 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -16,7 +16,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC ) if( NOT MSVC) # rigtorp/SPSCQueue.h uses std::hardware_destructive_interference_size which is HW dependend. GCC>14 warns about it - target_compile_options(${PROJECT_NAME} PUBLIC -Wno-interference-size) + target_compile_options(${PROJECT_NAME} PUBLIC $<$:-Wno-interference-size>) endif() if(TARGET lz4::lz4) target_link_libraries(${PROJECT_NAME} PUBLIC lz4::lz4) From 985c231672b14e591e48b1abc9117a6eebf69cf4 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 18 Feb 2026 10:05:32 +0100 Subject: [PATCH 3/7] adds option to disable quantum_keeper warning wrt to SystemC 2.3 --- src/sysc/CMakeLists.txt | 20 ++++++++++++-------- src/sysc/tlm/scc/quantum_keeper.h | 2 ++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/sysc/CMakeLists.txt b/src/sysc/CMakeLists.txt index 9c3aff3cc..4e6a82981 100644 --- a/src/sysc/CMakeLists.txt +++ b/src/sysc/CMakeLists.txt @@ -7,6 +7,7 @@ find_package(ZLIB) option(ENABLE_SQLITE "Enable SQLite backend for SCV" ON) option(ENABLE_PYTHON4SC "Enable Python interpreter integration" OFF) +option(DISABLE_QKD_WARNING "Disbale the warning about multi-threaded quantum keeper when using SystemC 2.3.4" OFF) if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") @@ -89,6 +90,9 @@ endif() add_library(${PROJECT_NAME} ${LIB_SOURCES}) add_library(scc::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) +if(DISABLE_QKD_WARNING) + target_compile_definitions(${PROJECT_NAME} PUBLIC NO_MTQK) +endif() if(FULL_TRACE_TYPE_LIST) target_compile_definitions(${PROJECT_NAME} PRIVATE FULL_TRACE_TYPE_LIST) endif() @@ -107,11 +111,11 @@ if(ENABLE_PYTHON4SC) target_compile_options(${PROJECT_NAME} PRIVATE -fvisibility=hidden) target_link_libraries(${PROJECT_NAME} PUBLIC pybind11::embed) #pybind11::headers) endif() -#if(TARGET fmt::fmt-header-only) -# target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt-header-only) -#else() +if(TARGET fmt::fmt-header-only) + target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt-header-only) +else() target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt) -#endif() +endif() if(TARGET spdlog::spdlog_header_only) target_link_libraries(${PROJECT_NAME} PRIVATE spdlog::spdlog_header_only) else() @@ -188,11 +192,11 @@ if(TARGET lz4::lz4) target_link_libraries(${PROJECT_NAME} PRIVATE lz4::lz4) endif() target_compile_definitions(${PROJECT_NAME} PUBLIC FMT_SHARED) -#if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND TARGET fmt::fmt-header-only) -# target_link_libraries(${PROJECT_NAME} PUBLIC fmt::fmt-header-only) -#else() +if(TARGET fmt::fmt-header-only) + target_link_libraries(${PROJECT_NAME} PUBLIC fmt::fmt-header-only) +else() target_link_libraries(${PROJECT_NAME} PUBLIC fmt::fmt) -#endif() +endif() target_link_libraries(${PROJECT_NAME} PUBLIC fstapi Threads::Threads ${CMAKE_DL_LIBS}) if(CLANG_TIDY_EXE) diff --git a/src/sysc/tlm/scc/quantum_keeper.h b/src/sysc/tlm/scc/quantum_keeper.h index 7b5b2f361..dddb40af3 100644 --- a/src/sysc/tlm/scc/quantum_keeper.h +++ b/src/sysc/tlm/scc/quantum_keeper.h @@ -3,7 +3,9 @@ #include "quantum_keeper_st.h" #if SC_VERSION_MAJOR < 3 +#ifndef NO_MTQK #warning "Multithreaded quantum keeper is only supported with SystemC 3.0 and newer" +#endif namespace tlm { namespace scc { using quantumkeeper_mt = quantumkeeper_st; From a1294f23116ba9e55e95bd16e064800040da082a Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 18 Feb 2026 10:06:23 +0100 Subject: [PATCH 4/7] fixes Verilator find_package module wrt to newer cmake versions --- cmake/FindVerilator.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/FindVerilator.cmake b/cmake/FindVerilator.cmake index 5c28e9146..0f8725690 100644 --- a/cmake/FindVerilator.cmake +++ b/cmake/FindVerilator.cmake @@ -27,6 +27,8 @@ if (VERILATOR_FOUND) return() endif() +cmake_policy(SET CMP0144 OLD) + find_package(PackageHandleStandardArgs REQUIRED) include(SystemCPackage) @@ -35,7 +37,7 @@ if(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) endif() find_program(VERILATOR_EXECUTABLE NAMES verilator verilator_bin verilator_bin_dbg - HINTS ${CONAN_VERILATOR_ROOT} ENV VERILATOR_ROOT + HINTS ${VERILATOR_ROOT} ENV VERILATOR_ROOT PATH_SUFFIXES bin REQUIRED DOC "Path to the Verilator executable" From cf7b3ae145d0f5e07eec73984f6568568c10bee0 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 18 Feb 2026 21:01:22 +0100 Subject: [PATCH 5/7] adds generation of clang-format intermediate file --- cmake/clang-format.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/clang-format.cmake b/cmake/clang-format.cmake index c72cfe0f4..e6c892f5a 100644 --- a/cmake/clang-format.cmake +++ b/cmake/clang-format.cmake @@ -38,5 +38,5 @@ add_custom_target(${FORMAT_TARGET_NAME}-check -style=file -output-replacements-xml ${ALL_SOURCE_FILES} - | grep -q "replacement offset" + | tee replacements.xml | grep -q "replacement offset" ) \ No newline at end of file From 3ad63798c130735ad3449bce26804bd163de11c5 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 18 Feb 2026 23:35:31 +0100 Subject: [PATCH 6/7] updates clang-format check command --- cmake/clang-format.cmake | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/cmake/clang-format.cmake b/cmake/clang-format.cmake index e6c892f5a..f24cd1507 100644 --- a/cmake/clang-format.cmake +++ b/cmake/clang-format.cmake @@ -32,11 +32,5 @@ add_custom_target(${FORMAT_TARGET_NAME} add_custom_target(${FORMAT_TARGET_NAME}-check COMMENT "Checking clang-format changes" - # Use ! to negate the result for correct output - COMMAND ! - ${CLANG_FORMAT_BIN} - -style=file - -output-replacements-xml - ${ALL_SOURCE_FILES} - | tee replacements.xml | grep -q "replacement offset" + COMMAND ${CLANG_FORMAT_BIN} -style=file --dry-run -Werror ${ALL_SOURCE_FILES} ) \ No newline at end of file From 12233b6c2e969e528dee0f1567ee443e24e7b067 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 19 Feb 2026 07:48:01 +0100 Subject: [PATCH 7/7] fixes missing namespace --- src/interfaces/obi/pin/target.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/interfaces/obi/pin/target.h b/src/interfaces/obi/pin/target.h index 4596ac5b2..76d73511d 100644 --- a/src/interfaces/obi/pin/target.h +++ b/src/interfaces/obi/pin/target.h @@ -170,7 +170,7 @@ target::target::nb_transport_bw(pa template inline void target::achannel_req_t() { - wait(SC_ZERO_TIME); + wait(sc_core::SC_ZERO_TIME); wait(clk_i.posedge_event()); while(true) { while(resetn_i.read() == false)