* [Qemu-devel] [PATCH v6 00/10] tcg mips64 and mips r6 improvements
@ 2016-12-11 13:36 Jin Guojie
0 siblings, 0 replies; 2+ messages in thread
From: Jin Guojie @ 2016-12-11 13:36 UTC (permalink / raw)
To: qemu-devel
Cc: Aurelien Jarno, James Hogan, YunQiang Su, Richard Henderson,
Jin Guojie
Changes in v6:
* Update against master(v2.8.0-rc3)
* Fix two bugs according to Richard Henderson's review comments
(1) mask: extend TARGET_PAGE_MASK to the proper type
(2) zero-extend the guest address, not the address loaded from CMP_OFF
* MIPS R6: tested successfully on a qemu mipsel64r6 host (emulating I6400)
- Debian amd64 with qemu-system-x86_64
Changes in v5:
* Update against master(v2.8.0-rc2)
* Fix a bug: 64-bit big-endian guests hang on mips64 little-endian
hosts, and vice versa. This bug was first introduced in v2 patch,
due to obvious misuse of ret/arg registers in tcg_out_bswap64().
tcg_out_opc_reg(s, OPC_DSBH, ret, 0, arg);
- tcg_out_opc_reg(s, OPC_DSHD, ret, 0, arg);
+ tcg_out_opc_reg(s, OPC_DSHD, ret, 0, ret);
* Fix a style problem: checkpatch.pl forbids 'extern' to be used in .c.
ERROR: externs should be avoided in .c files
#28: FILE: tcg/mips/tcg-target.inc.c:39:
+extern int link_error(void);
Simply comment the type identifier to pass the check.
* Tested successfully on following machines:
| HOST | qemu-system | Debian ISO |
|-----------------------------------------|
| mips 32 le | i386 | i386 |
| mips 32 le | x86_64 | i386 |
| mips 32 le | x86_64 | amd64 |
| mips 64 le | i386 | i386 |
| mips 64 le | x86_64 | i386 |
| mips 64 le | x86_64 | amd64 |
| mips 64 le | mips 64 be | mips 64 be |
|-----------------------------------------|
| mips 32 be | i386 | i386 |
| mips 32 be | x86_64 | i386 |
| mips 32 be | x86_64 | amd64 |
| mips 64 be | i386 | i386 |
| mips 64 be | x86_64 | i386 |
| mips 64 be | x86_64 | amd64 |
| mips n32 be | 386 | i386 |
| mips n32 be | x86_64 | i386 |
| mips n32 be | x86_64 | amd64 |
(No plan to test MIPS R6 in this patch.)
Summary of changes from v4:
| tcg-mips: Support 64-bit opcodes | Fix tcg_out_bswap64() |
| tcg-mips: Adjust qemu_ld/st for mips64 | Fix a style problem |
Changes in v4:
* 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.
Changes in v3:
* 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.
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Tested-by: James Hogan <james.hogan@imgtec.com>
Tested-by: YunQiang Su <wzssyqa@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Jin Guojie <jinguojie@loongson.cn>
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
tcg/mips/tcg-target.h | 60 ++-
tcg/mips/tcg-target.inc.c | 1170 +++++++++++++++++++++++++++++++++++----------
2 files changed, 977 insertions(+), 253 deletions(-)
--
2.1.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH v6 00/10] tcg mips64 and mips r6 improvements
@ 2016-12-20 6:01 Jin Guojie
0 siblings, 0 replies; 2+ messages in thread
From: Jin Guojie @ 2016-12-20 6:01 UTC (permalink / raw)
To: qemu-devel
Cc: Aurelien Jarno, James Hogan, YunQiang Su, Richard Henderson,
jinguojie
ping http://patchwork.ozlabs.org/patch/704829/
Please give me any advice and comment for speeding up the review process.
Thank you all!
Jin Guojie
------------------ Original ------------------
From: "jinguojie";<jinguojie@loongson.cn>;
Send time: Sunday, Dec 11, 2016 9:36 PM
To: "qemu-devel"<qemu-devel@nongnu.org>;
Cc: "Aurelien Jarno"<aurelien@aurel32.net>; "James Hogan"<james.hogan@imgtec.com>; "YunQiang Su"<wzssyqa@gmail.com>; "Richard Henderson"<rth@twiddle.net>; "Jin Guojie"<jinguojie@loongson.cn>;
Subject: [PATCH v6 00/10] tcg mips64 and mips r6 improvements
Changes in v6:
* Update against master(v2.8.0-rc3)
* Fix two bugs according to Richard Henderson's review comments
(1) mask: extend TARGET_PAGE_MASK to the proper type
(2) zero-extend the guest address, not the address loaded from CMP_OFF
* MIPS R6: tested successfully on a qemu mipsel64r6 host (emulating I6400)
- Debian amd64 with qemu-system-x86_64
Changes in v5:
* Update against master(v2.8.0-rc2)
* Fix a bug: 64-bit big-endian guests hang on mips64 little-endian
hosts, and vice versa. This bug was first introduced in v2 patch,
due to obvious misuse of ret/arg registers in tcg_out_bswap64().
tcg_out_opc_reg(s, OPC_DSBH, ret, 0, arg);
- tcg_out_opc_reg(s, OPC_DSHD, ret, 0, arg);
+ tcg_out_opc_reg(s, OPC_DSHD, ret, 0, ret);
* Fix a style problem: checkpatch.pl forbids 'extern' to be used in .c.
ERROR: externs should be avoided in .c files
#28: FILE: tcg/mips/tcg-target.inc.c:39:
+extern int link_error(void);
Simply comment the type identifier to pass the check.
* Tested successfully on following machines:
| HOST | qemu-system | Debian ISO |
|-----------------------------------------|
| mips 32 le | i386 | i386 |
| mips 32 le | x86_64 | i386 |
| mips 32 le | x86_64 | amd64 |
| mips 64 le | i386 | i386 |
| mips 64 le | x86_64 | i386 |
| mips 64 le | x86_64 | amd64 |
| mips 64 le | mips 64 be | mips 64 be |
|-----------------------------------------|
| mips 32 be | i386 | i386 |
| mips 32 be | x86_64 | i386 |
| mips 32 be | x86_64 | amd64 |
| mips 64 be | i386 | i386 |
| mips 64 be | x86_64 | i386 |
| mips 64 be | x86_64 | amd64 |
| mips n32 be | 386 | i386 |
| mips n32 be | x86_64 | i386 |
| mips n32 be | x86_64 | amd64 |
(No plan to test MIPS R6 in this patch.)
Summary of changes from v4:
| tcg-mips: Support 64-bit opcodes | Fix tcg_out_bswap64() |
| tcg-mips: Adjust qemu_ld/st for mips64 | Fix a style problem |
Changes in v4:
* 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.
Changes in v3:
* 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.
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Tested-by: James Hogan <james.hogan@imgtec.com>
Tested-by: YunQiang Su <wzssyqa@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Jin Guojie <jinguojie@loongson.cn>
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
tcg/mips/tcg-target.h | 60 ++-
tcg/mips/tcg-target.inc.c | 1170 +++++++++++++++++++++++++++++++++++----------
2 files changed, 977 insertions(+), 253 deletions(-)
--
2.1.0
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-12-20 6:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-20 6:01 [Qemu-devel] [PATCH v6 00/10] tcg mips64 and mips r6 improvements Jin Guojie
-- strict thread matches above, loose matches on Subject: below --
2016-12-11 13:36 Jin Guojie
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).