
It isn't going to be the exception handling mechanism.
FAQ: http://www.denx.de/twiki/bin/view/DULG/UBootCrashAfterRelocation
Note to Wolfgang: I added some more text to the above link. I was going to add a new section to the linux section of the FAQ to refer to the above link, but forgot how to add sections given your DULG structuring :-(. I propose the following be added:
%SECTION0{name=LinxRandomCrash}% Linux crashes randomly
Question:: On my board, linux crashes randomly or has random exceptions (especially floating point exceptions if it is a PowerPC processor). Why?
Answer:: Quite likely your SDRAM initialization is bad. See UBootCrashAfterRelocation for more information. <p></p> On a PowerPC, the instructions beginning with 0xFF are floating point instructions. When your memory subsystem fails, the PowerPC is reading bad values (0xFF) and thus executing illegal floating point instructions.
gvb
-----Original Message----- From: u-boot-users-admin@lists.sourceforge.net [mailto:u-boot-users-admin@lists.sourceforge.net]On Behalf Of haigao Sent: Friday, August 27, 2004 3:16 AM To: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] Help--750FX,Cannot handle DEC or External Interrupt exception.U-Boot-1.1.1, ELDK3.0,RedHat
My target platform is with 750FX and MPC107, 256M ram, a
NS16c552 serial and also a Intel 82559 compatiable ethernet controller.
Which board configuration is this, and which version of U-Boot?
U-Boot 1.1.1 ELDK3.0 RedHat9.0,
I made our board's configuration file by copying and modifying the BAB7xx.h.
[And another question in anticipation of your reply (a
new board
configuration being ported by you based on an old version
of U-Boot):
are you absolutely sure that your SDRAM init code is correct?]
Yes, I am sure my SDRAM init code is correct, because I had Vxworks running on many pieces of boards for many days Also, I've coded a program to test SDRAM detailly, but on Vxworks.
I have tested my situation for already many times. And found:
- Sometimes, even program exception handling cannot work
when I use "go 0x8000(or 0x9000, or 0x123456, or any other place"(Of course I examined the data there). 2)Sometimes, even I set IP bit in MSR register, exception handling also cannot work. 3)My hundreds of trying seemed ruleless.
I guess, the cause maybe the cache or exception handling mechanism ? And can you tell me is there a successful case that U-Boot on 750FX or 750 can handle the exceptions normally? Thanks a lot for your reply.
Best regards, gaohai
****************************************** The following messages are brought to you by the Lawyers' League of IdioSpeak:
****************************************** The information contained in, or attached to, this e-mail, may contain confidential information and is intended solely for the use of the individual or entity to whom they are addressed and may be subject to legal privilege. If you have received this e-mail in error you should notify the sender immediately by reply e-mail, delete the message from your system and notify your system manager. Please do not copy it for any purpose, or disclose its contents to any other person. The views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of the company. The recipient should check this e-mail and any attachments for the presence of viruses. The company accepts no liability for any damage caused, directly or indirectly, by any virus transmitted in this email. ******************************************