[U-Boot] [PATCH] fw_env.h: added a few missing defines
Andreas Bießmann
andreas.devel at googlemail.com
Fri Dec 2 11:13:54 CET 2011
Dear Frans,
Am 02.12.2011 09:24, schrieb Frans Meulenbroeks:
>
>
> 2011/12/1 Andreas Bießmann <andreas.devel at googlemail.com
> <mailto:andreas.devel at googlemail.com>>
>
> Dear Frans Meulenbroeks,
>
> Am 01.12.2011 14:30, schrieb Frans Meulenbroeks:
> > The README file lists 4 defined that were not actually present in
> the .h
> > file but that were needed to get things working with settings
> compiled in.
> > They are
> > Added these to the .h file
> > (the values above are the ones from the README file)
> >
> > Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks at gmail.com
> <mailto:fransmeulenbroeks at gmail.com>>
>
> I tend to NAK this.
>
> > ---
> > tools/env/fw_env.h | 4 ++++
> > 1 files changed, 4 insertions(+), 0 deletions(-)
> >
> > diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
> > index 9258c79..2dcb373 100644
> > --- a/tools/env/fw_env.h
> > +++ b/tools/env/fw_env.h
> > @@ -34,8 +34,12 @@
> > #define DEVICE2_NAME "/dev/mtd2"
> > #define DEVICE1_OFFSET 0x0000
> > #define ENV1_SIZE 0x4000
> > +#define DEVICE1_ESIZE 0x4000
> > +#define DEVICE1_ENVSECTORS 2
>
> This change will overwrite the settings done by ENV1_SIZE ... and none
> of the settings match my boards needs ;)
>
> I would appreciate you test my patch
> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/106972/focus=112948
> or http://patchwork.ozlabs.org/patch/120372/
>
> I guess you could fulfil your requirements with that patch too.
>
> best regards
>
>
> Hi Andreas, all
>
> I have no particular preference to your patch, and I am not 100% sure
> about the overwriting of ENV1_ESIZE.
> Actually my understanding is that ENV1_SIZE specifies the size of the
> environment and DEVICE1_ESIZE is the size of a sector (but I may be
> wrong here)
Well, I shortly overflow the code and saw around line 1240 in fw_env.c
the envdevices[0] values set by ENV1_SIZE are overwritten by
DEVICE1_ESIZE. But you are right, ENVx_SIZE is size of environment,
DEVICEx_SIZE is erase-size. Current code assumes erase-size == env-size
with one sector. Beside that fw_printenv requires /etc/fw_env.config by
default.
> What I noticed was that there is a difference with what is specified in
> the tools/env/README file and what is in tools/env/fw_env.h
>
> For my project I wanted to have the settings into the program and avoid
> the file in /etc, hence I followed the README and bumped into the fact
> that these two were missing. I've added them to make them compliant with
> the README.
We do need compiled in parameters too, but I found it cumbersome to
change the code in repository to have correct parameters for my board.
Cause everyone need to patch the default configuration I found it easy
to provide a generic way to inject a specific configuration.
The http://patchwork.ozlabs.org/patch/120372/ is about three month old
but no one cares. Therefore the pointer to that patch ...
> For my board of course the values were not correct either, so I patched
> these locally, then tested my work and found it to work.
> As it stands this could probably be replaced with your patch; can't test
> that now as we are in the usual end-of-year stress to complete some
> projects. Yet an alternate solution could be to update the README file.
I guess this would be best.
best regards
Andreas Bießmann
More information about the U-Boot
mailing list