On Tue, Dec 11, 2012 at 10:16:17PM -0600, Joe Hershberger wrote: > When a variable with a registered callback is inserted, deleted, or > overwritten the callback is called and gives the system an opportunity > to do something in response to the change. It also has the opportunuty > to reject the change by returning non-zero. > > The flags on variables can control their type as well as their allowed > access. > > The format of the list is: > type_attribute = [s|d|x|b|i|m] > attributes = type_attribute > entry = variable_name[:attributes] > list = entry[,list] > > The type attributes are: > s - String (default) > d - Decimal > x - Hexadecimal > b - Boolean ([1yYtT|0nNfF]) > i - IP address > m - MAC address > > The access attributes are: > a - Any (default) > r - Read-only > o - Write-once > c - Change-default > > Changes in v5: > - Manually relocate change_ok() pointer > - Add support for CONFIG_NEEDS_MANUAL_RELOC boards > - Fixed comment typo > - Fixed callbacks command help > - Compare current callback against pre-relocation address manually > - Fixed out-of-bounds array access in env_flags_parse_vartype() > - Fixed out-of-bounds array access in env_flags_parse_varaccess() > > Changes in v4: > - Prevent crash on relocation import > - Fixed help text > - Add help text for env flags command > - Add force support to setenv > - Implement delete > > Changes in v3: > - Rebase onto Gerlando Falauto's env patches > - Refactor himport_r() and hsearch_r()'s parameters > - Split hdelete_r() into the core delete and the validation before > delete > - Delete vars on failed insertion > - Use Marek's linker lists instead of implementing it directly > - Rebase onto latest master > - Add flags parameter to callbacks > - Implement reverse search in env_attr_lookup() > - Fix space skipping in env_attr_lookup() > - All errors coming back from hsearch_r() are no longer fatal. Don't > abort import on failed ENTER action. > - Removed checkpatch.pl warning > > Changes in v2: > - Added much-needed documentation > - Factored out prevch and nextch in env_attr_lookup() > > Joe Hershberger (20): > Make linux kernel string funcs available to tools > env: Refactor do_apply to a flag > env: Consolidate common code in hsearch_r() > env: Refactor apply into change_ok > env: Use getenv_yesno() more generally > env: Hide '.' variables in env print by default > env: Add support for callbacks to environment vars > env: Add a command to view callbacks > env: Add a bootfile env handler > env: Add a baudrate env handler > env: Add a loadaddr env handler > env: Add a console env handler > env: Add a silent env handler > env: Add environment variable flags > tools/env: Add environment variable flags support > env: Add a command to display details about env flags > env: Add support for access control to .flags > env: Add setenv force support > env: Implement the env delete command > env: Handle write-once ethaddr and serial# generically > > README | 80 ++++++ > arch/arm/lib/board.c | 4 +- > arch/m68k/lib/board.c | 3 +- > arch/microblaze/lib/board.c | 4 +- > arch/powerpc/cpu/mpc85xx/mp.c | 4 +- > arch/powerpc/lib/board.c | 9 +- > arch/sparc/lib/board.c | 3 +- > board/Marvell/db64360/db64360.c | 10 +- > board/Marvell/db64460/db64460.c | 10 +- > board/esd/cpci750/cpci750.c | 10 +- > board/esd/pmc440/cmd_pmc440.c | 2 +- > board/gw8260/gw8260.c | 10 +- > board/prodrive/p3mx/p3mx.c | 10 +- > common/Makefile | 6 + > common/cmd_nvedit.c | 406 +++++++++++++++++------------ > common/console.c | 75 +++++- > common/env_attr.c | 229 ++++++++++++++++ > common/env_callback.c | 144 +++++++++++ > common/env_common.c | 61 +++-- > common/env_dataflash.c | 2 +- > common/env_eeprom.c | 2 +- > common/env_fat.c | 2 +- > common/env_flags.c | 560 > ++++++++++++++++++++++++++++++++++++++++ > common/env_flash.c | 4 +- > common/env_mmc.c | 2 +- > common/env_nand.c | 4 +- > common/env_nvram.c | 2 +- > common/env_onenand.c | 2 +- > common/env_sf.c | 4 +- > common/image.c | 21 +- > doc/README.silent | 14 +- > drivers/serial/serial.c | 70 +++++ > include/common.h | 5 + > include/env_attr.h | 55 ++++ > include/env_callback.h | 75 ++++++ > include/env_default.h | 8 + > include/env_flags.h | 172 ++++++++++++ > include/environment.h | 15 +- > include/image.h | 1 - > include/linux/linux_string.h | 8 + > include/linux/string.h | 5 +- > include/search.h | 37 ++- > lib/Makefile | 1 + > lib/hashtable.c | 244 +++++++++++------ > lib/linux_string.c | 51 ++++ > lib/string.c | 39 --- > net/net.c | 49 ++-- > tools/env/Makefile | 3 + > tools/env/fw_env.c | 92 +++++-- > 49 files changed, 2182 insertions(+), 447 deletions(-) > create mode 100644 common/env_attr.c > create mode 100644 common/env_callback.c > create mode 100644 common/env_flags.c > create mode 100644 include/env_attr.h > create mode 100644 include/env_callback.h > create mode 100644 include/env_flags.h > create mode 100644 include/linux/linux_string.h > create mode 100644 lib/linux_string.c
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot