qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [BUG] nanoMIPS support problem related to extract2 supp


From: Aleksandar Markovic
Subject: Re: [Qemu-devel] [BUG] nanoMIPS support problem related to extract2 support for i386 TCG target
Date: Fri, 12 Jul 2019 20:19:01 +0200

On Fri, Jul 12, 2019 at 8:09 PM Aleksandar Markovic
<address@hidden> wrote:
>
> Hello, Richard, Peter, and others.
>
> As a part of activities before 4.1 release, I tested nanoMIPS support
> in QEMU (which was officially fully integrated in 4.0, is currently
> limited to system mode only, and was tested in a similar fashion right
> prior to 4.0).
>
> This support appears to be broken now. Following command line works in
> 4.0, but results in kernel panic for the current tip of the tree:
>
> ~/Build/qemu-test-revert-c6fb8c0cf704/mipsel-softmmu/qemu-system-mipsel
> -cpu I7200 -kernel generic_nano32r6el_page4k -M malta -serial stdio -m
> 1G -hda nanomips32r6_le_sf_2017.05-03-59-gf5595d6.ext4 -append
> "mem=256m@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda"
>
> (kernel and rootfs image files used in this commend line can be
> downloaded from the locations mentioned in our user guide)
>
> The quick bisect points to the commit:
>
> commit c6fb8c0cf704c4a1a48c3e99e995ad4c58150dab
> Author: Richard Henderson <address@hidden>
> Date:   Mon Feb 25 11:42:35 2019 -0800
>
>     tcg/i386: Support INDEX_op_extract2_{i32,i64}
>
>     Signed-off-by: Richard Henderson <address@hidden>
>
> Please advise on further actions.
>

Just to add a data point:

If the following change is applied:

diff --git a/tcg/i386/tcg-target.h b/tcg/i386/tcg-target.h
index 928e8b8..b6a4cf2 100644
--- a/tcg/i386/tcg-target.h
+++ b/tcg/i386/tcg-target.h
@@ -124,7 +124,7 @@ extern bool have_avx2;
 #define TCG_TARGET_HAS_deposit_i32      1
 #define TCG_TARGET_HAS_extract_i32      1
 #define TCG_TARGET_HAS_sextract_i32     1
-#define TCG_TARGET_HAS_extract2_i32     1
+#define TCG_TARGET_HAS_extract2_i32     0
 #define TCG_TARGET_HAS_movcond_i32      1
 #define TCG_TARGET_HAS_add2_i32         1
 #define TCG_TARGET_HAS_sub2_i32         1
@@ -163,7 +163,7 @@ extern bool have_avx2;
 #define TCG_TARGET_HAS_deposit_i64      1
 #define TCG_TARGET_HAS_extract_i64      1
 #define TCG_TARGET_HAS_sextract_i64     0
-#define TCG_TARGET_HAS_extract2_i64     1
+#define TCG_TARGET_HAS_extract2_i64     0
 #define TCG_TARGET_HAS_movcond_i64      1
 #define TCG_TARGET_HAS_add2_i64         1
 #define TCG_TARGET_HAS_sub2_i64         1

... the problem disappears.


> Yours,
> Aleksandar



reply via email to

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