Changes since v2: * Update against master(v2.8.0-rc1) * Tested on Loongson as mips32r2(el) and mips64r2(el) hosts. Loongson only implements little-endian mips32/mips64 ISA. * Fully work for 32-bit and 64-bit guests. Fix two bugs:segmentation fault on mips64el with 32-bit guests, blocking when emulating i386 kernel on mips64el. * Fix some minor style problems. * PATCH v2 12~16 are not examined due to the lack of R6 machine.
To be tested: * big-endian mips32 and mips64 hosts. I have tried running qemu-system-mips on an X86. The speed is awful. The compilation of qemu did not complete over a night until I gave up. A better way is needed to do this test. * MIPS R6. Summary of changes on v2 patch: | tcg-mips: Always use tcg_debug_assert | merged previously | | tcg-mips: Move bswap code to a subroutine | no change | | tcg-mips: Add mips64 opcodes | no change | | tcg-mips: Support 64-bit opcodes | no change | | tcg-mips: Add bswap32u and bswap64 | no change | | tcg-mips: Adjust move functions for mips64 | no change | | tcg-mips: Adjust load/store functions for | no change | | tcg-mips: Adjust prologue for mips64 | no change | | tcg-mips: Add tcg unwind info | fix a style problem | | tcg-mips: Adjust calling conventions for | no change | | tcg-mips: Adjust qemu_ld/st for mips64 | | (1) tcg_out_qemu_st_slow_path:fix the crash on mips64el with | | i386 guest, when executing seabios | | (2) tlb_load:simplify ifdefs | | tcg-mips: Adjust condition functions for mips64 (newly added) | | fix the blocking when emulating i386 kernel on mips64el | Jin Guojie (11): tcg-mips: Move bswap code to a subroutine tcg-mips: Add mips64 opcodes tcg-mips: Support 64-bit opcodes tcg-mips: Add bswap32u and bswap64 tcg-mips: Adjust move functions for mips64 tcg-mips: Adjust load/store functions for mips64 tcg-mips: Adjust prologue for mips64 tcg-mips: Add tcg unwind info tcg-mips: Adjust calling conventions for mips64 tcg-mips: Adjust qemu_ld/st for mips64 tcg-mips: Adjust condition functions for mips64 Cc: Aurelien Jarno <aurel...@aurel32.net> Cc: James Hogan <james.ho...@imgtec.com> Signed-off-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Jin Guojie <jinguo...@loongson.cn> tcg/mips/tcg-target.h | 60 ++- tcg/mips/tcg-target.inc.c | 1156 +++++++++++++++++++++++++++++++++++---------- 2 files changed, 965 insertions(+), 251 deletions(-) -- 2.1.0