Hi Arnd,

> > The memory-mapped interface is hugely unreliable in real hardware because
> > you have to calculate the address of the memory-mapped debug registers by
> > using a base and offset, which are hardcoded in some information registers.
> > Unfortunately, I've never found a board where these registers have been
> > programmed correctly so (a) I had nothing to test my code with (b) few 
> > people
> > would be able to use it and (c) there's not really a safe way to go around
> > poking random areas of memory.
> 
> So the only problem is that it's board specific? That's something we
> know how to deal with -- all I/O components have some random board
> specific address, and we put them in a platform device that is
> listed in the board file. This should be easy enough to do for another
> register area, though it means we have to do it separately for each board.

Correct - and I think registered this thing statically from the BSP code
is the only real option we have. This does mean that somebody will need to
find a board where this stuff works and then try and find out where the
debug registers live in memory.

> > The simple rule is Cortex-A8 is unsupported and Cortex-A9 is supported.
> > The A5 should work (untested) and the A15 will need a bit of hacking to
> > get it supported.
> 
> Is that because A8 is memory mapped and A9 uses CP14, or is there another
> problem with A8?

That's right, the A8 is memory mapped so is why it doesn't work with the
current code. It's worth taking into account that I don't know of any other
cores (current or future) that use the memory-mapped debug interface, so any
work in this area will benefit only the A8 (and those platforms known to have
working (i.e. powered) memory-mapped debug at a known offset) for the forseeable
future.

Will




_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to