* Warm reboot on 826x targets
@ 2005-04-12 18:14 Paul Gortmaker
2005-04-12 18:31 ` Eugene Surovegin
0 siblings, 1 reply; 8+ messages in thread
From: Paul Gortmaker @ 2005-04-12 18:14 UTC (permalink / raw)
To: linuxppc-embedded
I've been trying to get a WRS 8265 to do a warm reboot, and found some
things that I am wondering about.
Firstly, is anyone having success on having "reboot" restart the machine
on a similar platform?
Secondly, the default BOOTROM_RESTART_ADDR is 0x40000104 (sbc82xx.h) and I
was wondering if this matches any platforms out there. On this board, the
place where U-Boot lives is 0xFFF00104 -- and I've verified this by typing
"g fff00104" at the U-Boot prompt which causes U-Boot to simply restart.
I've changed the value in sbc82xx.h and now at the reboot, instead of a
register dump, it simply hangs. Looking at m8260_gorom (in kernel/head.S)
it clears the MSR_EE (ext int. enable) bit in the MSR before jumping --
but I was wondering if there are other bits in MSR that need to be
cleared; e.g. instruction relocation enable and data relocation enable
(MSR_IR and MSR_DR). The register bits are on p76 of MPCFPE32B.pdf from
Freescale.
I guess if somebody even said "it works for me" then I'd have a better
feeling thinking that what is done to the MSR currently is sufficient.
Paul.
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Warm reboot on 826x targets
2005-04-12 18:14 Warm reboot on 826x targets Paul Gortmaker
@ 2005-04-12 18:31 ` Eugene Surovegin
0 siblings, 0 replies; 8+ messages in thread
From: Eugene Surovegin @ 2005-04-12 18:31 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: linuxppc-embedded
On Tue, Apr 12, 2005 at 11:14:35AM -0700, Paul Gortmaker wrote:
> I've been trying to get a WRS 8265 to do a warm reboot, and found some
> things that I am wondering about.
>
> Firstly, is anyone having success on having "reboot" restart the machine
> on a similar platform?
>
> Secondly, the default BOOTROM_RESTART_ADDR is 0x40000104 (sbc82xx.h) and I
> was wondering if this matches any platforms out there. On this board, the
> place where U-Boot lives is 0xFFF00104 -- and I've verified this by typing
> "g fff00104" at the U-Boot prompt which causes U-Boot to simply restart.
>
> I've changed the value in sbc82xx.h and now at the reboot, instead of a
> register dump, it simply hangs. Looking at m8260_gorom (in kernel/head.S)
> it clears the MSR_EE (ext int. enable) bit in the MSR before jumping --
> but I was wondering if there are other bits in MSR that need to be
> cleared; e.g. instruction relocation enable and data relocation enable
> (MSR_IR and MSR_DR). The register bits are on p76 of MPCFPE32B.pdf from
> Freescale.
>
> I guess if somebody even said "it works for me" then I'd have a better
> feeling thinking that what is done to the MSR currently is sufficient.
I don't have any problems using reboot() on 8248 based board.
Kernel.org-based 2.4.29 tree.
I have U-Boot at 0xfe00'0000, and I use 0xfe00'0104 as a second
parameter for m8260_gorom. Also make sure that first parameter is also
correct:
m8260_gorom(__pa(__res), 0xfe000104);
--
Eugene
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Warm reboot on 826x targets
@ 2005-04-12 19:08 Frank
0 siblings, 0 replies; 8+ messages in thread
From: Frank @ 2005-04-12 19:08 UTC (permalink / raw)
To: Paul Gortmaker, linuxppc-embedded
--- Paul Gortmaker <p_gortmaker@yahoo.com> wrote:
> I've been trying to get a WRS 8265 to do a warm reboot, and
> found some
> things that I am wondering about.
>
> Firstly, is anyone having success on having "reboot" restart
> the machine
> on a similar platform?
>
> Secondly, the default BOOTROM_RESTART_ADDR is 0x40000104
> (sbc82xx.h) and I
> was wondering if this matches any platforms out there. On
> this board, the
> place where U-Boot lives is 0xFFF00104 -- and I've verified
> this by typing
> "g fff00104" at the U-Boot prompt which causes U-Boot to
> simply restart.
>
> I've changed the value in sbc82xx.h and now at the reboot,
> instead of a
> register dump, it simply hangs. Looking at m8260_gorom (in
> kernel/head.S)
> it clears the MSR_EE (ext int. enable) bit in the MSR before
> jumping --
> but I was wondering if there are other bits in MSR that need
> to be
> cleared; e.g. instruction relocation enable and data
> relocation enable
> (MSR_IR and MSR_DR). The register bits are on p76 of
> MPCFPE32B.pdf from
> Freescale.
>
> I guess if somebody even said "it works for me" then I'd have
> a better
> feeling thinking that what is done to the MSR currently is
> sufficient.
>
> Paul.
>
I'm working on the exact same problem with u-boot (trying to do
warm reboot from the VxWorks shell). I modified romInit.S to
pass control to u-boot (at 0xfe000000) and that works just fine.
But after I boot VxWorks from u-boot (go 0xfff00100) and invoke
reboot from the VxWorks shell, it just hangs. If I boot VxWorks
without invoking u-boot first, it works fine. If you find the
problem befor me, let me know and I'll do tha same...
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Small Business - Try our new resources site!
> http://smallbusiness.yahoo.com/resources/
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Warm reboot on 826x targets
@ 2005-04-22 19:46 Paul Gortmaker
2005-04-22 21:06 ` Eugene Surovegin
0 siblings, 1 reply; 8+ messages in thread
From: Paul Gortmaker @ 2005-04-22 19:46 UTC (permalink / raw)
To: Eugene Surovegin; +Cc: linuxppc-embedded
I should have asked what version of U-Boot you were using. I've had
U-Boot 1.1.1 on this thing from the beginning, but I've heard that some
people are sticking with 1.0 on production stuff.
I've found that I can't use the watchdog timer for a reboot, since it is
"write once" (SYCPR) and I'm guessing U-Boot writes to it at boot.
As a different twist, I tried doing a reset like the m8xx does, as shown
below, but that just caused a hang as well, so I'm wondering if the
problem is more low level (board isn't set up properly, etc.)
Paul.
/*
*This is a tweaked version of the m8xx_restart.
*/
static void
sbc82xx_restart(char *cmd)
{
__volatile__ unsigned char dummy;
unsigned long msr;
volatile car_cpm2_t *cc = &cpm2_immr->im_clkrst;
msr = mfmsr();
mtmsr(msr & ~MSR_EE);
__asm__ __volatile__("": : :"memory");
/* Checkstop reset enable -- Sec. 5.3 of MPC8260UM.pdf */
cc->car_rmr = 0x80000000;
msr = mfmsr();
mtmsr(msr & ~MSR_ME);
dummy = cc->res[0];
BUG();
}
--- Eugene Surovegin <ebs@ebshome.net> wrote:
> On Tue, Apr 12, 2005 at 11:14:35AM -0700, Paul Gortmaker wrote:
> > I've been trying to get a WRS 8265 to do a warm reboot, and found some
> > things that I am wondering about.
> >
> > Firstly, is anyone having success on having "reboot" restart the
> machine
> > on a similar platform?
> >
> > Secondly, the default BOOTROM_RESTART_ADDR is 0x40000104 (sbc82xx.h)
> and I
> > was wondering if this matches any platforms out there. On this board,
> the
> > place where U-Boot lives is 0xFFF00104 -- and I've verified this by
> typing
> > "g fff00104" at the U-Boot prompt which causes U-Boot to simply
> restart.
> >
> > I've changed the value in sbc82xx.h and now at the reboot, instead of
> a
> > register dump, it simply hangs. Looking at m8260_gorom (in
> kernel/head.S)
> > it clears the MSR_EE (ext int. enable) bit in the MSR before jumping
> --
> > but I was wondering if there are other bits in MSR that need to be
> > cleared; e.g. instruction relocation enable and data relocation enable
> > (MSR_IR and MSR_DR). The register bits are on p76 of MPCFPE32B.pdf
> from
> > Freescale.
> >
> > I guess if somebody even said "it works for me" then I'd have a better
> > feeling thinking that what is done to the MSR currently is sufficient.
>
> I don't have any problems using reboot() on 8248 based board.
> Kernel.org-based 2.4.29 tree.
>
> I have U-Boot at 0xfe00'0000, and I use 0xfe00'0104 as a second
> parameter for m8260_gorom. Also make sure that first parameter is also
> correct:
>
> m8260_gorom(__pa(__res), 0xfe000104);
>
> --
> Eugene
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Warm reboot on 826x targets
2005-04-22 19:46 Paul Gortmaker
@ 2005-04-22 21:06 ` Eugene Surovegin
2005-04-22 22:25 ` Wolfgang Denk
0 siblings, 1 reply; 8+ messages in thread
From: Eugene Surovegin @ 2005-04-22 21:06 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: linuxppc-embedded
On Fri, Apr 22, 2005 at 12:46:38PM -0700, Paul Gortmaker wrote:
> I should have asked what version of U-Boot you were using.
This is not relevant, because Linux doesn't use this "checkstop"
trick. It directly just jumps to U-Boot warm-reboot entry point.
--
Eugene
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Warm reboot on 826x targets
2005-04-22 21:06 ` Eugene Surovegin
@ 2005-04-22 22:25 ` Wolfgang Denk
2005-04-22 22:29 ` Eugene Surovegin
0 siblings, 1 reply; 8+ messages in thread
From: Wolfgang Denk @ 2005-04-22 22:25 UTC (permalink / raw)
To: Eugene Surovegin; +Cc: Paul Gortmaker, linuxppc-embedded
In message <20050422210610.GA9158@gate.ebshome.net> you wrote:
>
> This is not relevant, because Linux doesn't use this "checkstop"
> trick. It directly just jumps to U-Boot warm-reboot entry point.
Which is a bad design desicion, IMHO. If you want to reset a board,
you should really RESET it (and give all attached peripherals a
chance to get reset, too), instead of just assuming everything is in
good shape an it's sufficient to just jump into some boot loader code
again.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
"Language shapes the way we think, and determines what we can think
about." - B. L. Whorf
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Warm reboot on 826x targets
2005-04-22 22:25 ` Wolfgang Denk
@ 2005-04-22 22:29 ` Eugene Surovegin
2005-04-22 22:40 ` Wolfgang Denk
0 siblings, 1 reply; 8+ messages in thread
From: Eugene Surovegin @ 2005-04-22 22:29 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: Paul Gortmaker, linuxppc-embedded
On Sat, Apr 23, 2005 at 12:25:56AM +0200, Wolfgang Denk wrote:
> In message <20050422210610.GA9158@gate.ebshome.net> you wrote:
> >
> > This is not relevant, because Linux doesn't use this "checkstop"
> > trick. It directly just jumps to U-Boot warm-reboot entry point.
>
> Which is a bad design desicion, IMHO. If you want to reset a board,
> you should really RESET it (and give all attached peripherals a
> chance to get reset, too), instead of just assuming everything is in
> good shape an it's sufficient to just jump into some boot loader code
> again.
Sure, but tell me then, _WHY_ U-Boot has this warm-reboot entry?
IMHO, Motorola should have implemented normal reset facility, which
doesn't require any tricks.
--
Eugene
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Warm reboot on 826x targets
2005-04-22 22:29 ` Eugene Surovegin
@ 2005-04-22 22:40 ` Wolfgang Denk
0 siblings, 0 replies; 8+ messages in thread
From: Wolfgang Denk @ 2005-04-22 22:40 UTC (permalink / raw)
To: Eugene Surovegin; +Cc: linuxppc-embedded
In message <20050422222925.GB9158@gate.ebshome.net> you wrote:
>
> Sure, but tell me then, _WHY_ U-Boot has this warm-reboot entry?
Because a customer payed for it, and it does not hurt (as long as you
don't use it).
> IMHO, Motorola should have implemented normal reset facility, which
> doesn't require any tricks.
Only machines that are supposed to run M$ software need a reset
facility :-)
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
"Unix is simple, but it takes a genius to understand the simplicity."
- Dennis Ritchie
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-04-22 22:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-12 18:14 Warm reboot on 826x targets Paul Gortmaker
2005-04-12 18:31 ` Eugene Surovegin
-- strict thread matches above, loose matches on Subject: below --
2005-04-12 19:08 Frank
2005-04-22 19:46 Paul Gortmaker
2005-04-22 21:06 ` Eugene Surovegin
2005-04-22 22:25 ` Wolfgang Denk
2005-04-22 22:29 ` Eugene Surovegin
2005-04-22 22:40 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).