Tiny x86 emulator written in pure golang
MIT License
This is an experimental x86 emulator. Currently, this project is targeted only to xv6 as guest OS.
https://bobuhiro11.net/tiny_x86_emu/
Please make sure that make, go (>=1.11), gcc, objdump, nasm and ndisasm are installed. For example, if you are using ubuntu, you can install them using the following command.
$ sudo apt-get install -y nasm gcc git tar wget make bsdmainutils
$ wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
$ sudo tar -C /usr/local -zxf go1.11.linux-amd64.tar.gz
make
command will build two version of emulators and xv6 image described as below:
tiny_x86_emu
.wasm/tiny_x86_emu.wasm
.# Build two version of emulators and guest xv6 image
$ make
# Execute CLI version emulator in your terminal.
$ ./tiny_x86_emu -f xv6-public/xv6.img
# Start web server to host wasm file.
# Then, please open http://localhost:8000 in your browser.
$ ./httpserv
make test
command will execute all tests.
Pull requests from anyone are welcome!