Dear Kumar Gala, In message <17e34909-a735-4920-9980-059d95535...@kernel.crashing.org> you wrote: > > > If so, I wonder what has changed, because this used to be working in > > older versions of the kernel? I did not attampt a full git bisect, > > but from some old images I still found it appears it must have been > > broken between 2.6.16 ("reboot" in Linux works fine) and 2.6.27 > > ("reboot" does not work any more) - so probably this was part of the > > arch/ppc => arch/powerpc rework. > > Possible, its a pretty fragile reset solution so one (or a thousand) of > a million things could be the issue. > > > Is there any specific reason we don't use the good old approach of > > triggering an unhandled machine check exception? > > Hmm, when did we do that? I've got no issues with it if it causes > HRESET_REQ to be signaled on the older devices. On MPC8548 and greater > we provided a means for software to causes HRESET_REQ to be asserted. > So if an unhandled mcheck will do this sounds good to me.
For example for PQ2 Linux does this (in arch/powerpc/platforms/82xx/pq2.c): 26 void pq2_restart(char *cmd) 27 { 28 local_irq_disable(); 29 setbits32(&cpm2_immr->im_clkrst.car_rmr, RMR_CSRE); 30 31 /* Clear the ME,EE,IR & DR bits in MSR to cause checkstop */ 32 mtmsr(mfmsr() & ~(MSR_ME | MSR_EE | MSR_IR | MSR_DR)); 33 in_8(&cpm2_immr->im_clkrst.res[0]); 34 35 panic("Restart failed\n"); 36 } So we set the Checkstop Reset enable, and then reference a known bad address. Should we try and do the same here, too? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de A person with one watch knows what time it is; a person with two watches is never sure. Proverb _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot