tools/env: allow overwrite of ethaddr on default
PATCH 1/1 tools/env: allow overwrite of ethaddr on default
This patch allows the U-Boot user space companion utility, fw_setenv, to overwrite the 'ethaddr' key/value pair if the current value is set to a per-board-configured default.
This change allows 'fw_setenv' to match the behavior of 'setenv' / 'env set' on the U-Boot command line.
--- tools/env/fw_env.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)
tools/env/fw_env.c +12 -2
@@ -45,6 +45,8 @@#include "fw_env.h" +#include <config.h> +#define WHITESPACE (c) ((c == '\t') || (c == ' '))#define min (x, y) ({ \
@@ -390,15 +392,23 @@ int fw_env_write(char *name, char *value)* Delete any existing definition */ if (oldval) { +#ifndef CONFIG_ENV_OVERWRITE +/* * Ethernet Address and serial# can be set only once */ -if ((strcmp (name,"ethaddr" ) ==0 ) || - (strcmp (name,"serial#" ) ==0 )) { +if ( + (strcmp (name,"serial#" ) ==0 ) || + ((strcmp (name,"ethaddr" ) ==0 ) +#if defined(CONFIG_OVERWRITE_ETHADDR_ONCE) && defined(CONFIG_ETHADDR) + && (strcmp (oldval,MK_STR (CONFIG_ETHADDR )) !=0 ) +#endif /* CONFIG_OVERWRITE_ETHADDR_ONCE && CONFIG_ETHADDR */ + ) ) {fprintf (stderr,"Can't overwrite \"%s\"\n" , name); errno =EROFS ;return -1 ; } +#endif /* CONFIG_ENV_OVERWRITE */ if (*++nxt =='\0' ) { *env ='\0' ;
Signature · 1 line
1.7.7.3
Wolfgang Denk
AppliedPATCH 1/1 tools/env: allow overwrite of ethaddr on default
Dear Grant Erickson,
Quoted 11 lines · In message <[email protected]> you wrote:
This patch allows the U-Boot user space companion utility,
fw_setenv, to overwrite the 'ethaddr' key/value pair if the current value is set to a per-board-configured default.This change allows '
fw_setenv' to match the behavior of 'setenv' / 'env set' on the U-Boot command line.Signed-off-by Grant Erickson <[email protected]>--- tools/env/fw_env.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 7 lines
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
The Buddha, the Godhead, resides quite as comfortably in the circuits
of a digital computer or the gears of a cycle transmission as he does
at the top of a mountain or in the petals of a flower.
- R. Pirsig, "Zen and the Art of Motorcycle Maintenance"PATCH 1/1 tools/env: allow overwrite of ethaddr on default
Dear Wolfgang,
Quoted 10 lines · Wolfgang Denk
Dear Grant Erickson,
Quoted 7 lines · In message <[email protected]> you wrote:
This patch allows the U-Boot user space companion utility,
fw_setenv, to overwrite the 'ethaddr' key/value pair if the current value is set to a per-board-configured default.This change allows '
fw_setenv' to match the behavior of 'setenv' / 'env set' on the U-Boot command line.
Quoted 6 lines
Quoted 4 lines
Signed-off-by Grant Erickson <[email protected]>--- tools/env/fw_env.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)Applied, thanks.
This patch breaks building 'env' without board configuration. This is bad cause our automatic build environment build this tool for different boards. Specific configuration is done via /etc/fw_env.config. Can't we use some build-time configuration like
http://patchwork.ozlabs.org/patch/120372/ ?
best regards
Andreas Bie?mann
[U-Boot] Toradex Colibri, PXA-270 (ARM)
Hello,
i recently stumbled upon a compile-error which appears after trying to compile via
/./MAKEALL --arch arm --cpu pxa --vendor toradex/
, it appears U-Boot uses software-FP whereas the native XScale-libs use hardware-FP, see for yourself please :
/[dmack at Blizzard ~/workspace/u-boot]$ ./MAKEALL --arch arm --cpu pxa --vendor toradex/
/Configuring for colibri_pxa270 board.../
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_udivsi3.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_udivsi3.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_divsi3.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_divsi3.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_umodsi3.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_umodsi3.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_modsi3.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_modsi3.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_dvmd_lnx.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_dvmd_lnx.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_lshrdi3.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_lshrdi3.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_ashldi3.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_ashldi3.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_udivdi3.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_udivdi3.oS)/
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_clz.oS) uses hardware FP, whereas u-boot uses software FP/
/arm-linux-ld: failed to merge target specific data of file /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_clz.oS)/
/make: *** [u-boot] Fehler 1/
/size: './u-boot': No such file/
/--------------------- SUMMARY ----------------------------/
/Boards compiled: 1/
/Boards with warnings or errors: 1 ( colibri_pxa270 )/
/----------------------------------------------------------/
Is there a solution for this, am i missing something?
Best regards,
Daniel
[U-Boot] Toradex Colibri, PXA-270 (ARM)
Dear Daniel Mack,
Quoted 8 lines · In message <[email protected]> you wrote:
i recently stumbled upon a compile-error which appears after trying to compile via
/./MAKEALL --arch arm --cpu pxa --vendor toradex/
, it appears U-Boot uses software-FP whereas the native XScale-libs use hardware-FP, see for yourself please :
This is a tool chain problem. You should get one that supports soft-FP, especially on processors that don;t have a FPU in the first place.
Quoted 1 line
/arm-linux-ld: ERROR: /usr/lib/gcc/arm-xscale-linux-gnu/3.4.6/libgcc.a(_udivsi3.oS) uses hardware FP, whereas u-boot uses software FP/
GCC 3.4 has always been (in)famous for causing issues, especially on ARM. And it is so old that you can consider it unsupported.
Quoted 1 line
Is there a solution for this, am i missing something?
I guess you did not bother to check the mailing list archives? You should.
Best regards,
Wolfgang Denk
Signature · 4 lines
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 Often it is fatal to live too long. - Racine
PATCH 1/1 tools/env: allow overwrite of ethaddr on default
In reply to Andreas BießmannQuoted 15 lines · On Monday 23 January 2012 07:23:09 Andreas Bie?mann wrote:
Quoted 14 lines · Wolfgang Denk
Quoted 12 lines · Grant Erickson
This patch allows the U-Boot user space companion utility,
fw_setenv, to overwrite the 'ethaddr' key/value pair if the current value is set to a per-board-configured default.This change allows '
fw_setenv' to match the behavior of 'setenv' / 'env set' on the U-Boot command line.Signed-off-by Grant Erickson <[email protected]>---
tools/env/fw_env.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)
Quoted 7 lines
Quoted 1 line
Applied, thanks.
This patch breaks building 'env' without board configuration. This is bad cause our automatic build environment build this tool for different boards. Specific configuration is done via
/etc/fw_env.config. Can't we use some build-time configuration like
http://patchwork.ozlabs.org/patch/120372/ ?
update your patch to take the new code into account. you're going to have to rebase anyways to get it merged.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120123/58dedffa/attachment.pgp>