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