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: Benoit Tinite
Subject: Re: [Ltib] Inability to reboot the MPC8349mITX
Date: Tue, 02 Jan 2007 12:27:10 +0100
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)

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






reply via email to

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