ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ltib] Inability to reboot the MPC8349mITX


From: Stuart Hughes
Subject: Re: [Ltib] Inability to reboot the MPC8349mITX
Date: Tue, 02 Jan 2007 13:29:15 +0000

Hi Benoit,

Thanks for that, I'll pass that back to the itx group.

Regards, Stuart

On Tue, 2007-01-02 at 12:27 +0100, Benoit Tinite wrote:
> Hello,
> 
> Above all, happy new year to every body.
> 
> I met the same issue when playing with MPC8349mITX board.
>  From my opinion, function 
> mpc83xx_restart(arch/ppc/syslib/ppc83xx_setup.c) is faulty.
> It define a specific procedure to restart the mpc8349mITX platform,
> using a self generated checkstop exception to reset the board.
> However, the way the function handles registers to rise a the checkstop 
> is strange (lack of indirection).
> I had to modify the function like this :
> 
> --- rpm/BUILD/linux-2.6.13/arch/ppc/syslib/ppc83xx_setup.c      
> 2007-01-02 12:03:12.000000000 +0100
> +++ rpm/BUILD/linux-2.6.14.7/arch/ppc/syslib/ppc83xx_setup.c    
> 2006-12-21 18:38:48.000000000 +0100
> @@@ -131,7 +146,7 @@ mpc83xx_restart(char *cmd)
> 
>         volatile unsigned char  dummy;
>         volatile unsigned int   msr;
> -       unsigned int bad_addr, rmr_addr, br0_addr;
> +       volatile unsigned int bad_addr, rmr_addr, br0_addr;
> 
>         /* Get base address mapped by BR0/OR0 */
>         br0_addr = (unsigned int)(VIRT_IMMRBAR + 0x5000);
> @@ -141,10 +156,10 @@ mpc83xx_restart(char *cmd)
>         cli();
> 
>         /* Enable CheckStop Reset */
> -       rmr_addr |= 0x00000001;
> +       *(unsigned int *)rmr_addr |= 0x00000001;
> 
>         /* Invalidate BR0 mapping */
> -       br0_addr = 0;
> +       *(unsigned int *)br0_addr = 0;
> 
>         /* Set MSR and cause reset */
>         __asm__("mfmsr %0" : "=r" (msr) );
> @@ -200,31 +215,33 @@ mpc83xx_halt(void)
>         for(;;);
>  }
> 
> Mark Lacas a écrit :
> > Hello,
> >   Has anyone experienced the inability to reboot the MPC8349mITX system?
> > If so does anyone have a cure?
> >
> > I get this output when I type the reboot command from the shell:
> >
> > ----- beginning of pasted text -----
> >
> > Stopping the dropbear ssh server:
> > Stopping inetd:
> > Syncing hardware clock to system time
> > Unmounting filesystems
> > chmod: changing permissions of `/share': Read-only file system
> >
> > The system is going down NOW !!
> >
> > Sending SIGTERM to all processes.
> >
> > Send
> > Please stand by while rebooting the system.
> > md: stopping all md devices.
> >
> > md: md0 switched to read-only mode.
> >
> > Synchronizing SCSI cache for disk sda:
> >
> > Restarting system.
> >
> > .
> >
> > Restart failed
> >
> > ----- end of pasted text -----
> >
> > Looking in the kernel code I find a file ppc83xx_setup.c that has some
> > reset code in it.  Looks like it's trying to perform a hardware reset
> > and then if that fails goes into an infinite loop.
> >
> > I need to use the box from remote for dev and having it hang when I
> > reboot puts an end to my work.
> >
> > Thanks,
> > ml
> >
> >
> >
> > _______________________________________________
> > LTIB home page: http://bitshrine.org
> >
> > Ltib mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/ltib
> >
> 
> 
> 
> _______________________________________________
> LTIB home page: http://bitshrine.org
> 
> Ltib mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/ltib
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]