Re: [U-Boot] bootcounter implementation for OMAP3

2010-03-09 Thread Detlev Zundel
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  0x) | (a  0x);

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: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] bootcounter implementation for OMAP3

2010-03-09 Thread Nitin Mahajan
Hello,

--- On Tue, 9/3/10, Detlev Zundel d...@denx.de wrote:

 From: Detlev Zundel d...@denx.de
 Subject: Re: [U-Boot] bootcounter implementation for OMAP3
 To: nitin...@yahoo.com
 Cc: u-boot@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 
 0x) | (a  0x);
 
 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:
 d...@denx.de
 


  New Email addresses available on Yahoo!
Get the Email name you#39;ve always wanted on the new @ymail and @rocketmail. 
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] bootcounter implementation for OMAP3

2010-03-09 Thread Nitin Mahajan
Hello,

--- On Tue, 9/3/10, Detlev Zundel d...@denx.de wrote:

 From: Detlev Zundel d...@denx.de
 Subject: Re: [U-Boot] bootcounter implementation for OMAP3
 To: nitin...@yahoo.com
 Cc: u-boot@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 
 
 [...@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:
 d...@denx.de
 


  New Email names for you! 
Get the Email name you#39;ve always wanted on the new @ymail and @rocketmail. 
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] bootcounter implementation for OMAP3

2010-03-09 Thread Wolfgang Denk
Dear Nitin Mahajan,

In message 806215.16680...@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: w...@denx.de
Why is an average signature file longer than an average Perl script??
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] bootcounter implementation for OMAP3

2010-03-08 Thread Nitin Mahajan
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  0x) | (a  0x);

}

ulong bootcount_load(void)
{

volatile ulong *save_addr = (volatile ulong *)(0x480029BF);

if ((*save_addr  0x) != (BOOTCOUNT_MAGIC  0x))
return 0;
else
return (*save_addr  0x);

}

#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#39;ve always wanted on the new @ymail and @rocketmail. 
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot