* [U-Boot] bootcounter implementation for OMAP3
@ 2010-03-09 3:46 Nitin Mahajan
2010-03-09 8:33 ` Detlev Zundel
0 siblings, 1 reply; 6+ messages in thread
From: Nitin Mahajan @ 2010-03-09 3:46 UTC (permalink / raw)
To: u-boot
Hello,
I am trying to implement the bootcount_store and bootcount_load
methods for the OMAP3503 processor based board which I am using.
For this I decided to use the location at the end of scratchpad RAM,
that is I am trying to write at location 0x480029BF. The code looks like
this, but the boot loader hags when it encounters bootcount_load.
#ifdef CONFIG_BOOTCOUNT_LIMIT
void bootcount_store(ulong a)
{
volatile ulong *save_addr =
(volatile ulong *)(0x480029BF);
*save_addr = (BOOTCOUNT_MAGIC & 0xffff0000) | (a & 0x0000ffff);
}
ulong bootcount_load(void)
{
volatile ulong *save_addr = (volatile ulong *)(0x480029BF);
if ((*save_addr & 0xffff0000) != (BOOTCOUNT_MAGIC & 0xffff0000))
return 0;
else
return (*save_addr & 0x0000ffff);
}
#endif /* CONFIG_BOOTCOUNT_LIMIT */
Am I doing some thing wring fundamentally? Can I get some pointers towrads this?
Also this code I have put in cpu/arm_cortexa8/cpu.c. Is there a way I can put these functions in OMAP3 specific code and still have them called?
regards
-Nitin
New Email names for you!
Get the Email name you've always wanted on the new @ymail and @rocketmail.
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] bootcounter implementation for OMAP3
2010-03-09 3:46 [U-Boot] bootcounter implementation for OMAP3 Nitin Mahajan
@ 2010-03-09 8:33 ` Detlev Zundel
2010-03-09 11:53 ` Nitin Mahajan
0 siblings, 1 reply; 6+ messages in thread
From: Detlev Zundel @ 2010-03-09 8:33 UTC (permalink / raw)
To: u-boot
Hi Nitin,
> I am trying to implement the bootcount_store and bootcount_load
> methods for the OMAP3503 processor based board which I am using.
>
> For this I decided to use the location at the end of scratchpad RAM,
> that is I am trying to write at location 0x480029BF. The code looks like
> this, but the boot loader hags when it encounters bootcount_load.
>
>
> #ifdef CONFIG_BOOTCOUNT_LIMIT
> void bootcount_store(ulong a)
> {
> volatile ulong *save_addr =
> (volatile ulong *)(0x480029BF);
> *save_addr = (BOOTCOUNT_MAGIC & 0xffff0000) | (a & 0x0000ffff);
You are writing a 32 bit entity to an non 32-bit aligned address.
Although I do not know the omap too well, this can be a problem on any
architecture.
Can you write 32-bot to that exact address from within the U-Boot
commandline with e.g. "mm"?
Cheers
Detlev
--
Q: What do you get when you cross an elephant and a banana?
A: |elephant| * |banana| * sin(theta)
--
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: dzu at denx.de
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] bootcounter implementation for OMAP3
2010-03-09 8:33 ` Detlev Zundel
@ 2010-03-09 11:53 ` Nitin Mahajan
2010-03-09 17:22 ` Detlev Zundel
0 siblings, 1 reply; 6+ messages in thread
From: Nitin Mahajan @ 2010-03-09 11:53 UTC (permalink / raw)
To: u-boot
Hello,
--- On Tue, 9/3/10, Detlev Zundel <dzu@denx.de> wrote:
> From: Detlev Zundel <dzu@denx.de>
> Subject: Re: [U-Boot] bootcounter implementation for OMAP3
> To: nitinm76 at yahoo.com
> Cc: u-boot at lists.denx.de
> Date: Tuesday, 9 March, 2010, 2:03 PM
> Hi Nitin,
>
> > I am trying to implement the bootcount_store and
> bootcount_load
> > methods for the OMAP3503 processor based board which I
> am using.
> >
> > For this I decided to use the location at the end of
> scratchpad RAM,
> > that is I am trying to write at location 0x480029BF.
> The code looks like
> > this, but the boot loader hags when it encounters
> bootcount_load.
> >
> >
> > #ifdef CONFIG_BOOTCOUNT_LIMIT
> > void bootcount_store(ulong a)
> > {
> > ??? volatile ulong *save_addr =
> > ??? ??? (volatile ulong
> *)(0x480029BF);
> > ??? *save_addr = (BOOTCOUNT_MAGIC &
> 0xffff0000) | (a & 0x0000ffff);
>
> You are writing a 32 bit entity to an non 32-bit aligned
> address.
> Although I do not know the omap too well, this can be a
> problem on any
> architecture.
>
> Can you write 32-bot to that exact address from within the
> U-Boot
> commandline with e.g. "mm"?
That was the basic mistake I think. I was trying to write to a non 32 bit aligned address. This got solved, but I have some new errors saying this
## Error: environment overflow, "stdin" deleted
## Error: environment overflow, "stdout" deleted
## Error: environment overflow, "stderr" deleted
## Error: environment overflow, "bootcount" deleted
Does that mean the size allocated for env is smaller compared to the actual contents in env file.
I am new to u-boot. Can you give some pointers on this?
regards
-Nitin
>
> Cheers
> ? Detlev
>
> --
> Q: What do you get when you cross an elephant and a
> banana?
> A: |elephant| * |banana| * sin(theta)
> --
> 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:
> dzu at denx.de
>
New Email addresses available on Yahoo!
Get the Email name you've always wanted on the new @ymail and @rocketmail.
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] bootcounter implementation for OMAP3
2010-03-09 11:53 ` Nitin Mahajan
@ 2010-03-09 17:22 ` Detlev Zundel
2010-03-10 5:04 ` Nitin Mahajan
0 siblings, 1 reply; 6+ messages in thread
From: Detlev Zundel @ 2010-03-09 17:22 UTC (permalink / raw)
To: u-boot
Hi Nitin,
>> You are writing a 32 bit entity to an non 32-bit aligned address.
>> Although I do not know the omap too well, this can be a problem on
>> any architecture.
>>
>> Can you write 32-bot to that exact address from within the U-Boot
>> commandline with e.g. "mm"?
>
> That was the basic mistake I think. I was trying to write to a non 32
> bit aligned address. This got solved, but I have some new errors
> saying this
Ok, thanks for the confirmation.
> ## Error: environment overflow, "stdin" deleted
> ## Error: environment overflow, "stdout" deleted
> ## Error: environment overflow, "stderr" deleted
> ## Error: environment overflow, "bootcount" deleted
[dzu at pollux u-boot-testing (master)]$ git grep "environment overflow"
common/cmd_nvedit.c: printf ("## Error: environment overflow, \"%s\" deleted\n", name);
tools/env/fw_env.c: "Error: environment overflow, \"%s\" deleted\n",
> Does that mean the size allocated for env is smaller compared to the
> actual contents in env file. I am new to u-boot. Can you give some
> pointers on this?
Only you can answer what you have defined for your configuration.
Cheers
Detlev
--
He who can properly define and divide is to be considered a god.
-- Plato
--
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: dzu at denx.de
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] bootcounter implementation for OMAP3
2010-03-09 17:22 ` Detlev Zundel
@ 2010-03-10 5:04 ` Nitin Mahajan
2010-03-10 6:28 ` Wolfgang Denk
0 siblings, 1 reply; 6+ messages in thread
From: Nitin Mahajan @ 2010-03-10 5:04 UTC (permalink / raw)
To: u-boot
Hello,
--- On Tue, 9/3/10, Detlev Zundel <dzu@denx.de> wrote:
> From: Detlev Zundel <dzu@denx.de>
> Subject: Re: [U-Boot] bootcounter implementation for OMAP3
> To: nitinm76 at yahoo.com
> Cc: u-boot at lists.denx.de
> Date: Tuesday, 9 March, 2010, 10:52 PM
> Hi Nitin,
>
> >> You are writing a 32 bit entity to an non 32-bit
> aligned address.
> >> Although I do not know the omap too well, this can
> be a problem on
> >> any architecture.
> >>
> >> Can you write 32-bot to that exact address from
> within the U-Boot
> >> commandline with e.g. "mm"?
> >
> > That was the basic mistake I think. I was trying to
> write to a non 32
> > bit aligned address. This got solved, but I have some
> new errors
> > saying this
>
> Ok, thanks for the confirmation.
>
> > ## Error: environment overflow, "stdin" deleted?
> ? ? ? ? ? ? ? ?
> ? ? ? ? ? ?
> ???
> > ## Error: environment overflow, "stdout" deleted?
> ? ? ? ? ? ? ? ?
> ? ? ? ? ? ? ?
> > ## Error: environment overflow, "stderr" deleted
> > ## Error: environment overflow, "bootcount" deleted
>
> [dzu at pollux u-boot-testing (master)]$ git grep "environment
> overflow"
> common/cmd_nvedit.c:? ? ? ? ?
> ? printf ("## Error: environment overflow, \"%s\"
> deleted\n", name);
> tools/env/fw_env.c:? ? ? ? ?
> ? ? ? ? ???"Error:
> environment overflow, \"%s\" deleted\n",
>
> > Does that mean the size allocated for env is smaller
> compared to the
> > actual contents in env file.? I am new to u-boot.
> Can you give some
> > pointers on this?
>
I just increased the size in my board specific configuration file. Now this feature of bootlimit and altbootcmd works for me on OMAP3.
Thanks for your time.
I was just wondering how to recover from errors such as bad CRC on uImage, where boot loader is not able to start booting the kernel for any reason.
In such case how to fallback to a different kernel.
-Nitin
> Only you can answer what you have defined for your
> configuration.
>
> Cheers
> ? Detlev
>
> --
> He who can properly define and divide is to be considered a
> god.
> ? ? ? ? ? ? ? ?
> ? ? ? ? ? ? ? ?
> ? ? ? ? -- Plato
> --
> 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:
> dzu at denx.de
>
New Email names for you!
Get the Email name you've always wanted on the new @ymail and @rocketmail.
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] bootcounter implementation for OMAP3
2010-03-10 5:04 ` Nitin Mahajan
@ 2010-03-10 6:28 ` Wolfgang Denk
0 siblings, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2010-03-10 6:28 UTC (permalink / raw)
To: u-boot
Dear Nitin Mahajan,
In message <806215.16680.qm@web50105.mail.re2.yahoo.com> you wrote:
>
> I was just wondering how to recover from errors such as bad CRC on uImage, =
> where boot loader is not able to start booting the kernel for any reason.
>
> In such case how to fallback to a different kernel.
Please RTFM. This is documented there.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Why is an average signature file longer than an average Perl script??
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-03-10 6:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-09 3:46 [U-Boot] bootcounter implementation for OMAP3 Nitin Mahajan
2010-03-09 8:33 ` Detlev Zundel
2010-03-09 11:53 ` Nitin Mahajan
2010-03-09 17:22 ` Detlev Zundel
2010-03-10 5:04 ` Nitin Mahajan
2010-03-10 6:28 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox