Hi! I solved our problem a different way: I added a reset of the CPM just before calling te m8260_gorom(). The effect is that the message "rebooting" which was often followed by a strange character is now cut short ("reboo"), but uboot is always comming up afterwards. I've tested this by adding a "reboot" command in an S script in rc3.d. The system with the unpatched kernel failed aboutonce every 30 times it rebooted, with the patch it continued rebooting correctly for 3 days (then I stopped the tests by hand).
The code for rebooting the CPM was obtained from the freescale manuals of the mpc8270. Anyone interested in the actual patch? Theo. Matvejchikov Ilya schreef: > Hi! > > I thik that m8260_restart in 2.4 kernel is broken. Try to get it from > the 2.6 kernel, or look at this. > > /* The 8260 has an internal 1-second timer update register that > @@ -112,21 +123,16 @@ m8260_get_rtc_time(void) > static void > m8260_restart(char *cmd) > { > - extern void m8260_gorom(bd_t *bi, uint addr); > - uint startaddr; > - > - /* Most boot roms have a warmstart as the second instruction > - * of the reset vector. If that doesn't work for you, change this > - * or the reboot program to send a proper address. > - */ > - startaddr = 0xff000104; > - > - if (cmd != NULL) { > - if (!strncmp(cmd, "startaddr=", 10)) > - startaddr = simple_strtoul(&cmd[10], NULL, 0); > - } > - > - m8260_gorom((unsigned int)__pa(__res), startaddr); > + __volatile__ unsigned char dummy; > + > + local_irq_disable(); > + ((cpm2_map_t *) cpm2_immr)->im_clkrst.car_rmr |= 0x00000001; > + > + /* Clear the ME,EE,IR & DR bits in MSR to cause checkstop */ > + mtmsr(mfmsr() & ~(MSR_ME | MSR_EE | MSR_IR | MSR_DR)); > + dummy = ((cpm2_map_t *) cpm2_immr)->im_clkrst.res[0]; > + printk("Restart failed\n"); > + while (1) ; > } > _______________________________________________ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > > _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded