atrosinenko/qemujs

Qemu.js source code with proof-of-concept machine-code-to-WASM JIT.

C

279

44,712 commits

updated May 12, 2019

See the code

README

This is a port of QEMU machine emulator to JavaScript using Emscripten.

The port targets single-threaded WebAssembly and contains a proof-of-concept WebAssembly JIT. For now, only 32-bit guest are supported.

This time, it is branched from the upstream master branch and now this repo does not require separate qemujs-build. This rewrite is still even more work-in-progress than the original one and still does not support block devices.

Here is my article (in Russian) about Qemu.js.

Some similar pre-existing projects:

  • JSLinux -- machine emulator written by Fabrice Bellard, the original author of QEMU
  • Virtual x86 -- another JavaScript machine emulator
  • another attempt (now frozen?) to port QEMU to JavaScript
  • Unicorn.js -- JavaScript port of a QEMU fork
javascript
jit
js
qemu
vm

Contributors

(top 30 of 269)

pm215

5,161 commits

bonzini

2,963 commits

rth7680

2,369 commits

aliguori

2,133 commits

atrosinenko/qemujs

Qemu.js source code with proof-of-concept machine-code-to-WASM JIT.

C

279

44,712 commits

updated May 12, 2019

See the code

README

This is a port of QEMU machine emulator to JavaScript using Emscripten.

The port targets single-threaded WebAssembly and contains a proof-of-concept WebAssembly JIT. For now, only 32-bit guest are supported.

This time, it is branched from the upstream master branch and now this repo does not require separate qemujs-build. This rewrite is still even more work-in-progress than the original one and still does not support block devices.

Here is my article (in Russian) about Qemu.js.

Some similar pre-existing projects:

  • JSLinux -- machine emulator written by Fabrice Bellard, the original author of QEMU
  • Virtual x86 -- another JavaScript machine emulator
  • another attempt (now frozen?) to port QEMU to JavaScript
  • Unicorn.js -- JavaScript port of a QEMU fork
javascript
jit
js
qemu
vm

Contributors

(top 30 of 269)

pm215

5,161 commits

bonzini

2,963 commits

rth7680

2,369 commits

aliguori

2,133 commits

Languages

C

91.2%

Python

2.8%

C++

2.7%

Shell

1.3%