Skip to content

lmcad-unicamp/oi-dbt

Folders and files

NameName
Last commit message
Last commit date
Jul 8, 2019
Feb 28, 2018
Apr 23, 2018
Jul 10, 2019
Mar 23, 2018
Apr 24, 2019
Jun 21, 2017
Apr 23, 2018
Apr 24, 2019
Jul 10, 2019
Apr 24, 2019
May 22, 2017
Jun 20, 2018
Aug 22, 2018
Apr 24, 2019
Jun 14, 2018
Jul 10, 2019
Jul 10, 2019
May 17, 2018
May 17, 2018
Sep 23, 2018

Repository files navigation

OI-DBT: The OpenISA Dynamic Binary Translator

OI-DBT implements a fast OpenISA interpreter together with an optimizing dynamic compiler supporting several region formation techniques. It dynamically compiles OI instructions into target instructions using the LLVM (7.0) infrastructure. Moreover, OI-DBT translates OI instructions in parallel to the emulation decreasing the compilation overhead. All to achieve a high-performance emulation of OpenISA binaries.

Bulding it

To build OI-DBT, you are going to need g++7.1 or later with C++17 support, CMake 2.8 or later, PAPI and LLVM 7.0. After installing all dependencies, it is a simple cmake/make usage:

cd dbt-openisa
mkdir build
cd build
cmake ..
make
sudo make install

Usage

After building and installing oi-dbt, you can easily use it to emulate OpenISA elf binaries using the following commands:

oi-dbt [-rft {net, mret2, lei, lef, netplus} | -interpreter] -bin PathToBinary [-v]

ARGUMENTS:
  -bin : Path to the binary which will be emulated.
  -h : Displays the help message
  -interpret : Only interpret.
  -rft : Region Formation Technique (net)
  -v : Displays the OpenISA instructions from the compiled regions

LICENSE

This project is being developed at the Institute of Computing - Unicamp as part of @vandersonmr doctoral thesis. You are free to contact him and use this code under the MIT LICENSE.

The OI-DBT is part of The OpenISA Project: an infrastructure for a new, open source and fast emulated architecture.