Merge branch 'feature/multi_threading' into develop

This commit is contained in:
2025-11-28 06:10:50 +01:00
14 changed files with 184 additions and 12 deletions

View File

@@ -40,9 +40,10 @@ CLIParser::CLIParser(int argc, char* argv[])
}
auto log_level = vm_["verbose"].as<scc::log>();
auto log_level_num = static_cast<unsigned>(log_level);
LOGGER(DEFAULT)::set_reporting_level(logging::as_log_level(log_level_num > 6 ? 6 : log_level_num));
LOGGER(connection)::set_reporting_level(logging::as_log_level(log_level_num > 4 ? log_level_num - 1 : log_level_num));
LOGGER(dbt_rise_iss)::set_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
///////////////////////////////////////////////////////////////////////////
@@ -86,7 +87,7 @@ void CLIParser::build() {
"dump the intermediate representation")
("dump-structure", po::value<std::string>(),
"dump model structure to ELK file")
("quantum", po::value<unsigned>(),
("quantum", po::value<unsigned>()->default_value(100),
"SystemC quantum time in ns")
("reset,r", po::value<std::string>(),
"reset address")

9
src/mcount.c Normal file
View File

@@ -0,0 +1,9 @@
/* The canonical name for the function is `_mcount' in both C and asm,
but some old asm code might assume it's `mcount'. */
void _mcount (void);
weak_alias (_mcount, mcount);
void _mcount (void)
{
mcount_internal ((u_long) __builtin_return_address (1), (u_long) __builtin_return_address(0));
}

View File

@@ -7,6 +7,7 @@
#ifndef SRC_VP_SYSTEM_H_
#define SRC_VP_SYSTEM_H_
#include "tlm/scc/quantum_keeper.h"
#include <cci_configuration>
#include <minres/aclint.h>
#include <minres/gpio.h>
@@ -48,7 +49,8 @@ public:
system(sc_core::sc_module_name nm);
private:
sysc::riscv::core_complex<> core_complex{"core_complex"};
#include "../vp/gen/PipelinedMemoryBusToApbBridge.h" // IWYU pragma: keep
sysc::riscv::core_complex<scc::LT, tlm::scc::quantumkeeper_mt> 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<bool, sc_core::SC_MANY_WRITERS> core_int_s{"core_int_s"};
sc_core::sc_signal<uint64_t> mtime_s{"mtime_s"};
void gen_reset();
#include "../vp/gen/PipelinedMemoryBusToApbBridge.h" // IWYU pragma: keep
};
} // namespace vp