diff --git a/.project b/.project
index b4531d1..a1fdcfd 100644
--- a/.project
+++ b/.project
@@ -23,6 +23,5 @@
org.eclipse.cdt.core.ccnature
org.eclipse.cdt.managedbuilder.core.managedBuildNature
org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
- org.eclipse.linuxtools.tmf.project.nature
diff --git a/conanfile.txt b/conanfile.txt
index 61c2407..157cc85 100644
--- a/conanfile.txt
+++ b/conanfile.txt
@@ -1,7 +1,6 @@
[requires]
gsl_microsoft/20180102@bincrafters/stable
fmt/5.2.1@bincrafters/stable
- #fmt/4.1.0@bincrafters/stable
Seasocks/1.3.2@minres/stable
SystemC/2.3.3@minres/stable
SystemCVerification/2.0.1@minres/stable
diff --git a/etc/riscv-sim Release dhrystone.launch b/etc/riscv-sim Release dhrystone.launch
new file mode 100644
index 0000000..d9485c8
--- /dev/null
+++ b/etc/riscv-sim Release dhrystone.launch
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/platform/src/CLIParser.cpp b/platform/src/CLIParser.cpp
index 8ac6628..e36a688 100644
--- a/platform/src/CLIParser.cpp
+++ b/platform/src/CLIParser.cpp
@@ -75,17 +75,28 @@ CLIParser::CLIParser(int argc, char *argv[])
std::cerr << "ERROR: " << e.what() << std::endl << std::endl;
std::cerr << desc << std::endl;
}
- if (vm_.count("verbose")) { // NONE, FATAL, ERROR, WARNING, INFO, DEBUG, TRACE
- const std::array verbosity = {SC_NONE, // Logging::NONE
- SC_LOW, // Logging::FATAL
- SC_LOW, // Logging::ERROR
- SC_LOW, // Logging::WARNING
- SC_MEDIUM, // Logging::INFO
- SC_HIGH, // logging::DEBUG
- SC_FULL, // logging::TRACE
- SC_DEBUG}; // logging::TRACE+1
- auto log_level = vm_["verbose"].as();
- scc::init_logging(logging::as_log_level(log_level > 6 ? 6 : log_level));
+ auto log_level = vm_["verbose"].as();
+ auto verbosity = !vm_["Verbose"].defaulted()?vm_["Verbose"].as():vm_["verbose"].as();
+ auto colored_output = vm_["Verbose"].defaulted();
+ auto dbg_level = std::min(logging::DBGTRACE, verbosity);
+
+ auto l = logging::as_log_level(log_level > 6 ? 6 : log_level);
+ auto log_regex = vm_["log-filter"].as();
+
+ if (vm_.count("log-file")) {
+ auto log_file_name = vm_["log-file"].as();
+ scc::init_logging(scc::LogConfig()
+ .logFileName(log_file_name)
+ .logLevel(static_cast(dbg_level))
+ .logFilterRegex(log_regex)
+ .coloredOutput(colored_output)
+ );
+ } else {
+ scc::init_logging(scc::LogConfig()
+ .logLevel(static_cast(dbg_level))
+ .logFilterRegex(log_regex)
+ .coloredOutput(colored_output)
+ );
}
}
@@ -94,7 +105,9 @@ void CLIParser::build() {
desc.add_options()
("help,h", "Print help message")
("verbose,v", po::value()->implicit_value(3), "Sets logging verbosity")
+ ("Verbose,V", po::value()->default_value(logging::INFO), "Debug output level as with --verbose but print non-colored")
("log-file", po::value(), "Sets default log file.")
+ ("log-filter", po::value()->default_value(""), "log filter regular expression name")
("disass,d", po::value()->implicit_value(""), "Enables disassembly")
("elf,l", po::value(), "ELF file to load")
("gdb-port,g", po::value()->default_value(0), "enable gdb server and specify port to use")
diff --git a/riscv b/riscv
index c39460e..f357e56 160000
--- a/riscv
+++ b/riscv
@@ -1 +1 @@
-Subproject commit c39460ee34eb1c3705600c053dc54a6e5a586e60
+Subproject commit f357e563f29f5994b4eab783155ccead264e52eb