"libcpu" is an open source library that emulates several CPU architectures
C++ C Scala Assembly Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
CMake CMake: Simplify llvm-config search Jan 8, 2014
arch x86: Fix decode_rel to use rel_data Jan 9, 2014
images Add libcpu logo to source tree Jan 8, 2014
libcpu Fix LLVM function attributes Jan 8, 2014
test x86: MOV immediate -> register/memory Jan 9, 2014
upcl Fix missing <stddef.h> includes Oct 13, 2011
.travis.yml Use PPA for LLVM 3.3 packages Jan 8, 2014
CMakeLists.txt CMakeLists: Don't build the upcl module Jan 8, 2014
LICENSE.txt err 2010 is in 2 days... Dec 30, 2009
Makefile add extra warnings, also recreate the build directory if Nov 28, 2009
TODO Test commit. Jan 16, 2010



Build Status

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.


CMake version 2.8 or higher is required.

On Ubuntu:

sudo apt-get install flex bison libreadline-dev

On Fedora:

sudo yum install flex bison readline-devel

To build libcpu:



To run the x86 front-end tests:



Copyright (c) 2009-2010, the libcpu developers

Libcpu is distributed under the 2-clause BSD license.