Hitting Exception address (undefined vectors) - 0xFFFF0288

Greg J <[email protected]>
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
I  run linux  and some firmware on my xscale and I see an issue where the PC
has an address in the General Jump table area of the exception handlers (
Between 0xFFFF0000 and 0xFFFF0400).   In the area -0xFFFF0200 onwards, I see
that there are addresses to abort hanlders like irq_svc, __dabt_invalid
etc.  However, my PC register seems to be stuck at  0xFFFF0288 or 0xFFFF030C
or 0xFFFF0010 etc.  This is eventually reset by my watchdog and I dump the
PC into nvram - This is how I get to see the last instruction.

The region 0xFFFF0288/ 0xFFFF030C / 0xFFFF0010  don't have any valid
addresses.

 I have been successful at simluating this condition by over writing  the
stack from kernel level functions and the PC is stuck at 0xFFFF0288.

My question is,  is it expected that when we overwrite the stack ( possible
memory corruption)  etc,  is the ARM  core expected to jump to such
locations.  Is there any other reason why the CPU could end up jumping to
some such vector location which has garbage in it.

Appreciate it if anyone could share their experiences/insights on this.

Thanks,
Greg.

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.