Re: PLPRCR & Checkstop reset
From: Jerry Van Baren <hidden>
Date: 2000-06-27 18:50:38
It would be better to not jump to the reset vector on a warm start. Often there is hardware configuration issues with rerunning all the reset code - the primary one is that the IMMR quite likely is in a different location than the power up default value. I've seen two conventions. The one I've seen more often is to jump to the 4th byte after the reset vector (0xFFF00004). In this case, the first reset location is a branch to the coldstart location. I checked LiMon 1.1 and it uses the (reserved) zeroth vector (0xFFF00000) for its warmstart location. gvb At 01:50 PM 6/27/00 -0400, Dan Malek wrote:
quoted hunk ↗ jump to hunk
Dan Malek wrote:quoted
Here is the first installment.Let's try this again.......I will actually attach something this time. I am travelling and don't have access to a system or enought documentation to attempt checkstop/reset. -- Dan--- linux.old/arch/ppc/kernel/m8xx_setup.c Wed Feb 16 11:43:25 2000 +++ linux/arch/ppc/kernel/m8xx_setup.c Tue Jun 27 09:47:27 2000@@ -228,9 +240,17 @@ void m8xx_restart(char *cmd) { - extern void m8xx_gorom(void); + extern void m8xx_gorom(uint bp, uint startaddr); + uint startaddr; + + startaddr = 0xfff00100; + + if (cmd != NULL) { + if (!strncmp(cmd, "startaddr=", 10)) + startaddr = simple_strtoul(&cmd[10], NULL, 0); + } - m8xx_gorom(); + m8xx_gorom((uint)__pa(res), startaddr); } void
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/