qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 00/10] tcg mips64 and mips r6 improvements


From: Jin Guojie
Subject: Re: [Qemu-devel] [PATCH v4 00/10] tcg mips64 and mips r6 improvements
Date: Thu, 1 Dec 2016 02:39:31 +0800

Yesterday I  successfully got in touch with a Debian developer from imgtec. 
Welcome Su Yunqiang.
V4 patch can be tested on mips64 be hosts now.
The following guests on a mips64
big-endian host is OK:
  - Debian i386 with qemu-system-i386
  - Debian i386 with qemu-system-x86_64

However, Debian amd64 with qemu-system-x86_64 fails to boot kernel.
A 'rep movsq' instruction is wrongly emulated.
I will fix this bug within one or two days.

But even Su cannot provide an R6 machine.

Jin Guojie

---Original---
From: "Jin Guojie"<address@hidden>
Date: 2016/11/29 14:08:16
To: "qemu-devel"<address@hidden>;
Cc: "Richard Henderson"<address@hidden>;"James Hogan"<address@hidden>;"Aurelien 
Jarno"<address@hidden>;"Jin Guojie"<address@hidden>;
Subject: [PATCH v4 00/10] tcg mips64 and mips r6 improvements


Changes since v3:
  * tcg_out_qemu_ld_slow_path: always sign-extend 32-bit loads.
    Provide a better solution than patch11 in v3.
    Fix the blocking bug when emulating i386 kernel on mips64el.
  * Redefine LO_OFF/HI_OFF as v2.
    On mips64 host, they are defined as link_error, to ensure that 
    all paths that lead to the use of the symbol are eliminated by
    the compiler.

Other info:
  * 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.
  * MIPS R6.

Summary of changes from v3:

  | 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              | no change           |
  | 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) tcg_out_qemu_ld_slow_path: always sign-extend 32-bit loads |
  |       Fix the blocking when emulating i386 kernel on mips64el    |
  | tcg-mips: Adjust condition functions for mips64 (abandoned)      |

Jin Guojie (10):
  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

Cc: Aurelien Jarno <address@hidden>
Cc: James Hogan <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Jin Guojie <address@hidden>

 tcg/mips/tcg-target.h     |   60 ++-
 tcg/mips/tcg-target.inc.c | 1168 +++++++++++++++++++++++++++++++++++----------
 2 files changed, 975 insertions(+), 253 deletions(-)

-- 
2.1.0

reply via email to

[Prev in Thread] Current Thread [Next in Thread]