qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Cortex-M3: reading NVIC registers causes segfaults


From: Andreas Galauner
Subject: [Qemu-devel] Cortex-M3: reading NVIC registers causes segfaults
Date: Mon, 17 Feb 2014 15:52:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

Hi qemu developers,

I'm currently trying to emulate an ARM Cortex-M3 and I need to debug the
system using GDB and IDA Pro. The platform is an STM32 and I'm using a
port from github [1] based on qemu 1.5.1 for that. I ported the custom
STM32 code to qemu 1.7.0 to have a more recent version to work with.

During a debug session, I'm experiencing segfaults in armv7m_nvic.c when
reading the CPUID and Vector base registers (lines 176 and 212), because
ARM_CPU(current_cpu) returns a NULL-pointer. IDA seems to do that quite
regularly. Debugging with GDB works until you try to read the mentioned
registers by hand like this:

> (gdb) target remote :1234
> Remote debugging using :1234
> 0x08005d1c in ?? ()
> (gdb) x/x *0xE000ED00
> Remote connection closed

The original STM32-port was based on qemu 1.5.1 and the behaviour was
the same. That was the reason why I ported all that stuff over to 1.7.0
which unfortunately didn't solve the problem.

Is this a known bug?
Any hints on how I could possibly solve that problem?

- Andy

[1]: https://github.com/beckus/qemu_stm32



reply via email to

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