From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joakim Tjernlund Date: Thu, 24 Jan 2013 09:58:34 +0100 Subject: [U-Boot] mpc512x: Trouble migrating from 2012.07 to 2013.01 In-Reply-To: References: , <20130123212559.309ED2454A1@gemini.denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Joakim Tjernlund/Transmode wrote on 2013/01/24 09:40:45: > From: Joakim Tjernlund/Transmode > To: Mats K?rrman , > Cc: "u-boot at lists.denx.de" , Wolfgang Denk > Date: 2013/01/24 09:40 > Subject: RE: [U-Boot] mpc512x: Trouble migrating from 2012.07 to 2013.01 > > Mats K?rrman wrote on 2013/01/23 22:58:56: > > > > Dear Wolfgang Denk, > > > > >> Found that it was looping endlessly in arch/powerpc/lib/ticks.S::wait_ticks > > (). Reverting commit "ppc: Create a stack frame for wait_ticks()" made > > everything work again. > > > > > > This makes no sense to me - especially as it works on all other > > > systems. > > > > Me neither, there is not a lot details. I do recall having other problems with > wait_ticks from time to time, sometimes the TB counter(mtfbu, mftb in get_ticks) > would not increment so one would just loop forever in wait_ticks. This problem > had nothing to do with my patch though. > Never got around to finding out what caused it, we ended up blaming unstable HW. > > Some ideas though: > - Perhaps you have some alignment problem, try adding nop's here and there. > - My patch uses r0(which is what one should use to make gdb happy) instead of r8 > to stash the LR. Possibly you have some odd dependency on r0, try using r8 again. Try getting LR from stack instead of trusting r0 to be valid: - mtlr r0 /* restore link register */ + lwz r0, 20(r1) /* restore link register */ + mtlr r0 This is what one should do but as we have complete control of r0 here we don't need to. hmm, do you have WATCHDOG_RESET defined? does it use r0? I guess the above patch would make wait_ticks safer from accidental use by WATCHDOG_RESET, if it works for you, please send a proper patch to u-boot. Jocke