What is QEMU?
QEMU is a simulator that supports various target processors (such as x86, ARM, MIPS, etc.). It has two main modes:
- user mode simulation: run a Linux program on another Linux machine that doesn't necessarily have the same processor; for instance, if the host is an i386 Linux machine, one can run ARM Linux programs
- system simulation: run a full operating system; for instance, run an ARM Debian distribution on an x86_64 machine.
System simulation is more flexible, but is slower since it has to simulate a full platform, in particular it has to handle MMU simulation which adds a non-negligible cost to every simulated memory access.
What is the aim of this project?
This project mainly aims at being able to run some i386 programs on an ARMv7 platform such as the BeagleBoard. The limiting factor is the speed of emulation: preliminary results show that nbench, running in user mode, would be about the speed of a 486DX at 50 MHz.
- On-going: make sure the mainline always compiles on ARM hosts