This patch series add host MIPS(EL) support to QEMU. It is based on the excellent work from Arnaud Patard [1].
It supports both little and big-endian hosts, and is currently limited to the o32 abi. It has been mainly developped and tested in system mode on a MIPSEL host, but I have verified that both MIPS and MIPSEL hosts can boot Debian Installer amd64, arm, i386, mips, mipsel, ppc and sparc, and can also boot an SH4 kernel. On the user side, I have verified that basic support (aka starting libc.so.6) works, but there is probably some more work to do on this side. I have mainly focused on getting host support fully working, and haven't written "aggressively" optimised code. There is still space for speed improvement, for example by filling the delay slots or using MIPS R2 instructions (if available) for byte swapping, rotations or bit field insertion/extraction (useful for the memory load/store). [1] http://git.rtp-net.org/?p=qemu.git;a=summary Arnaud Patard (2): linux-user: remove hardcoded value of _NSIG in signal.c cpu-all.h: fix cpu_get_real_ticks on mips host Aurelien Jarno (3): tcg: initial mips support tcg: increase TCG_MAX_OP_SIZE to 192 tcg/mips: use direct jumps configure | 7 +- cpu-all.h | 27 +- exec-all.h | 19 +- exec.c | 7 + linux-user/signal.c | 12 +- tcg/mips/tcg-target.c | 1464 +++++++++++++++++++++++++++++++++++++++++++++++++ tcg/mips/tcg-target.h | 102 ++++ 7 files changed, 1618 insertions(+), 20 deletions(-) create mode 100644 tcg/mips/tcg-target.c create mode 100644 tcg/mips/tcg-target.h