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
next prev 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).