Software Emulation Kernel Panic--specific information
Wolfgang Denk
wd at denx.de
Thu Jun 22 06:08:27 EST 2000
In message <A109131318C4D1119AC20060088DECE330F493 at amwmail.adaptivemicro.com>
Lucinda Schafer wrote:
>
> The NIP, LR, and TRAP always seem to be set to the same values (others
> vary). I assume those values are physical addresses.
No. All these are virtual addresses.
> If so, from System.map, the NIP seems to be between c0001f00 t Trap_1f and
> c0002000 T transfer_to_handler.
It should be obvious that 0xCxxxxxxx is a virtual address.
> I can't make sense of this, since I don't fully understand what the
> relationship of NIP and LR are. Does the LR address refer to the return
> address after the exception? Does this mean the exception happened in the
> Decrementer timer interrupt? Why is the NIP set to a value between Trap_1f
> and transfer_to_handler?
NIP means "Next Instruction Pointer" and contains the address of the
statement following the one that caused the exception; LR is the link
register and contains the return address = the address where executun
continues when you return from the current function.
So in simple words: NIP-4 gives the IP (Intruction Pointer) aka PC
(Program Counter), and LR-4 is the place where your current function
was called.
Hope this helps,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
To get something done, a committee should consist of no more than
three men, two of them absent.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list