[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1316115] Re: linux-user qemu-arm NEON support
From: |
Christopher Horler |
Subject: |
[Qemu-devel] [Bug 1316115] Re: linux-user qemu-arm NEON support |
Date: |
Mon, 05 May 2014 16:28:47 -0000 |
Now I look at the two sets of architecture specific information for the
two versions of the library it's almost certain this has nothing to do
with NEON.
I'll build a version of Qt5 of my own to test, if that works then from
my perspective it's not a qemu bug.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1316115
Title:
linux-user qemu-arm NEON support
Status in QEMU:
New
Bug description:
I was reading the mailing list and saw NEON support in QEmu was making
progress.
Is it not supported in user mode? or am I running into something else
here? (I've tried to include some what may be useful information)
using qemu from git (last commits as below):
fdaad47 Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140501' into staging
e50bf23 Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
c090c10 Merge remote-tracking branch 'remotes/cohuck/tags/kvm_cap_helpers'
into staging
(for completeness I should point out this is not actually
libQtCore.so.4.6.2 - the SONAME shows libQt5Core.so.5).
address@hidden:~/projects/src/CustomFirmware> qemu-arm -L ./root
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2
qemu: unhandled CPU exception 0x2 - aborting
R00=00000000 R01=f6c84fdd R02=00000000 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=f6ff9d80 R11=00000000
R12=00000000 R13=f6c84d90 R14=00000000 R15=f6cdef74
PSR=00000010 ---- A usr32
qemu: uncaught target signal 6 (Aborted) - core dumped
Aborted
address@hidden:~/projects/src/CustomFirmware> arm-linux-gnueabihf-readelf -A
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
Tag_ABI_optimization_goals: Aggressive Speed
Tag_CPU_unaligned_access: v6
Tag_DIV_use: Not allowed
address@hidden:~/projects/src/CustomFirmware> gdb qemu-arm
GNU gdb (GDB; openSUSE 13.1) 7.6.50.20130731-cvs
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
..
Reading symbols from /home/chorler/projects/bin/qemu-arm...done.
(gdb) list main.c:685
680
681 for(;;) {
682 cpu_exec_start(cs);
683 trapnr = cpu_arm_exec(env);
684 cpu_exec_end(cs);
685 switch(trapnr) {
686 case EXCP_UDEF:
687 {
688 TaskState *ts = cs->opaque;
689 uint32_t opcode;
(gdb) break main.c:685
Breakpoint 3 at 0x60059773: file
/home/chorler/projects/src/qemu/linux-user/main.c, line 685.
(gdb) run -L ./root
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2
Starting program: /home/chorler/projects/bin/qemu-arm -L ./root
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Breakpoint 3, cpu_loop (address@hidden) at
/home/chorler/projects/src/qemu/linux-user/main.c:685
685 switch(trapnr) {
(gdb) print trapnr
$1 = 2
(gdb) n
762 if (trapnr == EXCP_BKPT) {
(gdb) n
760 env->eabi = 1;
(gdb) n
762 if (trapnr == EXCP_BKPT) {
(gdb) n
775 if (env->thumb) {
(gdb) n
777 get_user_code_u16(insn, env->regs[15] - 2,
(gdb) n
775 if (env->thumb) {
(gdb) n
782 get_user_code_u32(insn, env->regs[15] - 4,
(gdb) n
784 n = insn & 0xffffff;
(gdb) n
788 if (n == ARM_NR_cacheflush) {
(gdb) print n
$2 = 587775
(gdb) n
790 } else if (n == ARM_NR_semihosting
(gdb) n
793 } else if (n == 0 || n >= ARM_SYSCALL_BASE ||
env->thumb) {
(gdb) n
872 fprintf(stderr, "qemu: unhandled CPU exception 0x%x -
aborting\n",
(gdb) n
qemu: unhandled CPU exception 0x2 - aborting
874 cpu_dump_state(cs, stderr, fprintf, 0);
(gdb) print env
$3 = (CPUARMState *) 0x6255e650
(gdb) print *env
$4 = {regs = {0, 4140322822, 0, 0, 0, 0, 0, 0, 0, 0, 4143947136, 0, 0,
4140322224, 0, 4140691316}, xregs = {0 <repeats 32 times>}, pc = 0, pstate = 0,
aarch64 = 0, uncached_cpsr = 16,
spsr = 0, banked_spsr = {0, 0, 0, 0, 0, 0}, banked_r13 = {0, 0, 0, 0, 0,
0}, banked_r14 = {0, 0, 0, 0, 0, 0}, usr_regs = {0, 0, 0, 0, 0}, fiq_regs = {0,
0, 0, 0, 0}, CF = 0, VF = 0,
NF = 16, ZF = 1073741824, QF = 0, GE = 0, thumb = 0, condexec_bits = 0,
daif = 0, elr_el1 = 0, sp_el = {0, 0}, cp15 = {c0_cpuid = 0, c0_cssel = 0,
c1_sys = 0, c1_coproc = 15728640,
c1_xscaleauxcr = 0, c1_scr = 0, ttbr0_el1 = 0, ttbr1_el1 = 0, c2_control
= 0, c2_mask = 0, c2_base_mask = 4294950912, c2_data = 0, c2_insn = 0, c3 = 0,
pmsav5_data_ap = 0,
pmsav5_insn_ap = 0, ifsr_el2 = 0, esr_el1 = 0, c6_region = {0, 0, 0, 0,
0, 0, 0, 0}, far_el1 = 0, par_el1 = 0, c9_insn = 0, c9_data = 0, c9_pmcr = 0,
c9_pmcnten = 0, c9_pmovsr = 0,
c9_pmxevtyper = 0, c9_pmuserenr = 0, c9_pminten = 0, mair_el1 = 0,
c12_vbar = 0, c13_fcse = 0, contextidr_el1 = 0, tpidr_el0 = 0, tpidrro_el0 = 0,
tpidr_el1 = 0, c14_cntfrq = 0,
c14_cntkctl = 0, c14_timer = {{cval = 0, ctl = 0}, {cval = 0, ctl = 0}},
c15_cpar = 0, c15_ticonfig = 0, c15_i_max = 0, c15_i_min = 0, c15_threadid = 0,
c15_config_base_address = 0,
c15_diagnostic = 0, c15_power_diagnostic = 0, c15_power_control = 0,
dbgbvr = {0 <repeats 16 times>}, dbgbcr = {0 <repeats 16 times>}, dbgwvr = {0
<repeats 16 times>}, dbgwcr = {
0 <repeats 16 times>}, c15_ccnt = 0}, v7m = {other_sp = 0, vecbase = 0,
basepri = 0, control = 0, current_sp = 0, exception = 0, pending_exception =
0}, exception = {
syndrome = 1174468607, fsr = 0, vaddress = 0}, teecr = 0, teehbr = 0, vfp
= {regs = {0 <repeats 64 times>}, xregs = {0, 0, 0, 0, 0, 0, 0, 0, 1073741824,
0, 0, 0, 0, 0, 0, 0},
vec_len = 0, vec_stride = 0, scratch = {0, 0, 0, 0, 0, 0, 0, 0},
fp_status = {float_detect_tininess = 1 '\001', float_rounding_mode = 0 '\000',
float_exception_flags = 0 '\000',
floatx80_rounding_precision = 0 '\000', flush_to_zero = 0 '\000',
flush_inputs_to_zero = 0 '\000', default_nan_mode = 0 '\000'},
standard_fp_status = {float_detect_tininess = 1 '\001',
float_rounding_mode = 0 '\000', float_exception_flags = 0 '\000',
floatx80_rounding_precision = 0 '\000', flush_to_zero = 1 '\001',
flush_inputs_to_zero = 1 '\001',
default_nan_mode = 1 '\001'}}, exclusive_addr = 0, exclusive_val = 0,
exclusive_high = 0, exclusive_test = 0, exclusive_info = 0, iwmmxt = {regs = {0
<repeats 16 times>}, val = 0,
cregs = {0 <repeats 16 times>}}, bswap_code = false, eabi = 1, features =
93977026291, nvic = 0x0, boot_info = 0x0}
(gdb) quit
A debugging session is active.
Inferior 1 [process 13185] will be killed.
Quit anyway? (y or n) y
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1316115/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |