[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1818075] Re: qemu x86 TCG doesn't support AVX insns
From: |
Ronald Antony |
Subject: |
[Bug 1818075] Re: qemu x86 TCG doesn't support AVX insns |
Date: |
Thu, 18 Jun 2020 22:28:05 -0000 |
Of course it’s open source, I get that. When I say „xyz should be done“
then in the sense of „2+2 should be 4“ not in the sense of „you must
implement xyz right now“ ;)
Nonetheless, if you run e.g. on an ARM platform the command
qemu-system-x86_64 -cpu help
then it shouldn’t list a slew of CPUs as „available“ that clearly aren’t
working.
It should then list fully implemented CPUs separately from partially
implemented CPUs (if listing them at all), and if it does list incomplete
implementations, it should indicate what’s missing.
It’s just a horrible user experience, if based on such output, one spends
significant time trying to get some emulation running, only to then discover
from runtime error messages, that an „available“ CPU isn’t actually available.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1818075
Title:
qemu x86 TCG doesn't support AVX insns
Status in QEMU:
New
Bug description:
I'm trying to execute code that has been built with -march=skylake
-mtune=generic -mavx2 under qemu-user x86-64 with -cpu Skylake-Client.
However this code just hangs at 100% CPU.
Adding input tracing shows that it is likely hanging when dealing with
an AVX instruction:
warning: TCG doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline
[bit 24]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.f16c [bit 29]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
warning: TCG doesn't support requested feature:
CPUID.80000001H:ECX.3dnowprefetch [bit 8]
warning: TCG doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]
IN:
0x4000b4ef3b: c5 fb 5c ca vsubsd %xmm2, %xmm0, %xmm1
0x4000b4ef3f: c4 e1 fb 2c d1 vcvttsd2si %xmm1, %rdx
0x4000b4ef44: 4c 31 e2 xorq %r12, %rdx
0x4000b4ef47: 48 85 d2 testq %rdx, %rdx
0x4000b4ef4a: 79 9e jns 0x4000b4eeea
[ hangs ]
Attaching a gdb produces this stacktrace:
(gdb) bt
#0 canonicalize (status=0x55a20ff67a88, parm=0x55a20bb807e0
<float64_params>, part=...)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/fpu/softfloat.c:350
#1 float64_unpack_canonical (s=0x55a20ff67a88, f=0)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/fpu/softfloat.c:547
#2 float64_sub (a=0, b=4890909195324358656, status=0x55a20ff67a88)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/fpu/softfloat.c:776
#3 0x000055a20baa1949 in helper_subsd (env=<optimized out>,
d=0x55a20ff67ad8, s=<optimized out>)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/target/i386/ops_sse.h:623
#4 0x000055a20cfcfea8 in static_code_gen_buffer ()
#5 0x000055a20ba3f764 in cpu_tb_exec (itb=<optimized out>,
cpu=0x55a20cea2180 <static_code_gen_buffer+15684720>)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/accel/tcg/cpu-exec.c:171
#6 cpu_loop_exec_tb (tb_exit=<synthetic pointer>, last_tb=<synthetic
pointer>, tb=<optimized out>,
cpu=0x55a20cea2180 <static_code_gen_buffer+15684720>)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/accel/tcg/cpu-exec.c:615
#7 cpu_exec (cpu=cpu@entry=0x55a20ff5f4d0)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/accel/tcg/cpu-exec.c:725
#8 0x000055a20ba6d728 in cpu_loop (env=0x55a20ff67780)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/linux-user/x86_64/../i386/cpu_loop.c:93
#9 0x000055a20ba049ff in main (argc=<optimized out>, argv=0x7ffc58572868,
envp=<optimized out>)
at
/data/poky-tmp/master/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/linux-user/main.c:819
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1818075/+subscriptions