[PATCH] startup: introduce global.endianness variable

Sascha Hauer s.hauer at pengutronix.de
Tue May 11 00:52:04 PDT 2021


On Tue, May 11, 2021 at 09:58:26AM +0300, Antony Pavlov wrote:
> On Mon, 3 May 2021 13:16:43 +0200
> Sascha Hauer <s.hauer at pengutronix.de> wrote:
> 
> Hi Sascha!
> 
> > On Mon, Apr 26, 2021 at 05:30:25PM +0300, Antony Pavlov wrote:
> > > The global.endianness variable makes it possible
> > > to determine current endian mode from command
> > > line or from script on bi-endian capable system.
> > > 
> > > Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
> > > ---
> > >  common/globalvar.c | 10 ++++++++++
> > >  1 file changed, 10 insertions(+)
> > > 
> > > diff --git a/common/globalvar.c b/common/globalvar.c
> > > index a55b38b00f..75ce6331b7 100644
> > > --- a/common/globalvar.c
> > > +++ b/common/globalvar.c
> > > @@ -641,6 +641,8 @@ int globalvar_add_simple_ip(const char *name, IPaddr_t *ip)
> > >  
> > >  static int globalvar_init(void)
> > >  {
> > > +	const char *endianness;
> > > +
> > >  	register_device(&global_device);
> > >  
> > >  	if (IS_ENABLED(CONFIG_NVVAR))
> > > @@ -651,6 +653,13 @@ static int globalvar_init(void)
> > >  	if (strlen(buildsystem_version_string) > 0)
> > >  		globalvar_add_simple("buildsystem.version", buildsystem_version_string);
> > >  
> > > +	if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN))
> > > +		endianness = "big";
> > > +	else
> > > +		endianness = "little";
> > 
> > PowerPC is for sure big endian, but doesn't set CONFIG_CPU_BIG_ENDIAN,
> > so will be erroneously be identified as little endian with this patch.
> > Either you fix that or depend on something like #if __BYTE_ORDER ==
> > __LITTLE_ENDIAN
> 
> Barebox don't use "__BYTE_ORDER == __*_ENDIAN" solution. 
> 
> Please see include/envfs.h:

Right, then #ifdef __LITTLE_ENDIAN would be correct.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list