Yay! for mvme5500

Till Straumann strauman at slac.stanford.edu
Thu Feb 24 20:57:06 UTC 2005


Peter Dufault wrote:

>
> On Feb 24, 2005, at 12:10 PM, Peter Dufault wrote:
>
>>
>>
>> 3. I get all my "Hello World" output, but the Motorola "MOTBoot" 
>> dramatically complains when it finishes up.  I assume this is just my 
>> getting started.
>>
>
> It's actually Till Straumann's code in exceptionhandler.c being so 
> dramatic.  I think interrupt driven output from "hello world" is being 
> mixed with the output from exceptionhandler.c.  A quick check of 
> exceptionhandler.c will show that Till has a flair for drama (e.g., 
> Aieeh, Uhuuuh).  Hopefully this isn't indicative of a real problem. 

"dramatic" messages are printed if some sort of internal error (as 
opposed to an application
programming error) is discovered. These messages are indicative of a 
real problem.

In your case, a DSI exception was raised which by itself should not 
occur but could
be the result of a programming error (e.g., bogus pointer deref).

However, the system fails to identify the faulting task which is a 
severe internal error.

I traced it down to a bug in 'exceptionhandler.c' which I had long fixed 
in my BSP but
apparently the fix wasn't propagated to mvme5500.

Another example of the consequence of the lack of a good API for 
exception processing
at the libcpu level :-(

The attached patch fixes the bug that lead to the complaint about an 
'unknown task'.
You still want to explore why you get the exception in the first place!

If you don't know how to do that you can send me your binary (exactly the
version that printed the register dump -- needs to be the final-link ELF 
object,
not a pure binary).

HTH
-- T.

>
>
>------------------------------------------------------------------------
>
>*** HELLO In BSP_exceptionHandler()
>Uhuuuh, Exception 3 in unknown task???
>         Next PC or Address of fault = 309C, Mvme5500 Saved MSR = B032
>         R0  = 00000005 R1  = 1FDFC490 R2  = 00000000 R3  = 00000000
>         R4  = 00000000 R5  = 00000000 R6  = 40000082 R7  = 00017220
>         R8  = 0000B032 R9  = 00000001 R10 = 0000B032 R11 = 0000017C
>         R12 = 000009BC R13 = 00034BB4 R14 = 00000000 R15 = 00000000
>         R16 = 00000000 R17 = 00000000 R18 = 00000000 R19 = 00000000
>         R20 = 00000000 R21 = 00000000 R22 = 00030000 R23 = 00000001
>         R24 = 00000000 R25 = 0002EA2C R26 = 0002E9A4 R27 = 00000001
>         R28 = 00000001 R29 = 0002EA28 R30 = 00034B10 R31 = 00000000
>         CR  = 20000024
>         CTR = 000284F0
>         XER = 20000000
>         LR  = 0000017C
>         DAR = 00000000
>Stack Trace:
>  IP: 0x0000309C, LR: 0x0000017C
>--^ 0x00028500--^ 0x0001E684--^ 0x00003370--^ 0x0001E364--^ 0x0001E2E0
>unrecoverable exception!!! task 0A010001 suspended
>WORLD TEST ***
>Hello World
>*** END OF HELLO WORLD TEST ***
>
>
>
>  
>
>
> ------------------------------------------------------------------------
>
>
>
> Peter Dufault
> HD Associates, Inc.


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: exceptionhandler.diff
URL: <http://lists.rtems.org/pipermail/users/attachments/20050224/3af5e8f4/attachment-0001.ksh>


More information about the users mailing list