From 1338cbffb9f317b1a4625c9e862d60d87f81a72b Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 27 Nov 2025 17:57:30 +0100 Subject: [PATCH] updates submodules and sc_main to match them --- .envrc | 2 ++ .gdbinit | 1 - .vscode/launch.json | 11 +++++++++-- conanfile.py | 3 ++- dbt-rise-core | 2 +- dbt-rise-riscv | 2 +- scc | 2 +- src/CLIParser.cpp | 15 +++++++-------- src/sc_main.cpp | 13 +++++-------- src/vp/system.h | 7 ++++--- vpvper | 2 +- 11 files changed, 33 insertions(+), 27 deletions(-) delete mode 100644 .gdbinit diff --git a/.envrc b/.envrc index 032d31f..b0de304 100644 --- a/.envrc +++ b/.envrc @@ -5,6 +5,8 @@ if [ $distro == "CentOS" ]; then . /opt/rh/rh-python38/enable elif [ $distro == "Rocky" ]; then . /opt/rh/gcc-toolset-11/enable +elif [ $distro == "RockyLinux" ]; then + . /opt/rh/gcc-toolset-14/enable fi if has module; then module load ./Modulefile diff --git a/.gdbinit b/.gdbinit deleted file mode 100644 index 043b1d8..0000000 --- a/.gdbinit +++ /dev/null @@ -1 +0,0 @@ -set breakpoint pending on diff --git a/.vscode/launch.json b/.vscode/launch.json index 6dfc5c3..96941f6 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -106,8 +106,15 @@ "name": "32bit VP", "cwd": "${workspaceRoot}", "program": "${workspaceFolder}/build/Debug/src/riscv-vp", - "arguments": "--isa 'rv32gc_msu' -v INFO --disass -f fw/hello-world/hello.elf", - "openGdbConsole": true + "arguments": "--isa 'rv32gc_msu' -v INFO -f fw/hello-world/hello.elf", + "openGdbConsole": true, + "initCommands": [ + "set breakpoint pending on", + "set breakpoint auto-hw on", + "set breakpoint always-inserted on", + "set output-radix 16" + ], + "verbose": false }, { "type": "gdb", diff --git a/conanfile.py b/conanfile.py index c7e147e..b8c0b4e 100644 --- a/conanfile.py +++ b/conanfile.py @@ -12,6 +12,7 @@ class Pkg(ConanFile): ) default_options = { "llvm-core/*:targets": "X86", + "llvm-core/*:components": "Native", "boost/*:fPIC": "True", "boost/*:header_only": "False", "boost/*:without_contract": "True", @@ -46,7 +47,7 @@ class Pkg(ConanFile): self.requires("lz4/1.9.3") self.requires("yaml-cpp/0.8.0") self.requires("jsoncpp/1.9.5") - self.requires("zlib/1.2.12") + self.requires("zlib/1.3.1") self.requires("asmjit/cci.20240531") if "WITH_LLVM" in os.environ: self.requires("llvm-core/19.1.7") diff --git a/dbt-rise-core b/dbt-rise-core index 83eb45b..cc0de2d 160000 --- a/dbt-rise-core +++ b/dbt-rise-core @@ -1 +1 @@ -Subproject commit 83eb45bb3e393eb979b44e97ba08da8460eedea4 +Subproject commit cc0de2d95c844df326fb4145a857c2291b8b4520 diff --git a/dbt-rise-riscv b/dbt-rise-riscv index 218f652..8a528fc 160000 --- a/dbt-rise-riscv +++ b/dbt-rise-riscv @@ -1 +1 @@ -Subproject commit 218f65211c80d21b93d79add3ae56d082b4f6adb +Subproject commit 8a528fceadae055c02197e194d188bbd0f78a03d diff --git a/scc b/scc index 89b2b48..82602d0 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit 89b2b48cdfcf5f79dd278b5749f9b04c521af639 +Subproject commit 82602d000fa1ed177ad0872dd3f82298f411efbc diff --git a/src/CLIParser.cpp b/src/CLIParser.cpp index fa2ddea..e68e989 100644 --- a/src/CLIParser.cpp +++ b/src/CLIParser.cpp @@ -40,11 +40,10 @@ CLIParser::CLIParser(int argc, char* argv[]) } auto log_level = vm_["verbose"].as(); auto log_level_num = static_cast(log_level); - LOGGER(DEFAULT)::reporting_level() = logging::as_log_level(log_level_num > 6 ? 6 : log_level_num); - LOGGER(connection)::reporting_level() = - logging::as_log_level(log_level_num > 4 ? log_level_num - 1 : log_level_num); - LOGGER(dbt_rise_iss)::reporting_level() = - logging::as_log_level(log_level_num > 4 ? log_level_num - 1 : log_level_num); + auto level = logging::as_log_level(log_level_num > 6 ? 6 : log_level_num); + LOGGER(DEFAULT)::set_reporting_level(level); + LOGGER(connection)::set_reporting_level(level); + LOGGER(dbt_rise_iss)::set_reporting_level(level); /////////////////////////////////////////////////////////////////////////// // configure logging /////////////////////////////////////////////////////////////////////////// @@ -57,8 +56,8 @@ CLIParser::CLIParser(int argc, char* argv[]) scc::stream_redirection cerr_redir(std::cerr, scc::log::ERROR); sc_core::sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", sc_core::SC_DO_NOTHING); sc_core::sc_report_handler::set_actions(sc_core::SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, sc_core::SC_DO_NOTHING); - sc_core::sc_report_handler::set_actions(sc_core::SC_ERROR, sc_core::SC_LOG | sc_core::SC_CACHE_REPORT | - sc_core::SC_DISPLAY | sc_core::SC_STOP); + sc_core::sc_report_handler::set_actions(sc_core::SC_ERROR, + sc_core::SC_LOG | sc_core::SC_CACHE_REPORT | sc_core::SC_DISPLAY | sc_core::SC_STOP); } void CLIParser::build() { @@ -88,7 +87,7 @@ void CLIParser::build() { "dump the intermediate representation") ("dump-structure", po::value(), "dump model structure to ELK file") - ("quantum", po::value(), + ("quantum", po::value()->default_value(100), "SystemC quantum time in ns") ("reset,r", po::value(), "reset address") diff --git a/src/sc_main.cpp b/src/sc_main.cpp index e5094bb..4fbb6ce 100644 --- a/src/sc_main.cpp +++ b/src/sc_main.cpp @@ -72,9 +72,8 @@ int sc_main(int argc, char* argv[]) { std::unique_ptr tracer; if(auto trace_level = parser.get("trace-level")) { auto file_name = parser.get("trace-file"); - auto enable_sig_trace = (trace_level & 0x1) != 0; // bit0 enables sig trace - auto tx_trace_type = - static_cast(trace_level >> 1); // bit3-bit1 define the kind of transaction trace + auto enable_sig_trace = (trace_level & 0x1) != 0; // bit0 enables sig trace + auto tx_trace_type = static_cast(trace_level >> 1); // bit3-bit1 define the kind of transaction trace auto trace_default_on = parser.is_set("trace-default-on"); if(parser.is_set("trace-default-off")) cfg.set_value("scc_tracer.default_trace_enable", false); @@ -102,8 +101,7 @@ int sc_main(int argc, char* argv[]) { cfg.configure(); std::unique_ptr dumper; if(parser.is_set("dump-structure")) - dumper.reset( - new scc::hierarchy_dumper(parser.get("dump-structure"), scc::hierarchy_dumper::D3JSON)); + dumper.reset(new scc::hierarchy_dumper(parser.get("dump-structure"), scc::hierarchy_dumper::D3JSON)); /////////////////////////////////////////////////////////////////////////// // overwrite config with command line settings /////////////////////////////////////////////////////////////////////////// @@ -121,13 +119,12 @@ int sc_main(int argc, char* argv[]) { tlm::tlm_global_quantum::instance().set(sc_core::sc_time(parser.get("quantum"), sc_core::SC_NS)); if(parser.is_set("reset")) { auto str = parser.get("reset"); - uint64_t start_address = - str.find("0x") == 0 ? std::stoull(str.substr(2), nullptr, 16) : std::stoull(str, nullptr, 10); + uint64_t start_address = str.find("0x") == 0 ? std::stoull(str.substr(2), nullptr, 16) : std::stoull(str, nullptr, 10); cfg.set_value(core_path + ".reset_address", start_address); } if(parser.is_set("disass")) { cfg.set_value(core_path + ".enable_disass", true); - LOGGER(disass)::reporting_level() = logging::INFO; + LOGGER(disass)::set_reporting_level(logging::INFO); auto file_name = parser.get("disass"); if(file_name.length() > 0) { LOG_OUTPUT(disass)::stream() = fopen(file_name.c_str(), "w"); diff --git a/src/vp/system.h b/src/vp/system.h index 03cc258..ab81f82 100644 --- a/src/vp/system.h +++ b/src/vp/system.h @@ -7,6 +7,7 @@ #ifndef SRC_VP_SYSTEM_H_ #define SRC_VP_SYSTEM_H_ +#include "tlm/scc/quantum_keeper.h" #include #include #include @@ -20,7 +21,7 @@ #include #include #include -#include +#include #include #include #include @@ -48,7 +49,8 @@ public: system(sc_core::sc_module_name nm); private: - sysc::riscv::core_complex_mt<> core_complex{"core_complex"}; +#include "../vp/gen/PipelinedMemoryBusToApbBridge.h" // IWYU pragma: keep + sysc::riscv::core_complex core_complex{"core_complex"}; scc::router<> ahb_router, apbBridge; vpvper::minres::gpio_tl gpio0{"gpio0"}; vpvper::minres::uart_tl uart0{"uart0"}; @@ -67,7 +69,6 @@ private: sc_core::sc_signal core_int_s{"core_int_s"}; sc_core::sc_signal mtime_s{"mtime_s"}; void gen_reset(); -#include "../vp/gen/PipelinedMemoryBusToApbBridge.h" // IWYU pragma: keep }; } // namespace vp diff --git a/vpvper b/vpvper index 923024b..6413f14 160000 --- a/vpvper +++ b/vpvper @@ -1 +1 @@ -Subproject commit 923024bd82902bd15f55dd5e108d5823cb0c4add +Subproject commit 6413f14b18658eab8223b30fbbe1216f6d26cc86