All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] Cortex-M3: reading NVIC registers causes segfaults
@ 2014-02-17 14:52 Andreas Galauner
  2014-02-17 15:18 ` Peter Maydell
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Galauner @ 2014-02-17 14:52 UTC (permalink / raw)
  To: qemu-devel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-02-18  9:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-17 14:52 [Qemu-devel] Cortex-M3: reading NVIC registers causes segfaults Andreas Galauner
2014-02-17 15:18 ` Peter Maydell
2014-02-18  1:14   ` Andreas Färber
2014-02-18  9:51     ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.