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 <[email protected]>
Cc: James Hogan <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Signed-off-by: Jin Guojie <[email protected]>
tcg/mips/tcg-target.h | 60 ++-
tcg/mips/tcg-target.inc.c | 1156 +++++++++++++++++++++++++++++++++++----------
2 files changed, 965 insertions(+), 251 deletions(-)
--
2.1.0