Hi,

I'm currently extending the Aarch64 support to enable debugging Aarch32 state 
as well. For a few days now I'm hunting a problem that I'm not really able to 
overcome.

In ARMv8 debugging, a PE can take exceptions while in debug states. For 
example, if you make a memory access throught the PE and it results in a MMU 
fault, an exception is signalled through DSCR.ERR and certain registers are 
overwritten, which you need to restore before you resume. This works fine in 
Aarch64 state.

However, taking an exception in Aarch32 mode behaves differently in that 
immediately on resuming, the PE takes a data abort exception, i.e. it jumps to 
the corresponding exception vector. I have not yet found a way to prevent this 
behaviour and it completely upsets the program under debug. The linux kernel 
basically panics because the data abort is entered with the wrong mode in PSR.

If someone has an idea about what's happening, that'd be awesome.

BR,
Matthias


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to