ergo720 / libcpu

Libcpu with X86 support (incomplete, do not use yet)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Libcpu

CircleCI

Libcpu logo

"libcpu" is an open source library that emulates several CPU architectures, allowing itself to be used as the CPU core for different kinds of emulator projects. It uses its own frontends for the different CPU types, and uses LLVM for the backend. libcpu is supposed to be able to do user mode and system emulation, and dynamic as well as static recompilation.

Dependencies

CMake version 2.8 or higher is required.
LLVM version 8.0.1 is required.
Python version 2.6 or higher is required (version 3.7.x will not work and will lead to a build failure, other versions 3.x.x are untested).

Building

On Ubuntu:

sudo apt-get install flex bison libreadline-dev

On Fedora:

sudo yum install flex bison readline-devel

To build libcpu:

make

On Windows:

mkdir build && cd build
cmake .. -G "Visual Studio 16 2019" -A Win32

Then build the generated solution file with Visual Studio 2019.
Visual Studio 2017 is also known to work.

Testing

To run the x86 front-end tests:

./test/scripts/8086.sh

License

Copyright (c) 2009-2010, the libcpu developers

Libcpu is distributed under the 2-clause BSD license.

About

Libcpu with X86 support (incomplete, do not use yet)

License:BSD 2-Clause "Simplified" License


Languages

Language:C++ 57.7%Language:C 37.6%Language:CMake 2.0%Language:Yacc 1.4%Language:Scala 0.4%Language:Assembly 0.3%Language:Objective-C 0.2%Language:Lex 0.2%Language:Python 0.1%Language:Shell 0.1%Language:Makefile 0.0%Language:Visual Basic 0.0%Language:DIGITAL Command Language 0.0%