
Hi Stefan,
On Thu, Jun 27, 2013 at 9:12 PM, Stefan Roese sr@denx.de wrote:
Hi Simon,
On 06/28/2013 04:14 AM, Simon Glass wrote:
I can create something with or without compression and I cannot see the failure. Tom is seeing it though. I will see if I can get another board to try. If you have any ideas please let me know.
Sorry, but I don't have any ideas. I also checked the parameters of the gunzip call. And they were identical in the working (before this patch) and non-working version (with this patch). gunzip() just didn't return.
One idea: It might have something to do with the interrupt disabling, as powerpc compresses to 0. And thats the location of the interrupt vectors (timer?). Just an idea. Do you remember shuffling the disable_interrupts() call around?
Hmmm yes I did shuffle them around, figuring that the interrupts needed to be disabled before booting the OS but not before loading it. It seems like I made a bad assumption here.
I have been through the code multiple times and I cannot see a difference in operation. Also it does work correctly on the ARM platforms I have tried. It is broken on Tom's ARM platform, but perhaps that could be an interrupt issue also.
I am going to post a patch to restore the interrupt code to where it was, hoping that this shows some difference for your error. I will also post a couple of revert patches for those who are blocked on this. We will have to apply reverts fairly soon if the solution doesn't present itself.
I'll check myself in a few hours.
OK please let me know if you find anything else. Thanks for your help. Refactoring code is a tricky business...I much prefer the new bootm code, if it can work on all platforms.
Regards, Simon