Michael Zaidman <michael.zaid...@gmail.com> writes: > The do_reset routine in the cpu/mpc83xx/cpu.c file does not reset > the mpc83xx cpu when issued via netconsole. > > Moving the console output "resetting the board." to the beginning of > the routine before disabling interrupts solved the problem. > > Signed-off-by: Michael Zaidman <michael.zaid...@gmail.com>
Acked-by: Detlev Zundel <d...@denx.de> > --- > cpu/mpc83xx/cpu.c | 8 +++----- > 1 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/cpu/mpc83xx/cpu.c b/cpu/mpc83xx/cpu.c > index e38a372..51180d6 100644 > --- a/cpu/mpc83xx/cpu.c > +++ b/cpu/mpc83xx/cpu.c > @@ -199,7 +199,10 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char > *argv[]) > > volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; > > + puts("Resetting the board.\n"); > + > #ifdef MPC83xx_RESET > + > /* Interrupts and MMU off */ > __asm__ __volatile__ ("mfmsr %0":"=r" (msr):); > > @@ -214,9 +217,6 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char > *argv[]) > /* confirm Reset Control Reg is enabled */ > while(!((immap->reset.rcer) & RCER_CRE)); > > - printf("Resetting the board."); > - printf("\n"); > - > udelay(200); > > /* perform reset, only one bit */ > @@ -238,8 +238,6 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char > *argv[]) > */ > addr = CONFIG_SYS_RESET_ADDRESS; > > - printf("resetting the board."); > - printf("\n"); > ((void (*)(void)) addr) (); > #endif /* MPC83xx_RESET */ Cheers Detlev -- Less talking -- more hacking -- Olin Shivers -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot