Question about debugging Bad mode in â handler detected

Russell King - ARM Linux
2014-01-03T14:58:05Z

On Fri, Jan 03, 2014 at 10:46:25PM +0800, Axel Lin wrote:
> I hit a "Bad mode in ? handler detected" oops.
> The first line of the message looks un-readable, so I print the reason
> index as well. The reason index is "4", so it does not exist in the
> handler array.
> static const char *handler[]= { "prefetch abort", "data abort", "address exception", "interrupt" };
> I'd appreciate if someone can give me advices and comments to debug this.

Hmm, the 4th entry should be "undefined instruction".

You basically hit an undefined instruction while trying to enter interrupt
servicing very early on.

My guess is that you have some kind of vectored interrupt controller which
took told the CPU to jump to 0xa00. It looks to me as if that's part of
the vectors page, and there's no code there.

(The unused portions of the vectors page are now filled with that
undefined instruction.)

--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".