|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
Implementation of etiss/ETISS.h except for etiss::preloadLibraries. More...
#include "etiss/ETISS.h"#include "etiss/CPUCore.h"#include "etiss/CPUArch.h"#include "etiss/fault/Stressor.h"#include "etiss/IntegratedLibrary/InstructionAccurateCallback.h"#include "etiss/LibraryInterface.h"#include <csignal>#include <cstring>#include <fstream>#include <functional>#include <boost/program_options/options_description.hpp>#include <boost/program_options/parsers.hpp>#include <boost/program_options/variables_map.hpp>#include <boost/algorithm/string.hpp>#include "SimpleIni.h"
Go to the source code of this file.
Classes | |
| class | helper_class_etiss_2 |
| replaces __attribute__((destructor)) in a portable way More... | |
| class | helper_class_etiss_1 |
| replaces __attribute__((destructor)) in a portable way More... | |
| class | helper_class_etiss_3 |
| replaces __attribute__((destructor)) in a portable way More... | |
Functions | |
| void | etiss_SIGINT_handler (int sig) |
| static void | etiss_remove_SIGINT () |
| void | etiss_loadIni (std::string fileName) |
| void | etiss_loadIniConfigs () |
| void | etiss_initialize (const std::vector< std::string > &args, bool forced=false) |
| static void | etiss_shutdown () |
| static void | etiss_check_shutdown () |
| check if etiss::shutdown() was called before exiting main. | |
Variables | |
| std::string | etiss_defaultjit_ |
| std::list< std::shared_ptr< etiss::LibraryInterface > > | etiss_libraries_ |
| std::recursive_mutex | etiss_libraries_mu_ |
| boost::program_options::variables_map | vm |
| std::vector< std::string > | pluginOptions = { "plugin.logger.logaddr", "plugin.logger.logmask", "plugin.gdbserver.port" } |
| void(* | etiss_prev_SIGINT_handler )(int)=0 |
| bool | etiss_SIGINT_handler_enabled = false |
| static class helper_class_etiss_2 | helper_class_etiss_2 |
| CSimpleIniA * | po_simpleIni |
| static class helper_class_etiss_1 | helper_class_etiss_1 |
| bool | etiss_shutdownOk = false |
| static class helper_class_etiss_3 | helper_class_etiss_3 |
Implementation of etiss/ETISS.h except for etiss::preloadLibraries.
Definition in file ETISS.cpp.
|
static |
check if etiss::shutdown() was called before exiting main.
Definition at line 1018 of file ETISS.cpp.
References etiss::ERROR, etiss_shutdownOk, and etiss::log().
Referenced by helper_class_etiss_3::~helper_class_etiss_3().


Definition at line 681 of file ETISS.cpp.
References etiss::addLibrary(), etiss::cfg(), etiss::ERROR, etiss_loadIni(), etiss_loadIniConfigs(), etiss_remove_SIGINT(), etiss::FATALERROR, etiss::Configuration::get(), etiss::py::init(), etiss::installDir(), etiss::log(), etiss::log_to_stderr(), etiss::LibraryInterface::openIntegratedLibrary(), etiss::preloadLibraries(), etiss::Configuration::set(), etiss::Configuration::set_cmd_line_boost(), v, etiss::VERBOSE, etiss::verbosity(), vm, and etiss::WARNING.
Referenced by etiss::forceInitialization(), and etiss::initialize().


| void etiss_loadIni | ( | std::string | fileName | ) |
Definition at line 369 of file ETISS.cpp.
References NULL, and po_simpleIni.
Referenced by etiss_initialize(), and etiss::Initializer::loadIni().

| void etiss_loadIniConfigs | ( | ) |
Definition at line 399 of file ETISS.cpp.
References etiss::cfg(), etiss::ERROR, etiss::FATALERROR, etiss::Configuration::get(), etiss::INFO, etiss::Configuration::isSet(), etiss::log(), po_simpleIni, etiss::Configuration::set(), etiss::VERBOSE, etiss::verbosity(), vm, and etiss::WARNING.
Referenced by etiss_initialize().


|
static |
Definition at line 352 of file ETISS.cpp.
References etiss_prev_SIGINT_handler, and etiss_SIGINT_handler_enabled.
Referenced by etiss_initialize(), and helper_class_etiss_2::~helper_class_etiss_2().

|
static |
Definition at line 889 of file ETISS.cpp.
References etiss::shutdown().
Referenced by helper_class_etiss_1::~helper_class_etiss_1().


| void etiss_SIGINT_handler | ( | int | sig | ) |
| std::string etiss_defaultjit_ |
Definition at line 43 of file ETISS.cpp.
Referenced by etiss::addLibrary(), and etiss::getDefaultJIT().
| std::list<std::shared_ptr<etiss::LibraryInterface> > etiss_libraries_ |
Definition at line 45 of file ETISS.cpp.
Referenced by etiss::addLibrary(), etiss::getCPUArch(), etiss::getJIT(), etiss::getPlugin(), etiss::listCPUArchs(), etiss::listJITs(), etiss::listLibraries(), etiss::listLibraryPrefixes(), etiss::listPlugins(), and etiss::shutdown().
| std::recursive_mutex etiss_libraries_mu_ |
Definition at line 46 of file ETISS.cpp.
Referenced by etiss::addLibrary(), etiss::getCPUArch(), etiss::getJIT(), etiss::getPlugin(), etiss::listCPUArchs(), etiss::listJITs(), etiss::listLibraries(), etiss::listLibraryPrefixes(), etiss::listPlugins(), and etiss::shutdown().
Definition at line 332 of file ETISS.cpp.
Referenced by etiss_remove_SIGINT().
Definition at line 908 of file ETISS.cpp.
Referenced by etiss_check_shutdown(), and etiss::shutdown().
Definition at line 333 of file ETISS.cpp.
Referenced by etiss_remove_SIGINT().
|
static |
|
static |
|
static |
| std::vector<std::string> pluginOptions = { "plugin.logger.logaddr", "plugin.logger.logmask", "plugin.gdbserver.port" } |
Definition at line 49 of file ETISS.cpp.
Referenced by etiss::Initializer::loadIniPlugins().
| CSimpleIniA* po_simpleIni |
Definition at line 368 of file ETISS.cpp.
Referenced by etiss_loadIni(), etiss_loadIniConfigs(), etiss::Initializer::loadIni(), etiss::Initializer::loadIniPlugins(), and etiss::Initializer::~Initializer().
| boost::program_options::variables_map vm |
Definition at line 48 of file ETISS.cpp.
Referenced by etiss_initialize(), etiss_loadIniConfigs(), and etiss::Initializer::loadIniPlugins().