qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: =?gb18030?B?SmluIEd1b2ppZQ==?= <jinguojie@loongson.cn>
To: =?gb18030?B?cWVtdS1kZXZlbA==?= <qemu-devel@nongnu.org>
Cc: =?gb18030?B?UmljaGFyZCBIZW5kZXJzb24=?= <rth@twiddle.net>,
	=?gb18030?B?SmFtZXMgSG9nYW4=?= <james.hogan@imgtec.com>,
	=?gb18030?B?QXVyZWxpZW4gSmFybm8=?= <aurelien@aurel32.net>,
	=?gb18030?B?SmluIEd1b2ppZQ==?= <jinguojie@loongson.cn>,
	=?gb18030?B?WXVuUWlhbmcgU3U=?= <wzssyqa@gmail.com>
Subject: Re: [Qemu-devel] [PATCH v4 00/10] tcg mips64 and mips r6 improvements
Date: Thu, 1 Dec 2016 02:39:31 +0800	[thread overview]
Message-ID: <tencent_24A4D1CE447632573CA1C4CE@qq.com> (raw)
In-Reply-To: 1480399628-14419-1-git-send-email-jinguojie@loongson.cn

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb18030", Size: 3792 bytes --]

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"<jinguojie@loongson.cn>
Date: 2016/11/29 14:08:16
To: "qemu-devel"<qemu-devel@nongnu.org>;
Cc: "Richard Henderson"<rth@twiddle.net>;"James Hogan"<james.hogan@imgtec.com>;"Aurelien Jarno"<aurelien@aurel32.net>;"Jin Guojie"<jinguojie@loongson.cn>;
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 <aurelien@aurel32.net>
Cc: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Jin Guojie <jinguojie@loongson.cn>

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

-- 
2.1.0

  parent reply	other threads:[~2016-11-30 18:40 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-29  6:06 [Qemu-devel] [PATCH v4 00/10] tcg mips64 and mips r6 improvements Jin Guojie
2016-11-29  6:06 ` [Qemu-devel] [PATCH v4 01/10] tcg-mips: Move bswap code to a subroutine Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 02/10] tcg-mips: Add mips64 opcodes Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 03/10] tcg-mips: Support 64-bit opcodes Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 04/10] tcg-mips: Add bswap32u and bswap64 Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 05/10] tcg-mips: Adjust move functions for mips64 Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 06/10] tcg-mips: Adjust load/store " Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 07/10] tcg-mips: Adjust prologue " Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 08/10] tcg-mips: Add tcg unwind info Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 09/10] tcg-mips: Adjust calling conventions for mips64 Jin Guojie
2016-11-29  6:07 ` [Qemu-devel] [PATCH v4 10/10] tcg-mips: Adjust qemu_ld/st " Jin Guojie
2016-11-30 17:22   ` Aurelien Jarno
2016-11-30 17:42     ` Richard Henderson
2016-11-30 17:59       ` Aurelien Jarno
2016-11-29 13:39 ` [Qemu-devel] [PATCH v4 00/10] tcg mips64 and mips r6 improvements no-reply
2016-11-30 18:39 ` =?gb18030?B?SmluIEd1b2ppZQ==?= [this message]
2016-11-30 20:30   ` Richard Henderson
2016-11-30 22:48     ` James Hogan
2016-12-01  9:38     ` YunQiang Su
2016-12-01 15:32     ` James Hogan
2016-12-01 15:53       ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tencent_24A4D1CE447632573CA1C4CE@qq.com \
    --to=jinguojie@loongson.cn \
    --cc=aurelien@aurel32.net \
    --cc=james.hogan@imgtec.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=wzssyqa@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).