All of lore.kernel.org
 help / color / mirror / Atom feed
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v5 09/19] board: converted with new env interfaces
Date: Fri, 6 Sep 2019 09:34:13 +0900	[thread overview]
Message-ID: <20190906003411.GG4398@linaro.org> (raw)
In-Reply-To: <20190905140247.48b12f65@jawa>

On Thu, Sep 05, 2019 at 02:02:47PM +0200, Lukasz Majewski wrote:
> On Thu,  5 Sep 2019 17:21:23 +0900
> AKASHI Takahiro <takahiro.akashi@linaro.org> wrote:
> 
> > env_xxx(...) -> env_xxx(ctx_uboot, ...)
> 
> To be honest this doesn't explain much about the issue this patch tries
> to fix (however, on the mailing list only this particular patch is
> present).
> 
> 
> Could you provide more verbose description?

I hope that the following cover letter explains enough:
https://lists.denx.de/pipermail/u-boot/2019-September/382854.html

Thanks,
-Takahiro Akashi

> 
> > 
> > Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > ---
> >  board/Arcturus/ucp1020/cmd_arc.c              | 40 ++++++------
> >  board/Arcturus/ucp1020/ucp1020.c              | 16 ++---
> >  board/BuR/brppt1/board.c                      |  4 +-
> >  board/BuR/brxre1/board.c                      |  9 +--
> >  board/BuR/common/br_resetc.c                  |  2 +-
> >  board/BuR/common/common.c                     | 47 +++++++-------
> >  board/BuS/eb_cpu5282/eb_cpu5282.c             |  8 +--
> >  board/CZ.NIC/turris_mox/turris_mox.c          |  4 +-
> >  board/CZ.NIC/turris_omnia/turris_omnia.c      |  6 +-
> >  board/CarMediaLab/flea3/flea3.c               |  2 +-
> >  board/LaCie/net2big_v2/net2big_v2.c           |  2 +-
> >  board/LaCie/netspace_v2/netspace_v2.c         |  2 +-
> >  board/Synology/ds414/cmd_syno.c               |  6 +-
> >  board/alliedtelesis/x530/x530.c               |  2 +-
> >  board/amazon/kc1/kc1.c                        |  4 +-
> >  board/amlogic/p200/p200.c                     |  4 +-
> >  board/amlogic/p201/p201.c                     |  4 +-
> >  board/amlogic/p212/p212.c                     |  4 +-
> >  board/amlogic/q200/q200.c                     |  4 +-
> >  board/aristainetos/aristainetos-v2.c          |  8 +--
> >  board/armltd/integrator/integrator.c          |  2 +-
> >  board/atmel/common/board.c                    |  4 +-
> >  board/atmel/common/mac_eeprom.c               |  2 +-
> >  board/atmel/sama5d3xek/sama5d3xek.c           |  2 +-
> >  board/bachmann/ot1200/ot1200.c                |  4 +-
> >  board/birdland/bav335x/board.c                |  8 +--
> >  board/bluegiga/apx4devkit/apx4devkit.c        |  5 +-
> >  board/bluewater/gurnard/gurnard.c             |  6 +-
> >  board/bosch/shc/board.c                       |  2 +-
> >  board/boundary/nitrogen6x/nitrogen6x.c        | 14 ++---
> >  board/broadcom/bcm23550_w1d/bcm23550_w1d.c    |  2 +-
> >  board/broadcom/bcm28155_ap/bcm28155_ap.c      |  2 +-
> >  board/broadcom/bcmstb/bcmstb.c                |  2 +-
> >  board/buffalo/lsxl/lsxl.c                     |  2 +-
> >  board/cadence/xtfpga/xtfpga.c                 |  4 +-
> >  board/ccv/xpress/xpress.c                     |  2 +-
> >  board/compulab/cl-som-imx7/cl-som-imx7.c      |  2 +-
> >  board/compulab/cm_fx6/cm_fx6.c                | 10 +--
> >  board/compulab/common/omap3_display.c         |  4 +-
> >  board/congatec/cgtqmx6eval/cgtqmx6eval.c      |  8 +--
> >  board/cssi/MCR3000/MCR3000.c                  |  2 +-
> >  board/davinci/da8xxevm/da850evm.c             |  2 +-
> >  board/davinci/da8xxevm/omapl138_lcdk.c        |  6 +-
> >  board/dhelectronics/dh_imx6/dh_imx6.c         |  2 +-
> >  board/eets/pdu001/board.c                     |  8 +--
> >  board/el/el6x/el6x.c                          |  2 +-
> >  board/emulation/qemu-riscv/qemu-riscv.c       |  2 +-
> >  board/engicam/common/board.c                  | 32 +++++-----
> >  board/esd/meesc/meesc.c                       |  6 +-
> >  board/freescale/b4860qds/b4860qds.c           |  5 +-
> >  board/freescale/common/cmd_esbc_validate.c    |  2 +-
> >  board/freescale/common/fsl_chain_of_trust.c   |  6 +-
> >  board/freescale/common/sys_eeprom.c           |  4 +-
> >  board/freescale/common/vid.c                  |  4 +-
> >  board/freescale/imx8mq_evk/imx8mq_evk.c       |  4 +-
> >  board/freescale/imx8qm_mek/imx8qm_mek.c       |  4 +-
> >  board/freescale/imx8qxp_mek/imx8qxp_mek.c     |  4 +-
> >  board/freescale/ls1088a/eth_ls1088aqds.c      |  4 +-
> >  board/freescale/ls1088a/ls1088a.c             |  2 +-
> >  board/freescale/ls2080aqds/eth.c              |  6 +-
> >  board/freescale/ls2080aqds/ls2080aqds.c       |  2 +-
> >  board/freescale/ls2080ardb/ls2080ardb.c       |  6 +-
> >  board/freescale/lx2160a/eth_lx2160aqds.c      |  2 +-
> >  board/freescale/mpc8323erdb/mpc8323erdb.c     |  3 +-
> >  board/freescale/mpc837xemds/pci.c             |  2 +-
> >  board/freescale/mpc837xerdb/mpc837xerdb.c     |  2 +-
> >  board/freescale/mx51evk/mx51evk_video.c       |  2 +-
> >  board/freescale/mx53loco/mx53loco.c           |  4 +-
> >  board/freescale/mx53loco/mx53loco_video.c     |  2 +-
> >  board/freescale/mx6sabreauto/mx6sabreauto.c   |  8 +--
> >  board/freescale/mx6sabresd/mx6sabresd.c       |  8 +--
> >  board/freescale/mx6sxsabresd/mx6sxsabresd.c   |  2 +-
> >  .../mx6ul_14x14_evk/mx6ul_14x14_evk.c         |  6 +-
> >  board/freescale/mx6ullevk/mx6ullevk.c         |  4 +-
> >  board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c   |  2 +-
> >  board/freescale/qemu-ppce500/qemu-ppce500.c   |  4 +-
> >  board/freescale/t4qds/t4240qds.c              |  2 +-
> >  board/gardena/smart-gateway-at91sam/board.c   |  2 +-
> >  board/gardena/smart-gateway-mt7688/board.c    | 16 ++---
> >  board/gateworks/gw_ventana/common.c           |  2 +-
> >  board/gateworks/gw_ventana/gw_ventana.c       | 61
> > ++++++++++--------- board/gateworks/gw_ventana/gw_ventana_spl.c   |
> > 4 +- board/gdsys/a38x/keyprogram.c                 |  4 +-
> >  board/gdsys/mpc8308/gazerbeam.c               |  4 +-
> >  board/gdsys/mpc8308/hrcon.c                   |  2 +-
> >  board/gdsys/mpc8308/strider.c                 |  2 +-
> >  board/gdsys/p1022/controlcenterd-id.c         | 10 +--
> >  board/gdsys/p1022/controlcenterd.c            |  2 +-
> >  board/ge/bx50v3/bx50v3.c                      | 13 ++--
> >  board/ge/common/ge_common.c                   |  4 +-
> >  board/ge/mx53ppd/mx53ppd.c                    |  2 +-
> >  board/grinn/chiliboard/board.c                |  4 +-
> >  board/grinn/liteboard/board.c                 |  6 +-
> >  board/highbank/highbank.c                     |  9 +--
> >  board/hisilicon/poplar/poplar.c               |  2 +-
> >  board/imgtec/ci20/ci20.c                      |  6 +-
> >  board/intel/edison/edison.c                   | 14 ++---
> >  board/isee/igep003x/board.c                   |  6 +-
> >  board/isee/igep00x0/igep00x0.c                |  4 +-
> >  board/k+p/kp_imx53/kp_id_rev.c                | 20 +++---
> >  board/k+p/kp_imx53/kp_imx53.c                 |  4 +-
> >  board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c         |  4 +-
> >  board/keymile/common/common.c                 | 26 ++++----
> >  board/keymile/common/ivm.c                    |  8 +--
> >  board/keymile/km83xx/km83xx.c                 |  2 +-
> >  board/keymile/km_arm/km_arm.c                 |  6 +-
> >  board/keymile/kmp204x/kmp204x.c               |  4 +-
> >  board/kosagi/novena/novena.c                  |  2 +-
> >  board/laird/wb50n/wb50n.c                     |  2 +-
> >  board/lg/sniper/sniper.c                      |  4 +-
> >  board/liebherr/display5/spl.c                 |  4 +-
> >  board/liebherr/mccmon6/mccmon6.c              |  6 +-
> >  board/logicpd/imx6/imx6logic.c                |  8 +--
> >  board/menlo/m53menlo/m53menlo.c               |  2 +-
> >  board/micronas/vct/vct.c                      |  2 +-
> >  board/nokia/rx51/rx51.c                       | 10 +--
> >  board/overo/overo.c                           | 45 +++++++-------
> >  board/phytec/pcm052/pcm052.c                  |  4 +-
> >  board/phytec/pfla02/pfla02.c                  |  2 +-
> >  .../dragonboard410c/dragonboard410c.c         |  6 +-
> >  .../dragonboard820c/dragonboard820c.c         |  2 +-
> >  board/raspberrypi/rpi/rpi.c                   | 26 ++++----
> >  board/renesas/alt/alt.c                       |  3 +-
> >  board/renesas/gose/gose.c                     |  3 +-
> >  board/renesas/koelsch/koelsch.c               |  3 +-
> >  board/renesas/lager/lager.c                   |  3 +-
> >  board/renesas/porter/porter.c                 |  3 +-
> >  board/renesas/sh7752evb/sh7752evb.c           |  4 +-
> >  board/renesas/sh7753evb/sh7753evb.c           |  4 +-
> >  board/renesas/sh7757lcr/sh7757lcr.c           |  6 +-
> >  board/renesas/silk/silk.c                     |  3 +-
> >  board/renesas/stout/stout.c                   |  3 +-
> >  board/rockchip/kylin_rk3036/kylin_rk3036.c    |  2 +-
> >  board/samsung/common/exynos5-dt.c             |  2 +-
> >  board/samsung/common/misc.c                   | 14 ++---
> >  board/samsung/odroid/odroid.c                 |  2 +-
> >  board/samsung/trats/trats.c                   |  2 +-
> >  board/samsung/universal_c210/universal.c      |  2 +-
> >  board/samtec/vining_fpga/socfpga.c            | 16 ++---
> >  board/siemens/common/board.c                  |  4 +-
> >  board/siemens/draco/board.c                   |  6 +-
> >  board/siemens/pxm2/board.c                    |  4 +-
> >  board/siemens/rut/board.c                     |  2 +-
> >  board/siemens/taurus/taurus.c                 | 50 +++++++--------
> >  board/socrates/socrates.c                     |  4 +-
> >  board/softing/vining_2000/vining_2000.c       |  8 +--
> >  board/solidrun/mx6cuboxi/mx6cuboxi.c          | 16 ++---
> >  .../stm32f429-discovery/stm32f429-discovery.c |  4 +-
> >  .../stm32f429-evaluation.c                    |  4 +-
> >  .../stm32f469-discovery/stm32f469-discovery.c |  4 +-
> >  board/st/stm32mp1/stm32mp1.c                  | 11 ++--
> >  board/sunxi/board.c                           | 25 ++++----
> >  board/synopsys/hsdk/env-lib.c                 | 11 ++--
> >  board/synopsys/hsdk/hsdk.c                    |  6 +-
> >  board/syteco/zmx25/zmx25.c                    |  8 ++-
> >  board/tcl/sl50/board.c                        |  6 +-
> >  .../puma_rk3399/puma-rk3399.c                 |  8 +--
> >  board/ti/am335x/board.c                       | 18 +++---
> >  board/ti/am43xx/board.c                       |  6 +-
> >  board/ti/am57xx/board.c                       | 14 ++---
> >  board/ti/beagle/beagle.c                      | 43 ++++++-------
> >  board/ti/common/board_detect.c                | 14 ++---
> >  board/ti/dra7xx/evm.c                         | 12 ++--
> >  board/ti/evm/evm.c                            |  2 +-
> >  board/ti/ks2_evm/board.c                      | 10 +--
> >  board/ti/ks2_evm/board_k2g.c                  |  8 +--
> >  board/ti/panda/panda.c                        |  4 +-
> >  board/toradex/apalis-imx8/apalis-imx8.c       |  4 +-
> >  board/toradex/apalis_imx6/apalis_imx6.c       | 12 ++--
> >  .../toradex/colibri-imx6ull/colibri-imx6ull.c |  6 +-
> >  board/toradex/colibri-imx8x/colibri-imx8x.c   |  4 +-
> >  board/toradex/colibri_imx6/colibri_imx6.c     |  8 +--
> >  board/toradex/colibri_vf/colibri_vf.c         |  2 +-
> >  board/toradex/common/tdx-cfg-block.c          |  2 +-
> >  board/toradex/common/tdx-common.c             |  2 +-
> >  board/tqc/tqma6/tqma6.c                       |  2 +-
> >  board/udoo/neo/neo.c                          |  2 +-
> >  board/udoo/udoo.c                             |  4 +-
> >  board/varisys/common/sys_eeprom.c             |  6 +-
> >  board/vscom/baltos/board.c                    |  6 +-
> >  board/wandboard/wandboard.c                   | 12 ++--
> >  board/warp7/warp7.c                           |  6 +-
> >  .../work_92105/work_92105_display.c           |  2 +-
> >  board/xes/common/board.c                      |  6 +-
> >  board/xilinx/zynq/board.c                     | 16 ++---
> >  board/xilinx/zynqmp/cmds.c                    |  2 +-
> >  board/xilinx/zynqmp/zynqmp.c                  | 24 ++++----
> >  187 files changed, 677 insertions(+), 649 deletions(-)
> > 
> > diff --git a/board/Arcturus/ucp1020/cmd_arc.c
> > b/board/Arcturus/ucp1020/cmd_arc.c index 2e8477ed3b7a..fbe1f2dba123
> > 100644 --- a/board/Arcturus/ucp1020/cmd_arc.c
> > +++ b/board/Arcturus/ucp1020/cmd_arc.c
> > @@ -252,8 +252,8 @@ static int read_arc_info(void)
> >  static int do_get_arc_info(void)
> >  {
> >  	int l = read_arc_info();
> > -	char *oldserial = env_get("SERIAL");
> > -	char *oldversion = env_get("VERSION");
> > +	char *oldserial = env_get(ctx_uboot, "SERIAL");
> > +	char *oldversion = env_get(ctx_uboot, "VERSION");
> >  
> >  	if (oldversion != NULL)
> >  		if (strcmp(oldversion, U_BOOT_VERSION) != 0)
> > @@ -269,13 +269,13 @@ static int do_get_arc_info(void)
> >  		printf("<not found>\n");
> >  	} else {
> >  		printf("%s\n", smac[0]);
> > -		env_set("SERIAL", smac[0]);
> > +		env_set(ctx_uboot, "SERIAL", smac[0]);
> >  	}
> >  
> >  	if (strcmp(smac[1], "00:00:00:00:00:00") == 0) {
> > -		env_set("ethaddr", NULL);
> > -		env_set("eth1addr", NULL);
> > -		env_set("eth2addr", NULL);
> > +		env_set(ctx_uboot, "ethaddr", NULL);
> > +		env_set(ctx_uboot, "eth1addr", NULL);
> > +		env_set(ctx_uboot, "eth2addr", NULL);
> >  		goto done;
> >  	}
> >  
> > @@ -283,13 +283,13 @@ static int do_get_arc_info(void)
> >  	if (smac[1][0] == EMPY_CHAR) {
> >  		printf("<not found>\n");
> >  	} else {
> > -		char *ret = env_get("ethaddr");
> > +		char *ret = env_get(ctx_uboot, "ethaddr");
> >  
> >  		if (ret == NULL) {
> > -			env_set("ethaddr", smac[1]);
> > +			env_set(ctx_uboot, "ethaddr", smac[1]);
> >  			printf("%s\n", smac[1]);
> >  		} else if (strcmp(ret, __stringify(CONFIG_ETHADDR))
> > == 0) {
> > -			env_set("ethaddr", smac[1]);
> > +			env_set(ctx_uboot, "ethaddr", smac[1]);
> >  			printf("%s (factory)\n", smac[1]);
> >  		} else {
> >  			printf("%s\n", ret);
> > @@ -297,8 +297,8 @@ static int do_get_arc_info(void)
> >  	}
> >  
> >  	if (strcmp(smac[2], "00:00:00:00:00:00") == 0) {
> > -		env_set("eth1addr", NULL);
> > -		env_set("eth2addr", NULL);
> > +		env_set(ctx_uboot, "eth1addr", NULL);
> > +		env_set(ctx_uboot, "eth2addr", NULL);
> >  		goto done;
> >  	}
> >  
> > @@ -306,13 +306,13 @@ static int do_get_arc_info(void)
> >  	if (smac[2][0] == EMPY_CHAR) {
> >  		printf("<not found>\n");
> >  	} else {
> > -		char *ret = env_get("eth1addr");
> > +		char *ret = env_get(ctx_uboot, "eth1addr");
> >  
> >  		if (ret == NULL) {
> > -			env_set("ethaddr", smac[2]);
> > +			env_set(ctx_uboot, "ethaddr", smac[2]);
> >  			printf("%s\n", smac[2]);
> >  		} else if (strcmp(ret, __stringify(CONFIG_ETH1ADDR))
> > == 0) {
> > -			env_set("eth1addr", smac[2]);
> > +			env_set(ctx_uboot, "eth1addr", smac[2]);
> >  			printf("%s (factory)\n", smac[2]);
> >  		} else {
> >  			printf("%s\n", ret);
> > @@ -320,7 +320,7 @@ static int do_get_arc_info(void)
> >  	}
> >  
> >  	if (strcmp(smac[3], "00:00:00:00:00:00") == 0) {
> > -		env_set("eth2addr", NULL);
> > +		env_set(ctx_uboot, "eth2addr", NULL);
> >  		goto done;
> >  	}
> >  
> > @@ -328,13 +328,13 @@ static int do_get_arc_info(void)
> >  	if (smac[3][0] == EMPY_CHAR) {
> >  		printf("<not found>\n");
> >  	} else {
> > -		char *ret = env_get("eth2addr");
> > +		char *ret = env_get(ctx_uboot, "eth2addr");
> >  
> >  		if (ret == NULL) {
> > -			env_set("ethaddr", smac[3]);
> > +			env_set(ctx_uboot, "ethaddr", smac[3]);
> >  			printf("%s\n", smac[3]);
> >  		} else if (strcmp(ret, __stringify(CONFIG_ETH2ADDR))
> > == 0) {
> > -			env_set("eth2addr", smac[3]);
> > +			env_set(ctx_uboot, "eth2addr", smac[3]);
> >  			printf("%s (factory)\n", smac[3]);
> >  		} else {
> >  			printf("%s\n", ret);
> > @@ -343,8 +343,8 @@ static int do_get_arc_info(void)
> >  done:
> >  	if (oldserial == NULL || oldversion == NULL) {
> >  		if (oldversion == NULL)
> > -			env_set("VERSION", U_BOOT_VERSION);
> > -		env_save();
> > +			env_set(ctx_uboot, "VERSION",
> > U_BOOT_VERSION);
> > +		env_save(ctx_uboot);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/Arcturus/ucp1020/ucp1020.c
> > b/board/Arcturus/ucp1020/ucp1020.c index 6a880c97bcb7..1aa7f96b5e1c
> > 100644 --- a/board/Arcturus/ucp1020/ucp1020.c
> > +++ b/board/Arcturus/ucp1020/ucp1020.c
> > @@ -64,7 +64,7 @@ void board_gpio_init(void)
> >  
> >  	for (i = 0; i < GPIO_MAX_NUM; i++) {
> >  		sprintf(envname, "GPIO%d", i);
> > -		val = env_get(envname);
> > +		val = env_get(ctx_uboot, envname);
> >  		if (val) {
> >  			char direction = toupper(val[0]);
> >  			char level = toupper(val[1]);
> > @@ -82,7 +82,7 @@ void board_gpio_init(void)
> >  		}
> >  	}
> >  
> > -	val = env_get("PCIE_OFF");
> > +	val = env_get(ctx_uboot, "PCIE_OFF");
> >  	if (val) {
> >  		gpio_direction_input(GPIO_PCIE1_EN);
> >  		gpio_direction_input(GPIO_PCIE2_EN);
> > @@ -91,7 +91,7 @@ void board_gpio_init(void)
> >  		gpio_direction_output(GPIO_PCIE2_EN, 1);
> >  	}
> >  
> > -	val = env_get("SDHC_CDWP_OFF");
> > +	val = env_get(ctx_uboot, "SDHC_CDWP_OFF");
> >  	if (!val) {
> >  		ccsr_gur_t *gur = (void
> > *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); 
> > @@ -218,7 +218,7 @@ int last_stage_init(void)
> >  	else
> >  		printf("NCT72(0x%x): ready\n", id2);
> >  
> > -	kval = env_get("kernelargs");
> > +	kval = env_get(ctx_uboot, "kernelargs");
> >  
> >  #ifdef CONFIG_MMC
> >  	mmc = find_mmc_device(0);
> > @@ -235,22 +235,22 @@ int last_stage_init(void)
> >  				strcat(newkernelargs, mmckargs);
> >  				strcat(newkernelargs, " ");
> >  				strcat(newkernelargs, &tmp[n]);
> > -				env_set("kernelargs", newkernelargs);
> > +				env_set(ctx_uboot, "kernelargs",
> > newkernelargs); } else {
> > -				env_set("kernelargs", mmckargs);
> > +				env_set(ctx_uboot, "kernelargs",
> > mmckargs); }
> >  		}
> >  #endif
> >  	get_arc_info();
> >  
> >  	if (kval) {
> > -		sval = env_get("SERIAL");
> > +		sval = env_get(ctx_uboot, "SERIAL");
> >  		if (sval) {
> >  			strcpy(newkernelargs, "SN=");
> >  			strcat(newkernelargs, sval);
> >  			strcat(newkernelargs, " ");
> >  			strcat(newkernelargs, kval);
> > -			env_set("kernelargs", newkernelargs);
> > +			env_set(ctx_uboot, "kernelargs",
> > newkernelargs); }
> >  	} else {
> >  		printf("Error reading kernelargs env variable!\n");
> > diff --git a/board/BuR/brppt1/board.c b/board/BuR/brppt1/board.c
> > index ef4f5c950140..4278dda5988f 100644
> > --- a/board/BuR/brppt1/board.c
> > +++ b/board/BuR/brppt1/board.c
> > @@ -180,10 +180,10 @@ int board_late_init(void)
> >  		bmode = 4;
> >  
> >  	printf("Mode:  %s\n", bootmodeascii[bmode & 0x0F]);
> > -	env_set_ulong("b_mode", bmode);
> > +	env_set_ulong(ctx_uboot, "b_mode", bmode);
> >  
> >  	/* get sure that bootcmd isn't affected by any bootcount
> > value */
> > -	env_set_ulong("bootlimit", 0);
> > +	env_set_ulong(ctx_uboot, "bootlimit", 0);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/BuR/brxre1/board.c b/board/BuR/brxre1/board.c
> > index 873208c668d7..69bcccbc5a0d 100644
> > --- a/board/BuR/brxre1/board.c
> > +++ b/board/BuR/brxre1/board.c
> > @@ -165,10 +165,11 @@ int board_late_init(void)
> >  	snprintf(othbootargs, sizeof(othbootargs),
> >  		 "u=vxWorksFTP pw=vxWorks
> > o=0x%08x;0x%08x;0x%08x;0x%08x", (u32)gd->fb_base - 0x20,
> > -		 (u32)env_get_ulong("vx_memtop", 16, gd->fb_base -
> > 0x20),
> > -		 (u32)env_get_ulong("vx_romfsbase", 16, 0),
> > -		 (u32)env_get_ulong("vx_romfssize", 16, 0));
> > -	env_set("othbootargs", othbootargs);
> > +		 (u32)env_get_ulong(ctx_uboot, "vx_memtop", 16,
> > +				    gd->fb_base - 0x20),
> > +		 (u32)env_get_ulong(ctx_uboot, "vx_romfsbase", 16,
> > 0),
> > +		 (u32)env_get_ulong(ctx_uboot, "vx_romfssize", 16,
> > 0));
> > +	env_set(ctx_uboot, "othbootargs", othbootargs);
> >  	/*
> >  	 * reset VBAR registers to its reset location, VxWorks
> > 6.9.3.2 does
> >  	 * expect that vectors are there, original u-boot moves them
> > to _start diff --git a/board/BuR/common/br_resetc.c
> > b/board/BuR/common/br_resetc.c index c0e7fb65b298..36d49967dd82 100644
> > --- a/board/BuR/common/br_resetc.c
> > +++ b/board/BuR/common/br_resetc.c
> > @@ -230,7 +230,7 @@ int br_resetc_bmode(void)
> >  		printf("Reset: STM32 controller\n");
> >  
> >  	printf("Mode:  %s\n", bootmodeascii[regw & 0x0F]);
> > -	env_set_ulong("b_mode", regw & 0x0F);
> > +	env_set_ulong(ctx_uboot, "b_mode", regw & 0x0F);
> >  
> >  	return rc;
> >  }
> > diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c
> > index 148fc9075e4f..f3bc87daf19f 100644
> > --- a/board/BuR/common/common.c
> > +++ b/board/BuR/common/common.c
> > @@ -29,9 +29,12 @@ DECLARE_GLOBAL_DATA_PTR;
> >  
> >  void lcdbacklight(int on)
> >  {
> > -	unsigned int driver = env_get_ulong("ds1_bright_drv", 16,
> > 0UL);
> > -	unsigned int bright = env_get_ulong("ds1_bright_def", 10,
> > 50);
> > -	unsigned int pwmfrq = env_get_ulong("ds1_pwmfreq", 10, ~0UL);
> > +	unsigned int driver = env_get_ulong(ctx_uboot,
> > "ds1_bright_drv", 16,
> > +					    0UL);
> > +	unsigned int bright = env_get_ulong(ctx_uboot,
> > "ds1_bright_def", 10,
> > +					    50);
> > +	unsigned int pwmfrq = env_get_ulong(ctx_uboot,
> > "ds1_pwmfreq", 10,
> > +					    ~0UL);
> >  	unsigned int tmp;
> >  	struct gptimer *timerhw;
> >  
> > @@ -87,20 +90,20 @@ int load_lcdtiming(struct am335x_lcdpanel *panel)
> >  {
> >  	struct am335x_lcdpanel pnltmp;
> >  
> > -	pnltmp.hactive = env_get_ulong("ds1_hactive", 10, ~0UL);
> > -	pnltmp.vactive = env_get_ulong("ds1_vactive", 10, ~0UL);
> > -	pnltmp.bpp = env_get_ulong("ds1_bpp", 10, ~0UL);
> > -	pnltmp.hfp = env_get_ulong("ds1_hfp", 10, ~0UL);
> > -	pnltmp.hbp = env_get_ulong("ds1_hbp", 10, ~0UL);
> > -	pnltmp.hsw = env_get_ulong("ds1_hsw", 10, ~0UL);
> > -	pnltmp.vfp = env_get_ulong("ds1_vfp", 10, ~0UL);
> > -	pnltmp.vbp = env_get_ulong("ds1_vbp", 10, ~0UL);
> > -	pnltmp.vsw = env_get_ulong("ds1_vsw", 10, ~0UL);
> > -	pnltmp.pxl_clk = env_get_ulong("ds1_pxlclk", 10, ~0UL);
> > -	pnltmp.pol = env_get_ulong("ds1_pol", 16, ~0UL);
> > -	pnltmp.pup_delay = env_get_ulong("ds1_pupdelay", 10, ~0UL);
> > -	pnltmp.pon_delay = env_get_ulong("ds1_tondelay", 10, ~0UL);
> > -	panel_info.vl_rot = env_get_ulong("ds1_rotation", 10, 0);
> > +	pnltmp.hactive = env_get_ulong(ctx_uboot, "ds1_hactive", 10,
> > ~0UL);
> > +	pnltmp.vactive = env_get_ulong(ctx_uboot, "ds1_vactive", 10,
> > ~0UL);
> > +	pnltmp.bpp = env_get_ulong(ctx_uboot, "ds1_bpp", 10, ~0UL);
> > +	pnltmp.hfp = env_get_ulong(ctx_uboot, "ds1_hfp", 10, ~0UL);
> > +	pnltmp.hbp = env_get_ulong(ctx_uboot, "ds1_hbp", 10, ~0UL);
> > +	pnltmp.hsw = env_get_ulong(ctx_uboot, "ds1_hsw", 10, ~0UL);
> > +	pnltmp.vfp = env_get_ulong(ctx_uboot, "ds1_vfp", 10, ~0UL);
> > +	pnltmp.vbp = env_get_ulong(ctx_uboot, "ds1_vbp", 10, ~0UL);
> > +	pnltmp.vsw = env_get_ulong(ctx_uboot, "ds1_vsw", 10, ~0UL);
> > +	pnltmp.pxl_clk = env_get_ulong(ctx_uboot, "ds1_pxlclk", 10,
> > ~0UL);
> > +	pnltmp.pol = env_get_ulong(ctx_uboot, "ds1_pol", 16, ~0UL);
> > +	pnltmp.pup_delay = env_get_ulong(ctx_uboot, "ds1_pupdelay",
> > 10, ~0UL);
> > +	pnltmp.pon_delay = env_get_ulong(ctx_uboot, "ds1_tondelay",
> > 10, ~0UL);
> > +	panel_info.vl_rot = env_get_ulong(ctx_uboot, "ds1_rotation",
> > 10, 0); 
> >  	if (
> >  	   ~0UL == (pnltmp.hactive) ||
> > @@ -151,11 +154,11 @@ static void br_summaryscreen_printenv(char
> > *prefix, char *name, char *altname,
> >  				       char *suffix)
> >  {
> > -	char *envval = env_get(name);
> > +	char *envval = env_get(ctx_uboot, name);
> >  	if (0 != envval) {
> >  		lcd_printf("%s %s %s", prefix, envval, suffix);
> >  	} else if (0 != altname) {
> > -		envval = env_get(altname);
> > +		envval = env_get(ctx_uboot, altname);
> >  		if (0 != envval)
> >  			lcd_printf("%s %s %s", prefix, envval,
> > suffix); } else {
> > @@ -178,7 +181,7 @@ void lcdpower(int on)
> >  	u32 pin, swval, i;
> >  	char buf[16] = { 0 };
> >  
> > -	pin = env_get_ulong("ds1_pwr", 16, ~0UL);
> > +	pin = env_get_ulong(ctx_uboot, "ds1_pwr", 16, ~0UL);
> >  
> >  	if (pin == ~0UL) {
> >  		puts("no pwrpin in dtb/env, cannot powerup
> > display!\n"); @@ -295,8 +298,8 @@ int brdefaultip_setup(int bus, int
> > chip) "if test -r ${ipaddr}; then; else setenv ipaddr 192.168.60.1;
> > setenv serverip 192.168.60.254; setenv gatewayip 192.168.60.254;
> > setenv netmask 255.255.255.0; fi;", sizeof(defip)); 
> > -	env_set("brdefaultip", defip);
> > -	env_set_hex("board_id", u8buf);
> > +	env_set(ctx_uboot, "brdefaultip", defip);
> > +	env_set_hex(ctx_uboot, "board_id", u8buf);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c
> > b/board/BuS/eb_cpu5282/eb_cpu5282.c index 0b916d2482c5..03d2b276a132
> > 100644 --- a/board/BuS/eb_cpu5282/eb_cpu5282.c
> > +++ b/board/BuS/eb_cpu5282/eb_cpu5282.c
> > @@ -139,7 +139,7 @@ void hw_watchdog_init(void)
> >  	int enable;
> >  
> >  	enable = 1;
> > -	s = env_get("watchdog");
> > +	s = env_get(ctx_uboot, "watchdog");
> >  	if (s != NULL)
> >  		if ((strncmp(s, "off", 3) == 0) || (strncmp(s, "0",
> > 1) == 0)) enable = 0;
> > @@ -191,13 +191,13 @@ int drv_video_init(void)
> >  	unsigned long splash;
> >  #endif
> >  	printf("Init Video as ");
> > -	s = env_get("displaywidth");
> > +	s = env_get(ctx_uboot, "displaywidth");
> >  	if (s != NULL)
> >  		display_width = simple_strtoul(s, NULL, 10);
> >  	else
> >  		display_width = 256;
> >  
> > -	s = env_get("displayheight");
> > +	s = env_get(ctx_uboot, "displayheight");
> >  	if (s != NULL)
> >  		display_height = simple_strtoul(s, NULL, 10);
> >  	else
> > @@ -211,7 +211,7 @@ int drv_video_init(void)
> >  	vcxk_init(display_width, display_height);
> >  
> >  #ifdef CONFIG_SPLASH_SCREEN
> > -	s = env_get("splashimage");
> > +	s = env_get(ctx_uboot, "splashimage");
> >  	if (s != NULL) {
> >  		splash = simple_strtoul(s, NULL, 16);
> >  		vcxk_acknowledge_wait();
> > diff --git a/board/CZ.NIC/turris_mox/turris_mox.c
> > b/board/CZ.NIC/turris_mox/turris_mox.c index
> > 946e20ab492f..b23ecb3fefaa 100644 ---
> > a/board/CZ.NIC/turris_mox/turris_mox.c +++
> > b/board/CZ.NIC/turris_mox/turris_mox.c @@ -362,10 +362,10 @@ int
> > misc_init_r(void) return 0;
> >  	}
> >  
> > -	if (is_valid_ethaddr(mac1) && !env_get("ethaddr"))
> > +	if (is_valid_ethaddr(mac1) && !env_get(ctx_uboot, "ethaddr"))
> >  		eth_env_set_enetaddr("ethaddr", mac1);
> >  
> > -	if (is_valid_ethaddr(mac2) && !env_get("eth1addr"))
> > +	if (is_valid_ethaddr(mac2) && !env_get(ctx_uboot,
> > "eth1addr")) eth_env_set_enetaddr("eth1addr", mac2);
> >  
> >  	return 0;
> > diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c
> > b/board/CZ.NIC/turris_omnia/turris_omnia.c index
> > 1d8d08a847d9..bbbeaf75fc97 100644 ---
> > a/board/CZ.NIC/turris_omnia/turris_omnia.c +++
> > b/board/CZ.NIC/turris_omnia/turris_omnia.c @@ -326,7 +326,7 @@ static
> > int set_regdomain(void) puts("EEPROM regdomain read failed.\n");
> >  
> >  	printf("Regdomain set to %s\n", rd);
> > -	return env_set("regdomain", rd);
> > +	return env_set(ctx_uboot, "regdomain", rd);
> >  }
> >  
> >  /*
> > @@ -359,11 +359,11 @@ static void handle_reset_button(void)
> >  		return;
> >  	}
> >  
> > -	env_set_ulong("omnia_reset", reset_status);
> > +	env_set_ulong(ctx_uboot, "omnia_reset", reset_status);
> >  
> >  	if (reset_status) {
> >  		printf("RESET button was pressed, overwriting
> > bootcmd!\n");
> > -		env_set("bootcmd", OMNIA_FACTORY_RESET_BOOTCMD);
> > +		env_set(ctx_uboot, "bootcmd",
> > OMNIA_FACTORY_RESET_BOOTCMD); }
> >  }
> >  #endif
> > diff --git a/board/CarMediaLab/flea3/flea3.c
> > b/board/CarMediaLab/flea3/flea3.c index be0bc228ec71..9a5fe1e2252d
> > 100644 --- a/board/CarMediaLab/flea3/flea3.c
> > +++ b/board/CarMediaLab/flea3/flea3.c
> > @@ -211,7 +211,7 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  		{ "mxc_nand", MTD_DEV_TYPE_NAND, }, /* NAND flash */
> >  	};
> >  
> > -	if (env_get("fdt_noauto")) {
> > +	if (env_get(ctx_uboot, "fdt_noauto")) {
> >  		puts("   Skiping ft_board_setup (fdt_noauto
> > defined)\n"); return 0;
> >  	}
> > diff --git a/board/LaCie/net2big_v2/net2big_v2.c
> > b/board/LaCie/net2big_v2/net2big_v2.c index
> > 686608d25a5a..659a351deaea 100644 ---
> > a/board/LaCie/net2big_v2/net2big_v2.c +++
> > b/board/LaCie/net2big_v2/net2big_v2.c @@ -221,7 +221,7 @@ int
> > misc_init_r(void) {
> >  	init_fan();
> >  #if defined(CONFIG_CMD_I2C) && defined(CONFIG_SYS_I2C_EEPROM_ADDR)
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		uchar mac[6];
> >  		if (lacie_read_mac_address(mac) == 0)
> >  			eth_env_set_enetaddr("ethaddr", mac);
> > diff --git a/board/LaCie/netspace_v2/netspace_v2.c
> > b/board/LaCie/netspace_v2/netspace_v2.c index
> > bd7ab22948b2..83b07300354e 100644 ---
> > a/board/LaCie/netspace_v2/netspace_v2.c +++
> > b/board/LaCie/netspace_v2/netspace_v2.c @@ -83,7 +83,7 @@ int
> > board_init(void) int misc_init_r(void)
> >  {
> >  #if defined(CONFIG_CMD_I2C) && defined(CONFIG_SYS_I2C_EEPROM_ADDR)
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		uchar mac[6];
> >  		if (lacie_read_mac_address(mac) == 0)
> >  			eth_env_set_enetaddr("ethaddr", mac);
> > diff --git a/board/Synology/ds414/cmd_syno.c
> > b/board/Synology/ds414/cmd_syno.c index 777948f90f58..abd38b24fff0
> > 100644 --- a/board/Synology/ds414/cmd_syno.c
> > +++ b/board/Synology/ds414/cmd_syno.c
> > @@ -80,7 +80,7 @@ static int do_syno_populate(int argc, char * const
> > argv[]) ethaddr[0], ethaddr[1], ethaddr[2],
> >  			 ethaddr[3], ethaddr[4], ethaddr[5]);
> >  		printf("parsed %s = %s\n", var, val);
> > -		env_set(var, val);
> > +		env_set(ctx_uboot, var, val);
> >  	}
> >  	if (!strncmp(buf + 32, SYNO_SN_TAG, strlen(SYNO_SN_TAG))) {
> >  		char *snp, *csump;
> > @@ -110,7 +110,7 @@ static int do_syno_populate(int argc, char *
> > const argv[]) goto out_unmap;
> >  		}
> >  		printf("parsed SN = %s\n", snp);
> > -		env_set("SN", snp);
> > +		env_set(ctx_uboot, "SN", snp);
> >  	} else {	/* old style format */
> >  		unsigned char csum = 0;
> >  
> > @@ -124,7 +124,7 @@ static int do_syno_populate(int argc, char *
> > const argv[]) }
> >  		bufp[n] = '\0';
> >  		printf("parsed SN = %s\n", buf + 32);
> > -		env_set("SN", buf + 32);
> > +		env_set(ctx_uboot, "SN", buf + 32);
> >  	}
> >  out_unmap:
> >  	unmap_physmem(buf, len);
> > diff --git a/board/alliedtelesis/x530/x530.c
> > b/board/alliedtelesis/x530/x530.c index e0fa8067c1c5..53bc9dd286e2
> > 100644 --- a/board/alliedtelesis/x530/x530.c
> > +++ b/board/alliedtelesis/x530/x530.c
> > @@ -157,7 +157,7 @@ int misc_init_r(void)
> >  	gpio_hog(&led_en, "atl,led-enable", "enable-gpio", 1);
> >  
> >  #ifdef MTDPARTS_MTDOOPS
> > -	env_set("mtdoops", MTDPARTS_MTDOOPS);
> > +	env_set(ctx_uboot, "mtdoops", MTDPARTS_MTDOOPS);
> >  #endif
> >  
> >  	led_7seg_init(0xff);
> > diff --git a/board/amazon/kc1/kc1.c b/board/amazon/kc1/kc1.c
> > index 9034c4fbfff0..9f183da00a9e 100644
> > --- a/board/amazon/kc1/kc1.c
> > +++ b/board/amazon/kc1/kc1.c
> > @@ -118,8 +118,8 @@ int misc_init_r(void)
> >  	}
> >  
> >  	if (reboot_mode[0] > 0 && isascii(reboot_mode[0])) {
> > -		if (!env_get("reboot-mode"))
> > -			env_set("reboot-mode", (char *)reboot_mode);
> > +		if (!env_get(ctx_uboot, "reboot-mode"))
> > +			env_set(ctx_uboot, "reboot-mode", (char
> > *)reboot_mode); }
> >  
> >  	omap_reboot_mode_clear();
> > diff --git a/board/amlogic/p200/p200.c b/board/amlogic/p200/p200.c
> > index 41d331dda2d4..4b1a158f1750 100644
> > --- a/board/amlogic/p200/p200.c
> > +++ b/board/amlogic/p200/p200.c
> > @@ -32,11 +32,11 @@ int misc_init_r(void)
> >  			eth_env_set_enetaddr("ethaddr", mac_addr);
> >  	}
> >  
> > -	if (!env_get("serial#")) {
> > +	if (!env_get(ctx_uboot, "serial#")) {
> >  		len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial,
> >  			EFUSE_SN_SIZE);
> >  		if (len == EFUSE_SN_SIZE)
> > -			env_set("serial#", serial);
> > +			env_set(ctx_uboot, "serial#", serial);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/amlogic/p201/p201.c b/board/amlogic/p201/p201.c
> > index e46fcaea6dcd..ba2a5387a120 100644
> > --- a/board/amlogic/p201/p201.c
> > +++ b/board/amlogic/p201/p201.c
> > @@ -32,11 +32,11 @@ int misc_init_r(void)
> >  			eth_env_set_enetaddr("ethaddr", mac_addr);
> >  	}
> >  
> > -	if (!env_get("serial#")) {
> > +	if (!env_get(ctx_uboot, "serial#")) {
> >  		len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial,
> >  			EFUSE_SN_SIZE);
> >  		if (len == EFUSE_SN_SIZE)
> > -			env_set("serial#", serial);
> > +			env_set(ctx_uboot, "serial#", serial);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/amlogic/p212/p212.c b/board/amlogic/p212/p212.c
> > index 094ab5478d00..3fabf79a4b41 100644
> > --- a/board/amlogic/p212/p212.c
> > +++ b/board/amlogic/p212/p212.c
> > @@ -36,11 +36,11 @@ int misc_init_r(void)
> >  			meson_generate_serial_ethaddr();
> >  	}
> >  
> > -	if (!env_get("serial#")) {
> > +	if (!env_get(ctx_uboot, "serial#")) {
> >  		len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial,
> >  			EFUSE_SN_SIZE);
> >  		if (len == EFUSE_SN_SIZE)
> > -			env_set("serial#", serial);
> > +			env_set(ctx_uboot, "serial#", serial);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/amlogic/q200/q200.c b/board/amlogic/q200/q200.c
> > index f1faa7418e07..2cf2af3e1899 100644
> > --- a/board/amlogic/q200/q200.c
> > +++ b/board/amlogic/q200/q200.c
> > @@ -35,11 +35,11 @@ int misc_init_r(void)
> >  			meson_generate_serial_ethaddr();
> >  	}
> >  
> > -	if (!env_get("serial#")) {
> > +	if (!env_get(ctx_uboot, "serial#")) {
> >  		len = meson_sm_read_efuse(EFUSE_SN_OFFSET, serial,
> >  					  EFUSE_SN_SIZE);
> >  		if (len == EFUSE_SN_SIZE)
> > -			env_set("serial#", serial);
> > +			env_set(ctx_uboot, "serial#", serial);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/aristainetos/aristainetos-v2.c
> > b/board/aristainetos/aristainetos-v2.c index
> > c0a2e41f02e8..061baf0255db 100644 ---
> > a/board/aristainetos/aristainetos-v2.c +++
> > b/board/aristainetos/aristainetos-v2.c @@ -651,7 +651,7 @@ int
> > board_late_init(void) {
> >  	char *my_bootdelay;
> >  	char bootmode = 0;
> > -	char const *panel = env_get("panel");
> > +	char const *panel = env_get(ctx_uboot, "panel");
> >  
> >  	/*
> >  	 * Check the boot-source. If booting from NOR Flash,
> > @@ -668,11 +668,11 @@ int board_late_init(void)
> >  	bootmode |= (gpio_get_value(IMX_GPIO_NR(7, 1)) ? 1 : 0) << 2;
> >  
> >  	if (bootmode == 7) {
> > -		my_bootdelay = env_get("nor_bootdelay");
> > +		my_bootdelay = env_get(ctx_uboot, "nor_bootdelay");
> >  		if (my_bootdelay != NULL)
> > -			env_set("bootdelay", my_bootdelay);
> > +			env_set(ctx_uboot, "bootdelay",
> > my_bootdelay); else
> > -			env_set("bootdelay", "-2");
> > +			env_set(ctx_uboot, "bootdelay", "-2");
> >  	}
> >  
> >  	/* if we have the lg panel, we can initialze it now */
> > diff --git a/board/armltd/integrator/integrator.c
> > b/board/armltd/integrator/integrator.c index
> > 0a2baa72976c..72c9678218ae 100644 ---
> > a/board/armltd/integrator/integrator.c +++
> > b/board/armltd/integrator/integrator.c @@ -116,7 +116,7 @@ extern
> > void cm_remap(void); 
> >  int misc_init_r (void)
> >  {
> > -	env_set("verify", "n");
> > +	env_set(ctx_uboot, "verify", "n");
> >  	return (0);
> >  }
> >  
> > diff --git a/board/atmel/common/board.c b/board/atmel/common/board.c
> > index c41706c4005c..aef6babfd37a 100644
> > --- a/board/atmel/common/board.c
> > +++ b/board/atmel/common/board.c
> > @@ -64,7 +64,7 @@ void at91_pda_detect(void)
> >  	}
> >  
> >  pda_detect_err:
> > -	env_set("pda", (const char *)buf);
> > +	env_set(ctx_uboot, "pda", (const char *)buf);
> >  }
> >  #else
> >  void at91_pda_detect(void)
> > @@ -74,5 +74,5 @@ void at91_pda_detect(void)
> >  
> >  void at91_prepare_cpu_var(void)
> >  {
> > -	env_set("cpu", get_cpu_name());
> > +	env_set(ctx_uboot, "cpu", get_cpu_name());
> >  }
> > diff --git a/board/atmel/common/mac_eeprom.c
> > b/board/atmel/common/mac_eeprom.c index 83a7778e9954..4c9a5c0b0d0e
> > 100644 --- a/board/atmel/common/mac_eeprom.c
> > +++ b/board/atmel/common/mac_eeprom.c
> > @@ -18,7 +18,7 @@ int at91_set_ethaddr(int offset)
> >  	struct udevice *dev;
> >  	int ret;
> >  
> > -	if (env_get(ETHADDR_NAME))
> > +	if (env_get(ctx_uboot, ETHADDR_NAME))
> >  		return 0;
> >  
> >  	ret = uclass_first_device_err(UCLASS_I2C_EEPROM, &dev);
> > diff --git a/board/atmel/sama5d3xek/sama5d3xek.c
> > b/board/atmel/sama5d3xek/sama5d3xek.c index
> > acf61486d20b..6c27c3dbe148 100644 ---
> > a/board/atmel/sama5d3xek/sama5d3xek.c +++
> > b/board/atmel/sama5d3xek/sama5d3xek.c @@ -187,7 +187,7 @@ int
> > board_late_init(void) *p = tolower(*p);
> >  
> >  	strcat(name, "ek.dtb");
> > -	env_set("dtb_name", name);
> > +	env_set(ctx_uboot, "dtb_name", name);
> >  #endif
> >  #ifdef CONFIG_DM_VIDEO
> >  	at91_video_show_board_info();
> > diff --git a/board/bachmann/ot1200/ot1200.c
> > b/board/bachmann/ot1200/ot1200.c index 36f37084b36c..baf7b7cdf7f3
> > 100644 --- a/board/bachmann/ot1200/ot1200.c
> > +++ b/board/bachmann/ot1200/ot1200.c
> > @@ -301,9 +301,9 @@ int board_eth_init(bd_t *bis)
> >  
> >  	/* depending on the phy address we can detect our board
> > version */ if (phydev->addr == 0)
> > -		env_set("boardver", "");
> > +		env_set(ctx_uboot, "boardver", "");
> >  	else
> > -		env_set("boardver", "mr");
> > +		env_set(ctx_uboot, "boardver", "mr");
> >  
> >  	printf("using phy at %d\n", phydev->addr);
> >  	ret = fec_probe(bis, -1, base, bus, phydev);
> > diff --git a/board/birdland/bav335x/board.c
> > b/board/birdland/bav335x/board.c index 8811583ac628..9a8b69df3891
> > 100644 --- a/board/birdland/bav335x/board.c
> > +++ b/board/birdland/bav335x/board.c
> > @@ -161,7 +161,7 @@ int spl_start_uboot(void)
> >  
> >  #ifdef CONFIG_SPL_ENV_SUPPORT
> >  	env_init();
> > -	env_load();
> > +	env_load(ctx_uboot);
> >  	if (env_get_yesno("boot_os") != 1)
> >  		return 1;
> >  #endif
> > @@ -300,8 +300,8 @@ int board_init(void)
> >  int board_late_init(void)
> >  {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "BAV335xB");
> > -	env_set("board_rev", "B"); /* Fix me, but why bother.. */
> > +	env_set(ctx_uboot, "board_name", "BAV335xB");
> > +	env_set(ctx_uboot, "board_rev", "B"); /* Fix me, but why
> > bother.. */ #endif
> >  	return 0;
> >  }
> > @@ -391,7 +391,7 @@ int board_eth_init(bd_t *bis)
> >  #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD))
> > || \ (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD))
> >  
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		printf("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); 
> >  		if (is_valid_ethaddr(mac_addr))
> > diff --git a/board/bluegiga/apx4devkit/apx4devkit.c
> > b/board/bluegiga/apx4devkit/apx4devkit.c index
> > 9268aa0daafc..a7116e8c0c06 100644 ---
> > a/board/bluegiga/apx4devkit/apx4devkit.c +++
> > b/board/bluegiga/apx4devkit/apx4devkit.c @@ -133,8 +133,9 @@ void
> > get_board_serial(struct tag_serialnr *serialnr) #ifdef
> > CONFIG_REVISION_TAG u32 get_board_rev(void)
> >  {
> > -	if (env_get("revision#") != NULL)
> > -		return simple_strtoul(env_get("revision#"), NULL,
> > 10);
> > +	if (env_get(ctx_uboot, "revision#"))
> > +		return simple_strtoul(env_get(ctx_uboot,
> > "revision#"), NULL,
> > +				      10);
> >  	return 0;
> >  }
> >  #endif
> > diff --git a/board/bluewater/gurnard/gurnard.c
> > b/board/bluewater/gurnard/gurnard.c index 48e31d9065a2..560db5fee639
> > 100644 --- a/board/bluewater/gurnard/gurnard.c
> > +++ b/board/bluewater/gurnard/gurnard.c
> > @@ -340,7 +340,7 @@ int board_init(void)
> >  	at91_set_A_periph(AT91_PIN_PE6, 1);	/* power up */
> >  
> >  	/* Select the second timing index for board rev 2 */
> > -	rev_str = env_get("board_rev");
> > +	rev_str = env_get(ctx_uboot, "board_rev");
> >  	if (rev_str && !strncmp(rev_str, "2", 1)) {
> >  		struct udevice *dev;
> >  
> > @@ -367,7 +367,7 @@ int board_late_init(void)
> >  	 * Set MAC address so we do not need to init Ethernet before
> > Linux
> >  	 * boot
> >  	 */
> > -	env_str = env_get("ethaddr");
> > +	env_str = env_get(ctx_uboot, "ethaddr");
> >  	if (env_str) {
> >  		struct at91_emac *emac = (struct at91_emac
> > *)ATMEL_BASE_EMAC; /* Parse MAC address */
> > @@ -384,7 +384,7 @@ int board_late_init(void)
> >  		       &emac->sa2l);
> >  		writel((env_enetaddr[4] | env_enetaddr[5] << 8),
> > &emac->sa2h); 
> > -		printf("MAC:   %s\n", env_get("ethaddr"));
> > +		printf("MAC:   %s\n", env_get(ctx_uboot, "ethaddr"));
> >  	} else {
> >  		/* Not set in environment */
> >  		printf("MAC:   not set\n");
> > diff --git a/board/bosch/shc/board.c b/board/bosch/shc/board.c
> > index a96fdef992d2..6afbdb9737ac 100644
> > --- a/board/bosch/shc/board.c
> > +++ b/board/bosch/shc/board.c
> > @@ -246,7 +246,7 @@ static void check_button_status(void)
> >  
> >  	if (value == 0) {
> >  		printf("front button activated !\n");
> > -		env_set("harakiri", "1");
> > +		env_set(ctx_uboot, "harakiri", "1");
> >  	}
> >  }
> >  
> > diff --git a/board/boundary/nitrogen6x/nitrogen6x.c
> > b/board/boundary/nitrogen6x/nitrogen6x.c index
> > 26af3f710250..e9a1cde72390 100644 ---
> > a/board/boundary/nitrogen6x/nitrogen6x.c +++
> > b/board/boundary/nitrogen6x/nitrogen6x.c @@ -749,7 +749,7 @@ size_t
> > display_count = ARRAY_SIZE(displays); 
> >  int board_cfb_skip(void)
> >  {
> > -	return NULL != env_get("novideo");
> > +	return env_get(ctx_uboot, "novideo") != NULL;
> >  }
> >  
> >  static void setup_display(void)
> > @@ -954,7 +954,7 @@ static int do_kbd(cmd_tbl_t *cmdtp, int flag, int
> > argc, char * const argv[]) {
> >  	char envvalue[ARRAY_SIZE(buttons)+1];
> >  	int numpressed = read_keys(envvalue);
> > -	env_set("keybd", envvalue);
> > +	env_set(ctx_uboot, "keybd", envvalue);
> >  	return numpressed == 0;
> >  }
> >  
> > @@ -974,7 +974,7 @@ static void preboot_keys(void)
> >  	char keypress[ARRAY_SIZE(buttons)+1];
> >  	numpressed = read_keys(keypress);
> >  	if (numpressed) {
> > -		char *kbd_magic_keys = env_get("magic_keys");
> > +		char *kbd_magic_keys = env_get(ctx_uboot,
> > "magic_keys"); char *suffix;
> >  		/*
> >  		 * loop over all magic keys
> > @@ -983,7 +983,7 @@ static void preboot_keys(void)
> >  			char *keys;
> >  			char magic[sizeof(kbd_magic_prefix) + 1];
> >  			sprintf(magic, "%s%c", kbd_magic_prefix,
> > *suffix);
> > -			keys = env_get(magic);
> > +			keys = env_get(ctx_uboot, magic);
> >  			if (keys) {
> >  				if (!strcmp(keys, keypress))
> >  					break;
> > @@ -993,9 +993,9 @@ static void preboot_keys(void)
> >  			char cmd_name[sizeof(kbd_command_prefix) +
> > 1]; char *cmd;
> >  			sprintf(cmd_name, "%s%c",
> > kbd_command_prefix, *suffix);
> > -			cmd = env_get(cmd_name);
> > +			cmd = env_get(ctx_uboot, cmd_name);
> >  			if (cmd) {
> > -				env_set("preboot", cmd);
> > +				env_set(ctx_uboot, "preboot", cmd);
> >  				return;
> >  			}
> >  		}
> > @@ -1021,6 +1021,6 @@ int misc_init_r(void)
> >  #ifdef CONFIG_CMD_BMODE
> >  	add_board_boot_modes(board_boot_modes);
> >  #endif
> > -	env_set_hex("reset_cause", get_imx_reset_cause());
> > +	env_set_hex(ctx_uboot, "reset_cause",
> > get_imx_reset_cause(void)); return 0;
> >  }
> > diff --git a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
> > b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c index
> > ce9f0494ee59..51e7f2c0c847 100644 ---
> > a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c +++
> > b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c @@ -103,7 +103,7 @@ int
> > board_usb_init(int index, enum usb_init_type init) int
> > g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
> > { debug("%s\n", __func__);
> > -	if (!env_get("serial#"))
> > +	if (!env_get(ctx_uboot, "serial#"))
> >  		g_dnl_set_serialnumber(CONFIG_USB_SERIALNO);
> >  	return 0;
> >  }
> > diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c
> > b/board/broadcom/bcm28155_ap/bcm28155_ap.c index
> > 87616386cb84..d9240cf35c8c 100644 ---
> > a/board/broadcom/bcm28155_ap/bcm28155_ap.c +++
> > b/board/broadcom/bcm28155_ap/bcm28155_ap.c @@ -110,7 +110,7 @@ int
> > board_usb_init(int index, enum usb_init_type init) int
> > g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
> > { debug("%s\n", __func__);
> > -	if (!env_get("serial#"))
> > +	if (!env_get(ctx_uboot, "serial#"))
> >  		g_dnl_set_serialnumber(CONFIG_USB_SERIALNO);
> >  	return 0;
> >  }
> > diff --git a/board/broadcom/bcmstb/bcmstb.c
> > b/board/broadcom/bcmstb/bcmstb.c index 5fc2c0591b84..494c03d3eb79
> > 100644 --- a/board/broadcom/bcmstb/bcmstb.c
> > +++ b/board/broadcom/bcmstb/bcmstb.c
> > @@ -120,7 +120,7 @@ int board_late_init(void)
> >  	 * Set fdtcontroladdr in the environment so that scripts can
> >  	 * refer to it, for example, to reuse it for fdtaddr.
> >  	 */
> > -	env_set_hex("fdtcontroladdr", prior_stage_fdt_address);
> > +	env_set_hex(ctx_uboot, "fdtcontroladdr",
> > prior_stage_fdt_address); 
> >  	/*
> >  	 * Do not set machid to the machine identifier value provided
> > diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c
> > index 95d3a5e1f579..f1baed84e268 100644
> > --- a/board/buffalo/lsxl/lsxl.c
> > +++ b/board/buffalo/lsxl/lsxl.c
> > @@ -229,7 +229,7 @@ static void erase_environment(void)
> >  static void rescue_mode(void)
> >  {
> >  	printf("Entering rescue mode..\n");
> > -	env_set("bootsource", "rescue");
> > +	env_set(ctx_uboot, "bootsource", "rescue");
> >  }
> >  
> >  static void check_push_button(void)
> > diff --git a/board/cadence/xtfpga/xtfpga.c
> > b/board/cadence/xtfpga/xtfpga.c index 256611638a55..1aee9c6f95a0
> > 100644 --- a/board/cadence/xtfpga/xtfpga.c
> > +++ b/board/cadence/xtfpga/xtfpga.c
> > @@ -86,14 +86,14 @@ int misc_init_r(void)
> >  	 * Default MAC address comes from CONFIG_ETHADDR + DIP
> > switches 1-6. */
> >  
> > -	char *s = env_get("ethaddr");
> > +	char *s = env_get(ctx_uboot, "ethaddr");
> >  	if (s == 0) {
> >  		unsigned int x;
> >  		char s[] = __stringify(CONFIG_ETHBASE);
> >  		x = (*(volatile u32 *)CONFIG_SYS_FPGAREG_DIPSW)
> >  			& FPGAREG_MAC_MASK;
> >  		sprintf(&s[15], "%02x", x);
> > -		env_set("ethaddr", s);
> > +		env_set(ctx_uboot, "ethaddr", s);
> >  	}
> >  #endif /* CONFIG_CMD_NET */
> >  
> > diff --git a/board/ccv/xpress/xpress.c b/board/ccv/xpress/xpress.c
> > index 05286e643c0e..9518307f7a76 100644
> > --- a/board/ccv/xpress/xpress.c
> > +++ b/board/ccv/xpress/xpress.c
> > @@ -324,7 +324,7 @@ static const struct boot_mode board_boot_modes[]
> > = { int board_late_init(void)
> >  {
> >  	add_board_boot_modes(board_boot_modes);
> > -	env_set("board_name", "xpress");
> > +	env_set(ctx_uboot, "board_name", "xpress");
> >  
> >  	return 0;
> >  }
> > diff --git a/board/compulab/cl-som-imx7/cl-som-imx7.c
> > b/board/compulab/cl-som-imx7/cl-som-imx7.c index
> > 395d5dce1785..d05a0dcf32f5 100644 ---
> > a/board/compulab/cl-som-imx7/cl-som-imx7.c +++
> > b/board/compulab/cl-som-imx7/cl-som-imx7.c @@ -311,7 +311,7 @@ void
> > cl_som_imx7_setup_wdog(void) 
> >  int board_late_init(void)
> >  {
> > -	env_set("board_name", "CL-SOM-iMX7");
> > +	env_set(ctx_uboot, "board_name", "CL-SOM-iMX7");
> >  	cl_som_imx7_setup_wdog();
> >  	return 0;
> >  }
> > diff --git a/board/compulab/cm_fx6/cm_fx6.c
> > b/board/compulab/cm_fx6/cm_fx6.c index feb7a71f007d..50564fde2ba6
> > 100644 --- a/board/compulab/cm_fx6/cm_fx6.c
> > +++ b/board/compulab/cm_fx6/cm_fx6.c
> > @@ -117,10 +117,10 @@ int board_video_skip(void)
> >  {
> >  	int ret;
> >  	struct display_info_t *preset;
> > -	char const *panel = env_get("displaytype");
> > +	char const *panel = env_get(ctx_uboot, "displaytype");
> >  
> >  	if (!panel) /* Also accept panel for backward compatibility
> > */
> > -		panel = env_get("panel");
> > +		panel = env_get(ctx_uboot, "panel");
> >  
> >  	if (!panel)
> >  		return -ENOENT;
> > @@ -628,16 +628,16 @@ int board_late_init(void)
> >  	int err;
> >  
> >  	if (is_mx6dq())
> > -		env_set("board_rev", "MX6Q");
> > +		env_set(ctx_uboot, "board_rev", "MX6Q");
> >  	else if (is_mx6dl())
> > -		env_set("board_rev", "MX6DL");
> > +		env_set(ctx_uboot, "board_rev", "MX6DL");
> >  
> >  	err = cl_eeprom_get_product_name((uchar *)baseboard_name, 0);
> >  	if (err)
> >  		return 0;
> >  
> >  	if (!strncmp("SB-FX6m", baseboard_name, 7))
> > -		env_set("board_name", "Utilite");
> > +		env_set(ctx_uboot, "board_name", "Utilite");
> >  #endif
> >  	return 0;
> >  }
> > diff --git a/board/compulab/common/omap3_display.c
> > b/board/compulab/common/omap3_display.c index
> > cb9ebae7f964..9215a37d982a 100644 ---
> > a/board/compulab/common/omap3_display.c +++
> > b/board/compulab/common/omap3_display.c @@ -398,7 +398,7 @@ void
> > lcd_ctrl_init(void *lcdbase) {
> >  	struct prcm *prcm = (struct prcm *)PRCM_BASE;
> >  	char *custom_lcd;
> > -	char *displaytype = env_get("displaytype");
> > +	char *displaytype = env_get(ctx_uboot, "displaytype");
> >  
> >  	if (displaytype == NULL)
> >  		return;
> > @@ -406,7 +406,7 @@ void lcd_ctrl_init(void *lcdbase)
> >  	lcd_def = env_parse_displaytype(displaytype);
> >  	/* If we did not recognize the preset, check if it's an env
> > variable */ if (lcd_def == NONE) {
> > -		custom_lcd = env_get(displaytype);
> > +		custom_lcd = env_get(ctx_uboot, displaytype);
> >  		if (custom_lcd == NULL ||
> > parse_customlcd(custom_lcd) < 0) return;
> >  	}
> > diff --git a/board/congatec/cgtqmx6eval/cgtqmx6eval.c
> > b/board/congatec/cgtqmx6eval/cgtqmx6eval.c index
> > 6b3d5b833f44..8143f7680e7b 100644 ---
> > a/board/congatec/cgtqmx6eval/cgtqmx6eval.c +++
> > b/board/congatec/cgtqmx6eval/cgtqmx6eval.c @@ -236,7 +236,7 @@ int
> > power_init_board(void) return 0;
> >  
> >  	/* set level of MIPI if specified */
> > -	lv_mipi = env_get("lv_mipi");
> > +	lv_mipi = env_get(ctx_uboot, "lv_mipi");
> >  	if (lv_mipi)
> >  		return 0;
> >  
> > @@ -584,7 +584,7 @@ int board_video_skip(void)
> >  {
> >  	int i;
> >  	int ret;
> > -	char const *panel = env_get("panel");
> > +	char const *panel = env_get(ctx_uboot, "panel");
> >  	if (!panel) {
> >  		for (i = 0; i < ARRAY_SIZE(displays); i++) {
> >  			struct display_info_t const *dev = displays
> > + i; @@ -756,9 +756,9 @@ int board_late_init(void)
> >  {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  	if (is_mx6dq())
> > -		env_set("board_rev", "MX6Q");
> > +		env_set(ctx_uboot, "board_rev", "MX6Q");
> >  	else
> > -		env_set("board_rev", "MX6DL");
> > +		env_set(ctx_uboot, "board_rev", "MX6DL");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/cssi/MCR3000/MCR3000.c
> > b/board/cssi/MCR3000/MCR3000.c index 445b84c180fe..0f7ba71bb647 100644
> > --- a/board/cssi/MCR3000/MCR3000.c
> > +++ b/board/cssi/MCR3000/MCR3000.c
> > @@ -127,7 +127,7 @@ int misc_init_r(void)
> >  
> >  	/* if BTN_ACQ_AL is pressed then bootdelay is changed to 60
> > second */ if ((in_be16(&iop->iop_pcdat) & 0x0004) == 0)
> > -		env_set("bootdelay", "60");
> > +		env_set(ctx_uboot, "bootdelay", "60");
> >  
> >  	return 0;
> >  }
> > diff --git a/board/davinci/da8xxevm/da850evm.c
> > b/board/davinci/da8xxevm/da850evm.c index d9019de6e006..31a380275553
> > 100644 --- a/board/davinci/da8xxevm/da850evm.c
> > +++ b/board/davinci/da8xxevm/da850evm.c
> > @@ -280,7 +280,7 @@ u32 get_board_rev(void)
> >  	u32 maxcpuclk = CONFIG_DA850_EVM_MAX_CPU_CLK;
> >  	u32 rev = 0;
> >  
> > -	s = env_get("maxcpuclk");
> > +	s = env_get(ctx_uboot, "maxcpuclk");
> >  	if (s)
> >  		maxcpuclk = simple_strtoul(s, NULL, 10);
> >  
> > diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c
> > b/board/davinci/da8xxevm/omapl138_lcdk.c index
> > 27a51d6a7802..0856b25c16e4 100644 ---
> > a/board/davinci/da8xxevm/omapl138_lcdk.c +++
> > b/board/davinci/da8xxevm/omapl138_lcdk.c @@ -275,7 +275,7 @@ static
> > void dspwake(void) if ((REG(CHIP_REV_ID_REG) & 0x3f) == 0x10)
> >  		return;
> >  
> > -	if (!strcmp(env_get("dspwake"), "no"))
> > +	if (!strcmp(env_get(ctx_uboot, "dspwake"), "no"))
> >  		return;
> >  
> >  	*resetvect++ = 0x1E000; /* DSP Idle */
> > @@ -305,7 +305,7 @@ int misc_init_r(void)
> >  	uint8_t tmp[20], addr[10];
> >  
> >  
> > -	if (env_get("ethaddr") == NULL) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		/* Read Ethernet MAC address from EEPROM */
> >  		if (dvevm_read_mac_address(addr)) {
> >  			/* Set Ethernet MAC address from EEPROM */
> > @@ -319,7 +319,7 @@ int misc_init_r(void)
> >  				addr[0], addr[1], addr[2], addr[3],
> > addr[4], addr[5]);
> >  
> > -			env_set("ethaddr", (char *)tmp);
> > +			env_set(ctx_uboot, "ethaddr", (char *)tmp);
> >  		} else {
> >  			printf("Invalid MAC address read.\n");
> >  		}
> > diff --git a/board/dhelectronics/dh_imx6/dh_imx6.c
> > b/board/dhelectronics/dh_imx6/dh_imx6.c index
> > 2d0f78da118f..d904ab4170d3 100644 ---
> > a/board/dhelectronics/dh_imx6/dh_imx6.c +++
> > b/board/dhelectronics/dh_imx6/dh_imx6.c @@ -251,7 +251,7 @@ int
> > board_late_init(void) break;
> >  	}
> >  
> > -	env_set("dhcom", buf);
> > +	env_set(ctx_uboot, "dhcom", buf);
> >  
> >  #ifdef CONFIG_CMD_BMODE
> >  	add_board_boot_modes(board_boot_modes);
> > diff --git a/board/eets/pdu001/board.c b/board/eets/pdu001/board.c
> > index 8a3d0ada270e..104dc1d3c6f7 100644
> > --- a/board/eets/pdu001/board.c
> > +++ b/board/eets/pdu001/board.c
> > @@ -79,15 +79,15 @@ static void env_set_boot_device(void)
> >  {
> >  	switch (boot_device()) {
> >  		case BOOT_DEVICE_MMC1: {
> > -			env_set("boot_device", "emmc");
> > +			env_set(ctx_uboot, "boot_device", "emmc");
> >  			break;
> >  		}
> >  		case BOOT_DEVICE_MMC2: {
> > -			env_set("boot_device", "sdcard");
> > +			env_set(ctx_uboot, "boot_device", "sdcard");
> >  			break;
> >  		}
> >  		default: {
> > -			env_set("boot_device", "unknown");
> > +			env_set(ctx_uboot, "boot_device", "unknown");
> >  			break;
> >  		}
> >  	}
> > @@ -117,7 +117,7 @@ static void env_set_serial(struct udevice *dev)
> >  		sprintf(serial + n, "%02X", val);
> >  	}
> >  	serial[2 * NODE_ID_BYTE_COUNT] = '\0';
> > -	env_set("serial#", serial);
> > +	env_set(ctx_uboot, "serial#", serial);
> >  }
> >  
> >  static void set_mpu_and_core_voltage(void)
> > diff --git a/board/el/el6x/el6x.c b/board/el/el6x/el6x.c
> > index 18d69a7da388..606fe1530728 100644
> > --- a/board/el/el6x/el6x.c
> > +++ b/board/el/el6x/el6x.c
> > @@ -467,7 +467,7 @@ int board_late_init(void)
> >  	add_board_boot_modes(board_boot_modes);
> >  #endif
> >  
> > -	env_set("board_name", BOARD_NAME);
> > +	env_set(ctx_uboot, "board_name", BOARD_NAME);
> >  	return 0;
> >  }
> >  
> > diff --git a/board/emulation/qemu-riscv/qemu-riscv.c
> > b/board/emulation/qemu-riscv/qemu-riscv.c index
> > 37d48d04f2d0..6cb571ba036c 100644 ---
> > a/board/emulation/qemu-riscv/qemu-riscv.c +++
> > b/board/emulation/qemu-riscv/qemu-riscv.c @@ -46,7 +46,7 @@ int
> > board_late_init(void) return 0;
> >  	}
> >  
> > -	env_set_hex("kernel_start", kernel_start);
> > +	env_set_hex(ctx_uboot, "kernel_start", kernel_start);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/engicam/common/board.c
> > b/board/engicam/common/board.c index 0c47afe5b566..b338c364efd0 100644
> > --- a/board/engicam/common/board.c
> > +++ b/board/engicam/common/board.c
> > @@ -22,11 +22,11 @@ static void mmc_late_init(void)
> >  	char mmcblk[32];
> >  	u32 dev_no = mmc_get_env_dev();
> >  
> > -	env_set_ulong("mmcdev", dev_no);
> > +	env_set_ulong(ctx_uboot, "mmcdev", dev_no);
> >  
> >  	/* Set mmcblk env */
> >  	sprintf(mmcblk, "/dev/mmcblk%dp2 rootwait rw", dev_no);
> > -	env_set("mmcroot", mmcblk);
> > +	env_set(ctx_uboot, "mmcroot", mmcblk);
> >  
> >  	sprintf(cmd, "mmc dev %d", dev_no);
> >  	run_command(cmd, 0);
> > @@ -39,25 +39,25 @@ static void setenv_fdt_file(void)
> >  
> >  	if (!strcmp(cmp_dtb, "imx6q-icore")) {
> >  		if (is_mx6dq())
> > -			env_set("fdt_file", "imx6q-icore.dtb");
> > +			env_set(ctx_uboot, "fdt_file",
> > "imx6q-icore.dtb"); else if (is_mx6dl() || is_mx6solo())
> > -			env_set("fdt_file", "imx6dl-icore.dtb");
> > +			env_set(ctx_uboot, "fdt_file",
> > "imx6dl-icore.dtb"); } else if (!strcmp(cmp_dtb, "imx6q-icore-mipi"))
> > { if (is_mx6dq())
> > -			env_set("fdt_file", "imx6q-icore-mipi.dtb");
> > +			env_set(ctx_uboot, "fdt_file",
> > "imx6q-icore-mipi.dtb"); else if (is_mx6dl() || is_mx6solo())
> > -			env_set("fdt_file", "imx6dl-icore-mipi.dtb");
> > +			env_set(ctx_uboot, "fdt_file",
> > "imx6dl-icore-mipi.dtb"); } else if (!strcmp(cmp_dtb,
> > "imx6q-icore-rqs")) { if (is_mx6dq())
> > -			env_set("fdt_file", "imx6q-icore-rqs.dtb");
> > +			env_set(ctx_uboot, "fdt_file",
> > "imx6q-icore-rqs.dtb"); else if (is_mx6dl() || is_mx6solo())
> > -			env_set("fdt_file", "imx6dl-icore-rqs.dtb");
> > +			env_set(ctx_uboot, "fdt_file",
> > "imx6dl-icore-rqs.dtb"); } else if (!strcmp(cmp_dtb, "imx6ul-geam"))
> > -		env_set("fdt_file", "imx6ul-geam.dtb");
> > +		env_set(ctx_uboot, "fdt_file", "imx6ul-geam.dtb");
> >  	else if (!strcmp(cmp_dtb, "imx6ul-isiot-emmc"))
> > -		env_set("fdt_file", "imx6ul-isiot-emmc.dtb");
> > +		env_set(ctx_uboot, "fdt_file",
> > "imx6ul-isiot-emmc.dtb"); else if (!strcmp(cmp_dtb,
> > "imx6ul-isiot-nand"))
> > -		env_set("fdt_file", "imx6ul-isiot-nand.dtb");
> > +		env_set(ctx_uboot, "fdt_file",
> > "imx6ul-isiot-nand.dtb"); }
> >  
> >  int board_late_init(void)
> > @@ -71,20 +71,20 @@ int board_late_init(void)
> >  #ifdef CONFIG_ENV_IS_IN_MMC
> >  		mmc_late_init();
> >  #endif
> > -		env_set("modeboot", "mmcboot");
> > +		env_set(ctx_uboot, "modeboot", "mmcboot");
> >  		break;
> >  	case IMX6_BMODE_NAND_MIN ... IMX6_BMODE_NAND_MAX:
> > -		env_set("modeboot", "nandboot");
> > +		env_set(ctx_uboot, "modeboot", "nandboot");
> >  		break;
> >  	default:
> > -		env_set("modeboot", "");
> > +		env_set(ctx_uboot, "modeboot", "");
> >  		break;
> >  	}
> >  
> >  	if (is_mx6ul())
> > -		env_set("console", "ttymxc0");
> > +		env_set(ctx_uboot, "console", "ttymxc0");
> >  	else
> > -		env_set("console", "ttymxc3");
> > +		env_set(ctx_uboot, "console", "ttymxc3");
> >  
> >  	setenv_fdt_file();
> >  
> > diff --git a/board/esd/meesc/meesc.c b/board/esd/meesc/meesc.c
> > index b0d2f7b6f87b..c9c1d77410cc 100644
> > --- a/board/esd/meesc/meesc.c
> > +++ b/board/esd/meesc/meesc.c
> > @@ -181,7 +181,7 @@ int checkboard(void)
> >  		puts("Board: EtherCAN/2 Gateway");
> >  		break;
> >  	}
> > -	if (env_get_f("serial#", str, sizeof(str)) > 0) {
> > +	if (env_get_f("serial#", str, sizeof(ctx_uboot, str)) > 0) {
> >  		puts(", serial# ");
> >  		puts(str);
> >  	}
> > @@ -198,7 +198,7 @@ void get_board_serial(struct tag_serialnr
> > *serialnr) {
> >  	char *str;
> >  
> > -	char *serial = env_get("serial#");
> > +	char *serial = env_get(ctx_uboot, "serial#");
> >  	if (serial) {
> >  		str = strchr(serial, '_');
> >  		if (str && (strlen(str) >= 4)) {
> > @@ -231,7 +231,7 @@ int misc_init_r(void)
> >  	 * In some cases this this needs to be set to 4.
> >  	 * Check the user has set environment mdiv to 4 to change
> > the divisor. */
> > -	str = env_get("mdiv");
> > +	str = env_get(ctx_uboot, "mdiv");
> >  	if (str && (strcmp(str, "4") == 0)) {
> >  		writel((readl(&pmc->mckr) & ~AT91_PMC_MDIV) |
> >  			AT91SAM9_PMC_MDIV_4, &pmc->mckr);
> > diff --git a/board/freescale/b4860qds/b4860qds.c
> > b/board/freescale/b4860qds/b4860qds.c index
> > 33cd4b496489..a8168e60a58a 100644 ---
> > a/board/freescale/b4860qds/b4860qds.c +++
> > b/board/freescale/b4860qds/b4860qds.c @@ -195,7 +195,7 @@ static int
> > adjust_vdd(ulong vdd_override) vid, vdd_target/10);
> >  
> >  	/* check override variable for overriding VDD */
> > -	vdd_string = env_get("b4qds_vdd_mv");
> > +	vdd_string = env_get(ctx_uboot, "b4qds_vdd_mv");
> >  	if (vdd_override == 0 && vdd_string &&
> >  	    !strict_strtoul(vdd_string, 10, &vdd_string_override))
> >  		vdd_override = vdd_string_override;
> > @@ -542,7 +542,8 @@ int configure_vsc3316_3308(void)
> >  			 * Extract hwconfig from environment since
> > environment
> >  			 * is not setup properly yet
> >  			 */
> > -			env_get_f("hwconfig", buffer,
> > sizeof(buffer));
> > +			env_get_f(ctx_uboot, "hwconfig", buffer,
> > +				  sizeof(buffer));
> >  			buf = buffer;
> >  
> >  			if
> > (hwconfig_subarg_cmp_f("fsl_b4860_serdes2", diff --git
> > a/board/freescale/common/cmd_esbc_validate.c
> > b/board/freescale/common/cmd_esbc_validate.c index
> > 36b620ca23a0..14ce924b8684 100644 ---
> > a/board/freescale/common/cmd_esbc_validate.c +++
> > b/board/freescale/common/cmd_esbc_validate.c @@ -53,7 +53,7 @@ static
> > int do_esbc_validate(cmd_tbl_t *cmdtp, int flag, int argc,
> >  	 * to continue U-Boot
> >  	 */
> >  	sprintf(buf, "%lx", img_addr);
> > -	env_set("img_addr", buf);
> > +	env_set(ctx_uboot, "img_addr", buf);
> >  
> >  	if (ret)
> >  		return 1;
> > diff --git a/board/freescale/common/fsl_chain_of_trust.c
> > b/board/freescale/common/fsl_chain_of_trust.c index
> > a024e7239e6e..9e216c3f51d7 100644 ---
> > a/board/freescale/common/fsl_chain_of_trust.c +++
> > b/board/freescale/common/fsl_chain_of_trust.c @@ -80,12 +80,12 @@ int
> > fsl_setenv_chain_of_trust(void)
> >  	 * bootdelay = 0 (To disable Boot Prompt)
> >  	 * bootcmd = CONFIG_CHAIN_BOOT_CMD (Validate and execute
> > Boot script) */
> > -	env_set("bootdelay", "-2");
> > +	env_set(ctx_uboot, "bootdelay", "-2");
> >  
> >  #ifdef CONFIG_ARM
> > -	env_set("secureboot", "y");
> > +	env_set(ctx_uboot, "secureboot", "y");
> >  #else
> > -	env_set("bootcmd", CONFIG_CHAIN_BOOT_CMD);
> > +	env_set(ctx_uboot, "bootcmd", CONFIG_CHAIN_BOOT_CMD);
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/common/sys_eeprom.c
> > b/board/freescale/common/sys_eeprom.c index
> > bb655ca7447c..88640958c79d 100644 ---
> > a/board/freescale/common/sys_eeprom.c +++
> > b/board/freescale/common/sys_eeprom.c @@ -538,8 +538,8 @@ int
> > mac_read_from_eeprom(void) /* Only initialize environment variables
> > that are blank
> >  			 * (i.e. have not yet been set)
> >  			 */
> > -			if (!env_get(enetvar))
> > -				env_set(enetvar, ethaddr);
> > +			if (!env_get(ctx_uboot, enetvar))
> > +				env_set(ctx_uboot, enetvar, ethaddr);
> >  		}
> >  	}
> >  
> > diff --git a/board/freescale/common/vid.c
> > b/board/freescale/common/vid.c index b37f3bf4f8fe..db23c8387e5c 100644
> > --- a/board/freescale/common/vid.c
> > +++ b/board/freescale/common/vid.c
> > @@ -617,7 +617,7 @@ int adjust_vdd(ulong vdd_override)
> >  	vdd_target = vdd[vid];
> >  
> >  	/* check override variable for overriding VDD */
> > -	vdd_string = env_get(CONFIG_VID_FLS_ENV);
> > +	vdd_string = env_get(ctx_uboot, CONFIG_VID_FLS_ENV);
> >  	if (vdd_override == 0 && vdd_string &&
> >  	    !strict_strtoul(vdd_string, 10, &vdd_string_override))
> >  		vdd_override = vdd_string_override;
> > @@ -824,7 +824,7 @@ int adjust_vdd(ulong vdd_override)
> >  	vdd_target = vdd[vid];
> >  
> >  	/* check override variable for overriding VDD */
> > -	vdd_string = env_get(CONFIG_VID_FLS_ENV);
> > +	vdd_string = env_get(ctx_uboot, CONFIG_VID_FLS_ENV);
> >  	if (vdd_override == 0 && vdd_string &&
> >  	    !strict_strtoul(vdd_string, 10, &vdd_string_override))
> >  		vdd_override = vdd_string_override;
> > diff --git a/board/freescale/imx8mq_evk/imx8mq_evk.c
> > b/board/freescale/imx8mq_evk/imx8mq_evk.c index
> > 1463e6e6963b..1822df9f32e8 100644 ---
> > a/board/freescale/imx8mq_evk/imx8mq_evk.c +++
> > b/board/freescale/imx8mq_evk/imx8mq_evk.c @@ -123,8 +123,8 @@ int
> > board_mmc_get_env_dev(int devno) int board_late_init(void)
> >  {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "EVK");
> > -	env_set("board_rev", "iMX8MQ");
> > +	env_set(ctx_uboot, "board_name", "EVK");
> > +	env_set(ctx_uboot, "board_rev", "iMX8MQ");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c
> > b/board/freescale/imx8qm_mek/imx8qm_mek.c index
> > 76634a3a28ad..34ed03c3dec1 100644 ---
> > a/board/freescale/imx8qm_mek/imx8qm_mek.c +++
> > b/board/freescale/imx8qm_mek/imx8qm_mek.c @@ -126,8 +126,8 @@ int
> > board_mmc_get_env_dev(int devno) int board_late_init(void)
> >  {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "MEK");
> > -	env_set("board_rev", "iMX8QM");
> > +	env_set(ctx_uboot, "board_name", "MEK");
> > +	env_set(ctx_uboot, "board_rev", "iMX8QM");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c
> > b/board/freescale/imx8qxp_mek/imx8qxp_mek.c index
> > 4ba83142841a..0d6152ac9551 100644 ---
> > a/board/freescale/imx8qxp_mek/imx8qxp_mek.c +++
> > b/board/freescale/imx8qxp_mek/imx8qxp_mek.c @@ -139,8 +139,8 @@ int
> > board_mmc_get_env_dev(int devno) int board_late_init(void)
> >  {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "MEK");
> > -	env_set("board_rev", "iMX8QXP");
> > +	env_set(ctx_uboot, "board_name", "MEK");
> > +	env_set(ctx_uboot, "board_rev", "iMX8QXP");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/ls1088a/eth_ls1088aqds.c
> > b/board/freescale/ls1088a/eth_ls1088aqds.c index
> > 237088a53710..f618db490f00 100644 ---
> > a/board/freescale/ls1088a/eth_ls1088aqds.c +++
> > b/board/freescale/ls1088a/eth_ls1088aqds.c @@ -529,7 +529,7 @@ void
> > ls1088a_handle_phy_interface_sgmii(int dpmac_id) serdes1_prtcl =
> > serdes_get_number(FSL_SRDS_1, cfg); 
> >  	int *riser_phy_addr;
> > -	char *env_hwconfig = env_get("hwconfig");
> > +	char *env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  
> >  	if (hwconfig_f("xqsgmii", env_hwconfig))
> >  		riser_phy_addr = &xqsgii_riser_phy_addr[0];
> > @@ -670,7 +670,7 @@ int board_eth_init(bd_t *bis)
> >  	int error = 0, i;
> >  #ifdef CONFIG_FSL_MC_ENET
> >  	struct memac_mdio_info *memac_mdio0_info;
> > -	char *env_hwconfig = env_get("hwconfig");
> > +	char *env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  
> >  	initialize_dpmac_to_slot();
> >  
> > diff --git a/board/freescale/ls1088a/ls1088a.c
> > b/board/freescale/ls1088a/ls1088a.c index f1592982a348..cdbfd90c19fa
> > 100644 --- a/board/freescale/ls1088a/ls1088a.c
> > +++ b/board/freescale/ls1088a/ls1088a.c
> > @@ -984,7 +984,7 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  #ifdef CONFIG_MTD_NOR_FLASH
> >  int is_flash_available(void)
> >  {
> > -	char *env_hwconfig = env_get("hwconfig");
> > +	char *env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  	enum boot_src src = get_boot_src();
> >  	int is_nor_flash_available = 1;
> >  
> > diff --git a/board/freescale/ls2080aqds/eth.c
> > b/board/freescale/ls2080aqds/eth.c index 6a8788c31254..1103ca1d430c
> > 100644 --- a/board/freescale/ls2080aqds/eth.c
> > +++ b/board/freescale/ls2080aqds/eth.c
> > @@ -506,7 +506,7 @@ static void initialize_dpmac_to_slot(void)
> >  		>> FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_SHIFT;  
> >  
> >  	char *env_hwconfig;
> > -	env_hwconfig = env_get("hwconfig");
> > +	env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  
> >  	switch (serdes1_prtcl) {
> >  	case 0x07:
> > @@ -660,7 +660,7 @@ void ls2080a_handle_phy_interface_sgmii(int
> > dpmac_id)
> >  		>> FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_SHIFT;  
> >  
> >  	int *riser_phy_addr;
> > -	char *env_hwconfig = env_get("hwconfig");
> > +	char *env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  
> >  	if (hwconfig_f("xqsgmii", env_hwconfig))
> >  		riser_phy_addr = &xqsgii_riser_phy_addr[0];
> > @@ -906,7 +906,7 @@ int board_eth_init(bd_t *bis)
> >  	unsigned int i;
> >  	char *env_hwconfig;
> >  
> > -	env_hwconfig = env_get("hwconfig");
> > +	env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  
> >  	initialize_dpmac_to_slot();
> >  
> > diff --git a/board/freescale/ls2080aqds/ls2080aqds.c
> > b/board/freescale/ls2080aqds/ls2080aqds.c index
> > 91c80353edd6..6eef0536d162 100644 ---
> > a/board/freescale/ls2080aqds/ls2080aqds.c +++
> > b/board/freescale/ls2080aqds/ls2080aqds.c @@ -212,7 +212,7 @@ int
> > board_init(void) 
> >  	val = in_le32(dcfg_ccsr + DCFG_RCWSR13 / 4);
> >  
> > -	env_hwconfig = env_get("hwconfig");
> > +	env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  
> >  	if (hwconfig_f("dspi", env_hwconfig) &&
> >  	    DCFG_RCWSR13_DSPI == (val & (u32)(0xf << 8)))
> > diff --git a/board/freescale/ls2080ardb/ls2080ardb.c
> > b/board/freescale/ls2080ardb/ls2080ardb.c index
> > e20267f27ce0..d7ea56a6613a 100644 ---
> > a/board/freescale/ls2080ardb/ls2080ardb.c +++
> > b/board/freescale/ls2080ardb/ls2080ardb.c @@ -265,7 +265,7 @@ int
> > misc_init_r(void) 
> >  	val = in_le32(dcfg_ccsr + DCFG_RCWSR13 / 4);
> >  
> > -	env_hwconfig = env_get("hwconfig");
> > +	env_hwconfig = env_get(ctx_uboot, "hwconfig");
> >  
> >  	if (hwconfig_f("dspi", env_hwconfig) &&
> >  	    DCFG_RCWSR13_DSPI == (val & (u32)(0xf << 8)))
> > @@ -295,10 +295,10 @@ int misc_init_r(void)
> >  	 */
> >  	if ((SVR_SOC_VER(svr) == SVR_LS2088A) ||
> >  	    (SVR_SOC_VER(svr) == SVR_LS2048A))
> > -		env_set("board", "ls2088ardb");
> > +		env_set(ctx_uboot, "board", "ls2088ardb");
> >  	else if ((SVR_SOC_VER(svr) == SVR_LS2081A) ||
> >  	    (SVR_SOC_VER(svr) == SVR_LS2041A))
> > -		env_set("board", "ls2081ardb");
> > +		env_set(ctx_uboot, "board", "ls2081ardb");
> >  
> >  	return 0;
> >  }
> > diff --git a/board/freescale/lx2160a/eth_lx2160aqds.c
> > b/board/freescale/lx2160a/eth_lx2160aqds.c index
> > 92c06e5060f1..40fb5092c337 100644 ---
> > a/board/freescale/lx2160a/eth_lx2160aqds.c +++
> > b/board/freescale/lx2160a/eth_lx2160aqds.c @@ -484,7 +484,7 @@ int
> > board_eth_init(bd_t *bis)
> >  	 * defining "dpmac_override" in hwconfig environment
> > variable. */
> >  	if (hwconfig("dpmac_override")) {
> > -		env_dpmac = env_get("dpmac");
> > +		env_dpmac = env_get(ctx_uboot, "dpmac");
> >  		if (env_dpmac) {
> >  			ret = hwconfig_arg_f("srds", &len,
> > env_dpmac); if (ret) {
> > diff --git a/board/freescale/mpc8323erdb/mpc8323erdb.c
> > b/board/freescale/mpc8323erdb/mpc8323erdb.c index
> > e5aecc4e1f28..aa19a1b8534d 100644 ---
> > a/board/freescale/mpc8323erdb/mpc8323erdb.c +++
> > b/board/freescale/mpc8323erdb/mpc8323erdb.c @@ -217,7 +217,8 @@ int
> > mac_read_from_eeprom(void) buf[i * 6 + 4], buf[i * 6 + 5]);
> >  					sprintf((char *)enetvar,
> >  						i ? "eth%daddr" :
> > "ethaddr", i);
> > -					env_set((char *)enetvar,
> > str);
> > +					env_set(ctx_uboot, (char
> > *)enetvar,
> > +						str);
> >  				}
> >  			}
> >  		}
> > diff --git a/board/freescale/mpc837xemds/pci.c
> > b/board/freescale/mpc837xemds/pci.c index 41b78cf5e4de..c6f734ef2625
> > 100644 --- a/board/freescale/mpc837xemds/pci.c
> > +++ b/board/freescale/mpc837xemds/pci.c
> > @@ -67,7 +67,7 @@ static struct pci_region pcie_regions_1[] = {
> >  
> >  static int is_pex_x2(void)
> >  {
> > -	const char *pex_x2 = env_get("pex_x2");
> > +	const char *pex_x2 = env_get(ctx_uboot, "pex_x2");
> >  
> >  	if (pex_x2 && !strcmp(pex_x2, "yes"))
> >  		return 1;
> > diff --git a/board/freescale/mpc837xerdb/mpc837xerdb.c
> > b/board/freescale/mpc837xerdb/mpc837xerdb.c index
> > 4ad62bcf1d6b..71939b240dae 100644 ---
> > a/board/freescale/mpc837xerdb/mpc837xerdb.c +++
> > b/board/freescale/mpc837xerdb/mpc837xerdb.c @@ -173,7 +173,7 @@ int
> > board_mmc_init(bd_t *bd) char buffer[HWCONFIG_BUFFER_SIZE] = {0};
> >  	int esdhc_hwconfig_enabled = 0;
> >  
> > -	if (env_get_f("hwconfig", buffer, sizeof(buffer)) > 0)
> > +	if (env_get_f("hwconfig", buffer, sizeof(ctx_uboot, buffer))
> > > 0) esdhc_hwconfig_enabled = hwconfig_f("esdhc", buffer);
> >  
> >  	if (esdhc_hwconfig_enabled == 0)
> > diff --git a/board/freescale/mx51evk/mx51evk_video.c
> > b/board/freescale/mx51evk/mx51evk_video.c index
> > 3715c5d738f9..ed2a58ea4a9a 100644 ---
> > a/board/freescale/mx51evk/mx51evk_video.c +++
> > b/board/freescale/mx51evk/mx51evk_video.c @@ -76,7 +76,7 @@ void
> > setup_iomux_lcd(void) int board_video_skip(void)
> >  {
> >  	int ret;
> > -	char const *e = env_get("panel");
> > +	char const *e = env_get(ctx_uboot, "panel");
> >  
> >  	if (e) {
> >  		if (strcmp(e, "claa") == 0) {
> > diff --git a/board/freescale/mx53loco/mx53loco.c
> > b/board/freescale/mx53loco/mx53loco.c index
> > a177815bb8aa..a3328a134fb8 100644 ---
> > a/board/freescale/mx53loco/mx53loco.c +++
> > b/board/freescale/mx53loco/mx53loco.c @@ -208,7 +208,7 @@ static int
> > power_init(void) if (!p)
> >  			return -ENODEV;
> >  
> > -		env_set("fdt_file", "imx53-qsb.dtb");
> > +		env_set(ctx_uboot, "fdt_file", "imx53-qsb.dtb");
> >  
> >  		/* Set VDDA to 1.25V */
> >  		val = DA9052_BUCKCORE_BCOREEN |
> > DA_BUCKCORE_VBCORE_1_250V; @@ -251,7 +251,7 @@ static int
> > power_init(void) if (!p)
> >  			return -ENODEV;
> >  
> > -		env_set("fdt_file", "imx53-qsrb.dtb");
> > +		env_set(ctx_uboot, "fdt_file", "imx53-qsrb.dtb");
> >  
> >  		/* Set VDDGP to 1.25V for 1GHz on SW1 */
> >  		pmic_reg_read(p, REG_SW_0, &val);
> > diff --git a/board/freescale/mx53loco/mx53loco_video.c
> > b/board/freescale/mx53loco/mx53loco_video.c index
> > ff3fc8ce3e6f..061c990bcfb5 100644 ---
> > a/board/freescale/mx53loco/mx53loco_video.c +++
> > b/board/freescale/mx53loco/mx53loco_video.c @@ -92,7 +92,7 @@ void
> > setup_iomux_lcd(void) int board_video_skip(void)
> >  {
> >  	int ret;
> > -	char const *e = env_get("panel");
> > +	char const *e = env_get(ctx_uboot, "panel");
> >  
> >  	if (e) {
> >  		if (strcmp(e, "seiko") == 0) {
> > diff --git a/board/freescale/mx6sabreauto/mx6sabreauto.c
> > b/board/freescale/mx6sabreauto/mx6sabreauto.c index
> > dc156efbbcbc..a1cd8f4bc52e 100644 ---
> > a/board/freescale/mx6sabreauto/mx6sabreauto.c +++
> > b/board/freescale/mx6sabreauto/mx6sabreauto.c @@ -623,14 +623,14 @@
> > int board_late_init(void) #endif
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "SABREAUTO");
> > +	env_set(ctx_uboot, "board_name", "SABREAUTO");
> >  
> >  	if (is_mx6dqp())
> > -		env_set("board_rev", "MX6QP");
> > +		env_set(ctx_uboot, "board_rev", "MX6QP");
> >  	else if (is_mx6dq())
> > -		env_set("board_rev", "MX6Q");
> > +		env_set(ctx_uboot, "board_rev", "MX6Q");
> >  	else if (is_mx6sdl())
> > -		env_set("board_rev", "MX6DL");
> > +		env_set(ctx_uboot, "board_rev", "MX6DL");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/mx6sabresd/mx6sabresd.c
> > b/board/freescale/mx6sabresd/mx6sabresd.c index
> > b0c0117968bf..fb4c03a428c8 100644 ---
> > a/board/freescale/mx6sabresd/mx6sabresd.c +++
> > b/board/freescale/mx6sabresd/mx6sabresd.c @@ -606,14 +606,14 @@ int
> > board_late_init(void) #endif
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "SABRESD");
> > +	env_set(ctx_uboot, "board_name", "SABRESD");
> >  
> >  	if (is_mx6dqp())
> > -		env_set("board_rev", "MX6QP");
> > +		env_set(ctx_uboot, "board_rev", "MX6QP");
> >  	else if (is_mx6dq())
> > -		env_set("board_rev", "MX6Q");
> > +		env_set(ctx_uboot, "board_rev", "MX6Q");
> >  	else if (is_mx6sdl())
> > -		env_set("board_rev", "MX6DL");
> > +		env_set(ctx_uboot, "board_rev", "MX6DL");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c
> > b/board/freescale/mx6sxsabresd/mx6sxsabresd.c index
> > 1c10958879b1..b4bc682a5160 100644 ---
> > a/board/freescale/mx6sxsabresd/mx6sxsabresd.c +++
> > b/board/freescale/mx6sxsabresd/mx6sxsabresd.c @@ -309,7 +309,7 @@ int
> > board_late_init(void) {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  	if (is_reva())
> > -		env_set("board_rev", "REVA");
> > +		env_set(ctx_uboot, "board_rev", "REVA");
> >  #endif
> >  	return 0;
> >  }
> > diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
> > b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c index
> > ccbe4044786c..913b2c6c57b8 100644 ---
> > a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +++
> > b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c @@ -545,12
> > +545,12 @@ int board_late_init(void) #endif
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "EVK");
> > +	env_set(ctx_uboot, "board_name", "EVK");
> >  
> >  	if (is_mx6ul_9x9_evk())
> > -		env_set("board_rev", "9X9");
> > +		env_set(ctx_uboot, "board_rev", "9X9");
> >  	else
> > -		env_set("board_rev", "14X14");
> > +		env_set(ctx_uboot, "board_rev", "14X14");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/mx6ullevk/mx6ullevk.c
> > b/board/freescale/mx6ullevk/mx6ullevk.c index
> > e11934780262..8dc5511e245f 100644 ---
> > a/board/freescale/mx6ullevk/mx6ullevk.c +++
> > b/board/freescale/mx6ullevk/mx6ullevk.c @@ -84,8 +84,8 @@ int
> > board_late_init(void) #endif
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", "EVK");
> > -	env_set("board_rev", "14X14");
> > +	env_set(ctx_uboot, "board_name", "EVK");
> > +	env_set(ctx_uboot, "board_rev", "14X14");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
> > b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c index
> > a04a73528f8d..4a21c148b696 100644 ---
> > a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c +++
> > b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c @@ -350,7 +350,7 @@ int
> > board_eth_init(bd_t *bis) 
> >  #ifdef CONFIG_VSC7385_ENET
> >  	/* If a VSC7385 microcode image is present, then upload it.
> > */
> > -	tmp = env_get("vscfw_addr");
> > +	tmp = env_get(ctx_uboot, "vscfw_addr");
> >  	if (tmp) {
> >  		vscfw_addr = simple_strtoul(tmp, NULL, 16);
> >  		printf("uploading VSC7385 microcode from %x\n",
> > vscfw_addr); diff --git a/board/freescale/qemu-ppce500/qemu-ppce500.c
> > b/board/freescale/qemu-ppce500/qemu-ppce500.c index
> > fb36d8366c98..38608234b7d5 100644 ---
> > a/board/freescale/qemu-ppce500/qemu-ppce500.c +++
> > b/board/freescale/qemu-ppce500/qemu-ppce500.c @@ -211,10 +211,10 @@
> > int last_stage_init(void) /* -kernel boot */
> >  	prop = fdt_getprop(fdt, chosen, "qemu,boot-kernel", &len);
> >  	if (prop && (len >= 8))
> > -		env_set_hex("qemu_kernel_addr", *prop);
> > +		env_set_hex(ctx_uboot, "qemu_kernel_addr", *prop);
> >  
> >  	/* Give the user a variable for the host fdt */
> > -	env_set_hex("fdt_addr_r", (ulong)fdt);
> > +	env_set_hex("fdt_addr_r", (ctx_uboot, ulong)fdt);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/freescale/t4qds/t4240qds.c
> > b/board/freescale/t4qds/t4240qds.c index bb18b97e6a2e..d4e92d6c8d51
> > 100644 --- a/board/freescale/t4qds/t4240qds.c
> > +++ b/board/freescale/t4qds/t4240qds.c
> > @@ -265,7 +265,7 @@ static int adjust_vdd(ulong vdd_override)
> >  	vdd_target = vdd[vid];
> >  
> >  	/* check override variable for overriding VDD */
> > -	vdd_string = env_get("t4240qds_vdd_mv");
> > +	vdd_string = env_get(ctx_uboot, "t4240qds_vdd_mv");
> >  	if (vdd_override == 0 && vdd_string &&
> >  	    !strict_strtoul(vdd_string, 10, &vdd_string_override))
> >  		vdd_override = vdd_string_override;
> > diff --git a/board/gardena/smart-gateway-at91sam/board.c
> > b/board/gardena/smart-gateway-at91sam/board.c index
> > 3e2da0d6f8e0..499605d5b6a1 100644 ---
> > a/board/gardena/smart-gateway-at91sam/board.c +++
> > b/board/gardena/smart-gateway-at91sam/board.c @@ -15,7 +15,7 @@
> > DECLARE_GLOBAL_DATA_PTR; 
> >  static void at91_prepare_cpu_var(void)
> >  {
> > -	env_set("cpu", get_cpu_name());
> > +	env_set(ctx_uboot, "cpu", get_cpu_name());
> >  }
> >  
> >  int board_late_init(void)
> > diff --git a/board/gardena/smart-gateway-mt7688/board.c
> > b/board/gardena/smart-gateway-mt7688/board.c index
> > bd494c84fc80..fe39187d0738 100644 ---
> > a/board/gardena/smart-gateway-mt7688/board.c +++
> > b/board/gardena/smart-gateway-mt7688/board.c @@ -70,9 +70,9 @@ static
> > bool prepare_uuid_var(const char *fd_ptr, const char *env_var_name,
> > str[i] = errorchar; }
> >  
> > -	env = env_get(env_var_name);
> > +	env = env_get(ctx_uboot, env_var_name);
> >  	if (strcmp(env, str)) {
> > -		env_set(env_var_name, str);
> > +		env_set(ctx_uboot, env_var_name, str);
> >  		env_updated = true;
> >  	}
> >  
> > @@ -134,9 +134,9 @@ static void factory_data_env_config(void)
> >  	if (!is_valid_ethaddr(ptr))
> >  		printf("F-Data:Invalid MAC addr: wifi_mac %s\n",
> > str); 
> > -	env = env_get("wifiaddr");
> > +	env = env_get(ctx_uboot, "wifiaddr");
> >  	if (strcmp(env, str)) {
> > -		env_set("wifiaddr", str);
> > +		env_set(ctx_uboot, "wifiaddr", str);
> >  		env_updated = 1;
> >  	}
> >  
> > @@ -146,9 +146,9 @@ static void factory_data_env_config(void)
> >  	if (!is_valid_ethaddr(ptr))
> >  		printf("F-Data:Invalid MAC addr: eth_mac %s\n", str);
> >  
> > -	env = env_get("ethaddr");
> > +	env = env_get(ctx_uboot, "ethaddr");
> >  	if (strcmp(env, str)) {
> > -		env_set("ethaddr", str);
> > +		env_set(ctx_uboot, "ethaddr", str);
> >  		env_updated = 1;
> >  	}
> >  
> > @@ -161,7 +161,7 @@ static void factory_data_env_config(void)
> >  	/* Check if the environment was updated and needs to get
> > stored */ if (env_updated != 0) {
> >  		printf("F-Data:Values don't match env values ->
> > saving\n");
> > -		env_save();
> > +		env_save(ctx_uboot);
> >  	} else {
> >  		debug("F-Data:Values match current env values\n");
> >  	}
> > @@ -189,7 +189,7 @@ static void copy_or_generate_uuid(char *fd_ptr,
> > const char *env_var_name) char *env;
> >  
> >  	/* Don't use the UUID dest place, as the \0 char won't fit */
> > -	env = env_get(env_var_name);
> > +	env = env_get(ctx_uboot, env_var_name);
> >  	if (env)
> >  		strncpy(str, env, UUID_STR_LEN);
> >  	else
> > diff --git a/board/gateworks/gw_ventana/common.c
> > b/board/gateworks/gw_ventana/common.c index
> > 1240a9da174f..0be40c2336ad 100644 ---
> > a/board/gateworks/gw_ventana/common.c +++
> > b/board/gateworks/gw_ventana/common.c @@ -1477,7 +1477,7 @@ void
> > setup_board_gpio(int board, struct ventana_board_info *info) char
> > arg[10]; size_t len;
> >  	int i;
> > -	int quiet = simple_strtol(env_get("quiet"), NULL, 10);
> > +	int quiet = simple_strtol(env_get(ctx_uboot, "quiet"), NULL,
> > 10); 
> >  	if (board >= GW_UNKNOWN)
> >  		return;
> > diff --git a/board/gateworks/gw_ventana/gw_ventana.c
> > b/board/gateworks/gw_ventana/gw_ventana.c index
> > 8a694a71c90b..6782e6327978 100644 ---
> > a/board/gateworks/gw_ventana/gw_ventana.c +++
> > b/board/gateworks/gw_ventana/gw_ventana.c @@ -299,11 +299,12 @@ int
> > board_eth_init(bd_t *bis) #endif
> >  
> >  	/* default to the first detected enet dev */
> > -	if (!env_get("ethprime")) {
> > +	if (!env_get(ctx_uboot, "ethprime")) {
> >  		struct eth_device *dev = eth_get_dev_by_index(0);
> >  		if (dev) {
> > -			env_set("ethprime", dev->name);
> > -			printf("set ethprime to %s\n",
> > env_get("ethprime"));
> > +			env_set(ctx_uboot, "ethprime", dev->name);
> > +			printf("set ethprime to %s\n",
> > +			       env_get(ctx_uboot, "ethprime"));
> >  		}
> >  	}
> >  
> > @@ -602,7 +603,7 @@ void board_pci_fixup_dev(struct pci_controller
> > *hose, pci_dev_t dev, */
> >  void get_board_serial(struct tag_serialnr *serialnr)
> >  {
> > -	char *serial = env_get("serial#");
> > +	char *serial = env_get(ctx_uboot, "serial#");
> >  
> >  	if (serial) {
> >  		serialnr->high = 0;
> > @@ -685,11 +686,11 @@ int checkboard(void)
> >  	int quiet; /* Quiet or minimal output mode */
> >  
> >  	quiet = 0;
> > -	p = env_get("quiet");
> > +	p = env_get(ctx_uboot, "quiet");
> >  	if (p)
> >  		quiet = simple_strtol(p, NULL, 10);
> >  	else
> > -		env_set("quiet", "0");
> > +		env_set(ctx_uboot, "quiet", "0");
> >  
> >  	puts("\nGateworks Corporation Copyright 2014\n");
> >  	if (info->model[0]) {
> > @@ -764,26 +765,26 @@ int misc_init_r(void)
> >  		else if (is_cpu_type(MXC_CPU_MX6DL) ||
> >  			 is_cpu_type(MXC_CPU_MX6SOLO))
> >  			cputype = "imx6dl";
> > -		env_set("soctype", cputype);
> > +		env_set(ctx_uboot, "soctype", cputype);
> >  		if (8 << (ventana_info.nand_flash_size-1) >= 2048)
> > -			env_set("flash_layout", "large");
> > +			env_set(ctx_uboot, "flash_layout", "large");
> >  		else
> > -			env_set("flash_layout", "normal");
> > +			env_set(ctx_uboot, "flash_layout", "normal");
> >  		memset(str, 0, sizeof(str));
> >  		for (i = 0; i < (sizeof(str)-1) && info->model[i];
> > i++) str[i] = tolower(info->model[i]);
> > -		env_set("model", str);
> > -		if (!env_get("fdt_file")) {
> > +		env_set(ctx_uboot, "model", str);
> > +		if (!env_get(ctx_uboot, "fdt_file")) {
> >  			sprintf(fdt, "%s-%s.dtb", cputype, str);
> > -			env_set("fdt_file", fdt);
> > +			env_set(ctx_uboot, "fdt_file", fdt);
> >  		}
> >  		p = strchr(str, '-');
> >  		if (p) {
> >  			*p++ = 0;
> >  
> > -			env_set("model_base", str);
> > +			env_set(ctx_uboot, "model_base", str);
> >  			sprintf(fdt, "%s-%s.dtb", cputype, str);
> > -			env_set("fdt_file1", fdt);
> > +			env_set(ctx_uboot, "fdt_file1", fdt);
> >  			if (board_type != GW551x &&
> >  			    board_type != GW552x &&
> >  			    board_type != GW553x &&
> > @@ -792,30 +793,30 @@ int misc_init_r(void)
> >  			str[5] = 'x';
> >  			str[6] = 0;
> >  			sprintf(fdt, "%s-%s.dtb", cputype, str);
> > -			env_set("fdt_file2", fdt);
> > +			env_set(ctx_uboot, "fdt_file2", fdt);
> >  		}
> >  
> >  		/* initialize env from EEPROM */
> >  		if (test_bit(EECONFIG_ETH0, info->config) &&
> > -		    !env_get("ethaddr")) {
> > +		    !env_get(ctx_uboot, "ethaddr")) {
> >  			eth_env_set_enetaddr("ethaddr", info->mac0);
> >  		}
> >  		if (test_bit(EECONFIG_ETH1, info->config) &&
> > -		    !env_get("eth1addr")) {
> > +		    !env_get(ctx_uboot, "eth1addr")) {
> >  			eth_env_set_enetaddr("eth1addr", info->mac1);
> >  		}
> >  
> >  		/* board serial-number */
> >  		sprintf(str, "%6d", info->serial);
> > -		env_set("serial#", str);
> > +		env_set(ctx_uboot, "serial#", str);
> >  
> >  		/* memory MB */
> >  		sprintf(str, "%d", (int) (gd->ram_size >> 20));
> > -		env_set("mem_mb", str);
> > +		env_set(ctx_uboot, "mem_mb", str);
> >  	}
> >  
> >  	/* Set a non-initialized hwconfig based on board
> > configuration */
> > -	if (!strcmp(env_get("hwconfig"), "_UNKNOWN_")) {
> > +	if (!strcmp(env_get(ctx_uboot, "hwconfig"), "_UNKNOWN_")) {
> >  		buf[0] = 0;
> >  		if (gpio_cfg[board_type].rs232_en)
> >  			strcat(buf, "rs232;");
> > @@ -825,7 +826,7 @@ int misc_init_r(void)
> >  			if (strlen(buf) + strlen(buf1) < sizeof(buf))
> >  				strcat(buf, buf1);
> >  		}
> > -		env_set("hwconfig", buf);
> > +		env_set(ctx_uboot, "hwconfig", buf);
> >  	}
> >  
> >  	/* setup baseboard specific GPIO based on board and env */
> > @@ -1040,7 +1041,7 @@ int fdt_fixup_sky2(void *blob, int np, struct
> > pci_dev *dev) int j;
> >  
> >  	sprintf(mac, "eth1addr");
> > -	tmp = env_get(mac);
> > +	tmp = env_get(ctx_uboot, mac);
> >  	if (tmp) {
> >  		for (j = 0; j < 6; j++) {
> >  			mac_addr[j] = tmp ?
> > @@ -1128,8 +1129,8 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  		{ "sst,w25q256",          MTD_DEV_TYPE_NOR, },  /*
> > SPI flash */ { "fsl,imx6q-gpmi-nand",  MTD_DEV_TYPE_NAND, }, /* NAND
> > flash */ };
> > -	const char *model = env_get("model");
> > -	const char *display = env_get("display");
> > +	const char *model = env_get(ctx_uboot, "model");
> > +	const char *display = env_get(ctx_uboot, "display");
> >  	int i;
> >  	char rev = 0;
> >  
> > @@ -1141,7 +1142,7 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  		}
> >  	}
> >  
> > -	if (env_get("fdt_noauto")) {
> > +	if (env_get(ctx_uboot, "fdt_noauto")) {
> >  		puts("   Skiping ft_board_setup (fdt_noauto
> > defined)\n"); return 0;
> >  	}
> > @@ -1162,15 +1163,15 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  	printf("   Adjusting FDT per EEPROM for %s...\n", model);
> >  
> >  	/* board serial number */
> > -	fdt_setprop(blob, 0, "system-serial", env_get("serial#"),
> > -		    strlen(env_get("serial#")) + 1);
> > +	fdt_setprop(blob, 0, "system-serial", env_get(ctx_uboot,
> > "serial#"),
> > +		    strlen(env_get(ctx_uboot, "serial#")) + 1);
> >  
> >  	/* board (model contains model from device-tree) */
> >  	fdt_setprop(blob, 0, "board", info->model,
> >  		    strlen((const char *)info->model) + 1);
> >  
> >  	/* set desired digital video capture format */
> > -	ft_sethdmiinfmt(blob, env_get("hdmiinfmt"));
> > +	ft_sethdmiinfmt(blob, env_get(ctx_uboot, "hdmiinfmt"));
> >  
> >  	/*
> >  	 * Board model specific fixups
> > @@ -1340,7 +1341,7 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  	}
> >  
> >  #if defined(CONFIG_CMD_PCI)
> > -	if (!env_get("nopcifixup"))
> > +	if (!env_get(ctx_uboot, "nopcifixup"))
> >  		ft_board_pci_fixup(blob, bd);
> >  #endif
> >  
> > @@ -1349,7 +1350,7 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  	 *  remove nodes by alias path if EEPROM config tells us the
> >  	 *  peripheral is not loaded on the board.
> >  	 */
> > -	if (env_get("fdt_noconfig")) {
> > +	if (env_get(ctx_uboot, "fdt_noconfig")) {
> >  		puts("   Skiping periperhal config (fdt_noconfig
> > defined)\n"); return 0;
> >  	}
> > diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c
> > b/board/gateworks/gw_ventana/gw_ventana_spl.c index
> > b0891379a170..a689ec16d98c 100644 ---
> > a/board/gateworks/gw_ventana/gw_ventana_spl.c +++
> > b/board/gateworks/gw_ventana/gw_ventana_spl.c @@ -758,8 +758,8 @@ int
> > spl_start_uboot(void) debug("%s\n", __func__);
> >  #ifdef CONFIG_SPL_ENV_SUPPORT
> >  	env_init();
> > -	env_load();
> > -	debug("boot_os=%s\n", env_get("boot_os"));
> > +	env_load(ctx_uboot);
> > +	debug("boot_os=%s\n", env_get(ctx_uboot, "boot_os"));
> >  	if (env_get_yesno("boot_os") == 1)
> >  		ret = 0;
> >  #else
> > diff --git a/board/gdsys/a38x/keyprogram.c
> > b/board/gdsys/a38x/keyprogram.c index 000897984a6e..f65190d814c2
> > 100644 --- a/board/gdsys/a38x/keyprogram.c
> > +++ b/board/gdsys/a38x/keyprogram.c
> > @@ -131,12 +131,12 @@ int load_and_run_keyprog(struct udevice *tpm)
> >  	char *hexprog;
> >  	struct key_program *prog;
> >  
> > -	cmd = env_get("loadkeyprogram");
> > +	cmd = env_get(ctx_uboot, "loadkeyprogram");
> >  
> >  	if (!cmd || run_command(cmd, 0))
> >  		return 1;
> >  
> > -	hexprog = env_get("keyprogram");
> > +	hexprog = env_get(ctx_uboot, "keyprogram");
> >  
> >  	if (decode_hexstr(hexprog, &binprog))
> >  		return 1;
> > diff --git a/board/gdsys/mpc8308/gazerbeam.c
> > b/board/gdsys/mpc8308/gazerbeam.c index ddd6ee895384..4929296364b3
> > 100644 --- a/board/gdsys/mpc8308/gazerbeam.c
> > +++ b/board/gdsys/mpc8308/gazerbeam.c
> > @@ -85,7 +85,7 @@ int board_early_init_r(void)
> >  int checkboard(void)
> >  {
> >  	struct udevice *board;
> > -	char *s = env_get("serial#");
> > +	char *s = env_get(ctx_uboot, "serial#");
> >  	int mc = 0;
> >  	int con = 0;
> >  
> > @@ -137,7 +137,7 @@ int last_stage_init(void)
> >  			printf("Could not determind FPGA HW revision
> > (res = %d)\n", res); }
> >  
> > -	env_set_ulong("fpga_hw_rev", fpga_hw_rev);
> > +	env_set_ulong(ctx_uboot, "fpga_hw_rev", fpga_hw_rev);
> >  
> >  	ret = get_tpm(&tpm);
> >  	if (ret || tpm_init(tpm) || tpm_startup(tpm, TPM_ST_CLEAR) ||
> > diff --git a/board/gdsys/mpc8308/hrcon.c b/board/gdsys/mpc8308/hrcon.c
> > index 60faa4688cf8..666eb25c809c 100644
> > --- a/board/gdsys/mpc8308/hrcon.c
> > +++ b/board/gdsys/mpc8308/hrcon.c
> > @@ -101,7 +101,7 @@ int fpga_get_reg(u32 fpga, u16 *reg, off_t
> > regoff, u16 *data) 
> >  int checkboard(void)
> >  {
> > -	char *s = env_get("serial#");
> > +	char *s = env_get(ctx_uboot, "serial#");
> >  	bool hw_type_cat = pca9698_get_value(0x20, 20);
> >  
> >  	puts("Board: ");
> > diff --git a/board/gdsys/mpc8308/strider.c
> > b/board/gdsys/mpc8308/strider.c index 886bc2b035de..cc3fcd7de172
> > 100644 --- a/board/gdsys/mpc8308/strider.c
> > +++ b/board/gdsys/mpc8308/strider.c
> > @@ -104,7 +104,7 @@ int fpga_get_reg(u32 fpga, u16 *reg, off_t
> > regoff, u16 *data) 
> >  int checkboard(void)
> >  {
> > -	char *s = env_get("serial#");
> > +	char *s = env_get(ctx_uboot, "serial#");
> >  	bool hw_type_cat = pca9698_get_value(0x20, 18);
> >  
> >  	puts("Board: ");
> > diff --git a/board/gdsys/p1022/controlcenterd-id.c
> > b/board/gdsys/p1022/controlcenterd-id.c index
> > 43f5404231f0..db7c92446e75 100644 ---
> > a/board/gdsys/p1022/controlcenterd-id.c +++
> > b/board/gdsys/p1022/controlcenterd-id.c @@ -231,7 +231,7 @@ static u8
> > *get_2nd_stage_bl_location(ulong target_addr) {
> >  	ulong addr;
> >  #ifdef CCDM_SECOND_STAGE
> > -	addr = env_get_ulong("loadaddr", 16, CONFIG_LOADADDR);
> > +	addr = env_get_ulong(ctx_uboot, "loadaddr", 16,
> > CONFIG_LOADADDR); #else
> >  	addr = target_addr;
> >  #endif
> > @@ -249,7 +249,7 @@ static u8 *get_image_location(void)
> >  {
> >  	ulong addr;
> >  	/* TODO use other area? */
> > -	addr = env_get_ulong("loadaddr", 16, CONFIG_LOADADDR);
> > +	addr = env_get_ulong(ctx_uboot, "loadaddr", 16,
> > CONFIG_LOADADDR); return (u8 *)(addr);
> >  }
> >  #endif
> > @@ -1072,13 +1072,13 @@ static int second_stage_init(void)
> >  		goto failure;
> >  
> >  	/* run "prepboot" from env to get "mmcdev" set */
> > -	cptr = env_get("prepboot");
> > +	cptr = env_get(ctx_uboot, "prepboot");
> >  	if (cptr && !run_command(cptr, 0))
> > -		mmcdev = env_get("mmcdev");
> > +		mmcdev = env_get(ctx_uboot, "mmcdev");
> >  	if (!mmcdev)
> >  		goto failure;
> >  
> > -	cptr = env_get("ramdiskimage");
> > +	cptr = env_get(ctx_uboot, "ramdiskimage");
> >  	if (cptr)
> >  		image_path = cptr;
> >  
> > diff --git a/board/gdsys/p1022/controlcenterd.c
> > b/board/gdsys/p1022/controlcenterd.c index 6eb3d6c5d06e..ec349d61ee33
> > 100644 --- a/board/gdsys/p1022/controlcenterd.c
> > +++ b/board/gdsys/p1022/controlcenterd.c
> > @@ -222,7 +222,7 @@ void hw_watchdog_reset(void)
> >  #ifdef CONFIG_TRAILBLAZER
> >  int do_bootd(cmd_tbl_t *cmdtp, int flag, int argc, char * const
> > argv[]) {
> > -	return run_command(env_get("bootcmd"), flag);
> > +	return run_command(env_get(ctx_uboot, "bootcmd"), flag);
> >  }
> >  
> >  int board_early_init_r(void)
> > diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c
> > index 917ecc4c1816..3262a73d0b80 100644
> > --- a/board/ge/bx50v3/bx50v3.c
> > +++ b/board/ge/bx50v3/bx50v3.c
> > @@ -470,17 +470,17 @@ static void process_vpd(struct vpd_cache *vpd)
> >  
> >  	switch (vpd->product_id) {
> >  	case VPD_PRODUCT_B450:
> > -		env_set("confidx", "1");
> > +		env_set(ctx_uboot, "confidx", "1");
> >  		i210_index = 0;
> >  		fec_index = 1;
> >  		break;
> >  	case VPD_PRODUCT_B650:
> > -		env_set("confidx", "2");
> > +		env_set(ctx_uboot, "confidx", "2");
> >  		i210_index = 0;
> >  		fec_index = 1;
> >  		break;
> >  	case VPD_PRODUCT_B850:
> > -		env_set("confidx", "3");
> > +		env_set(ctx_uboot, "confidx", "3");
> >  		i210_index = 1;
> >  		fec_index = 2;
> >  		break;
> > @@ -647,9 +647,10 @@ int board_late_init(void)
> >  #endif
> >  
> >  	if (is_b850v3())
> > -		env_set("videoargs", "video=DP-1:1024x768 at 60
> > video=HDMI-A-1:1024x768 at 60");
> > +		env_set(ctx_uboot, "videoargs",
> > +			"video=DP-1:1024x768 at 60
> > video=HDMI-A-1:1024x768 at 60"); else
> > -		env_set("videoargs", "video=LVDS-1:1024x768 at 65");
> > +		env_set(ctx_uboot, "videoargs",
> > "video=LVDS-1:1024x768 at 65"); 
> >  	/* board specific pmic init */
> >  	pmic_init();
> > @@ -669,7 +670,7 @@ static void remove_ethaddr_env_var(int index)
> >  	char env_var_name[9];
> >  
> >  	sprintf(env_var_name, index == 0 ? "ethaddr" : "eth%daddr",
> > index);
> > -	env_set(env_var_name, NULL);
> > +	env_set(ctx_uboot, env_var_name, NULL);
> >  }
> >  
> >  int last_stage_init(void)
> > diff --git a/board/ge/common/ge_common.c b/board/ge/common/ge_common.c
> > index 501c8b2daf2a..1d5f7ac39350 100644
> > --- a/board/ge/common/ge_common.c
> > +++ b/board/ge/common/ge_common.c
> > @@ -29,7 +29,7 @@ void check_time(void)
> >  	}
> >  
> >  	if (ret < 0)
> > -		env_set("rtc_status", "RTC_ERROR");
> > +		env_set(ctx_uboot, "rtc_status", "RTC_ERROR");
> >  
> >  	if (tm.tm_year > 2037) {
> >  		tm.tm_sec  = 0;
> > @@ -47,7 +47,7 @@ void check_time(void)
> >  		}
> >  
> >  		if (ret < 0)
> > -			env_set("rtc_status", "RTC_ERROR");
> > +			env_set(ctx_uboot, "rtc_status",
> > "RTC_ERROR"); }
> >  
> >  	i2c_set_bus_num(current_i2c_bus);
> > diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
> > index 544856729821..f2a76dc1ded8 100644
> > --- a/board/ge/mx53ppd/mx53ppd.c
> > +++ b/board/ge/mx53ppd/mx53ppd.c
> > @@ -274,7 +274,7 @@ int misc_init_r(void)
> >  	else
> >  		cause = "POR";
> >  
> > -	env_set("bootcause", cause);
> > +	env_set(ctx_uboot, "bootcause", cause);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/grinn/chiliboard/board.c
> > b/board/grinn/chiliboard/board.c index c6d53600fa1c..933bdc779601
> > 100644 --- a/board/grinn/chiliboard/board.c
> > +++ b/board/grinn/chiliboard/board.c
> > @@ -117,7 +117,7 @@ int board_late_init(void)
> >  	mac_addr[4] = mac_lo & 0xFF;
> >  	mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> >  
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		printf("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); 
> >  		if (is_valid_ethaddr(mac_addr))
> > @@ -133,7 +133,7 @@ int board_late_init(void)
> >  	mac_addr[4] = mac_lo & 0xFF;
> >  	mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> >  
> > -	if (!env_get("eth1addr")) {
> > +	if (!env_get(ctx_uboot, "eth1addr")) {
> >  		if (is_valid_ethaddr(mac_addr))
> >  			eth_env_set_enetaddr("eth1addr", mac_addr);
> >  	}
> > diff --git a/board/grinn/liteboard/board.c
> > b/board/grinn/liteboard/board.c index 1558ea4b84f5..53eabe2e4b3b
> > 100644 --- a/board/grinn/liteboard/board.c
> > +++ b/board/grinn/liteboard/board.c
> > @@ -127,7 +127,7 @@ int board_mmc_init(bd_t *bis)
> >  
> >  static int check_mmc_autodetect(void)
> >  {
> > -	char *autodetect_str = env_get("mmcautodetect");
> > +	char *autodetect_str = env_get(ctx_uboot, "mmcautodetect");
> >  
> >  	if ((autodetect_str != NULL) &&
> >  	    (strcmp(autodetect_str, "yes") == 0)) {
> > @@ -146,12 +146,12 @@ void board_late_mmc_init(void)
> >  	if (!check_mmc_autodetect())
> >  		return;
> >  
> > -	env_set_ulong("mmcdev", dev_no);
> > +	env_set_ulong(ctx_uboot, "mmcdev", dev_no);
> >  
> >  	/* Set mmcblk env */
> >  	sprintf(mmcblk, "/dev/mmcblk%dp2 rootwait rw",
> >  		dev_no);
> > -	env_set("mmcroot", mmcblk);
> > +	env_set(ctx_uboot, "mmcroot", mmcblk);
> >  
> >  	sprintf(cmd, "mmc dev %d", dev_no);
> >  	run_command(cmd, 0);
> > diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
> > index 9563763dfa53..ef2f6f1f16a8 100644
> > --- a/board/highbank/highbank.c
> > +++ b/board/highbank/highbank.c
> > @@ -80,11 +80,12 @@ int misc_init_r(void)
> >  
> >  	boot_choice = readl(HB_SREG_A9_BOOT_SRC_STAT) & 0xff;
> >  	sprintf(envbuffer, "bootcmd%d", boot_choice);
> > -	if (env_get(envbuffer)) {
> > +	if (env_get(ctx_uboot, envbuffer)) {
> >  		sprintf(envbuffer, "run bootcmd%d", boot_choice);
> > -		env_set("bootcmd", envbuffer);
> > -	} else
> > -		env_set("bootcmd", "");
> > +		env_set(ctx_uboot, "bootcmd", envbuffer);
> > +	} else {
> > +		env_set(ctx_uboot, "bootcmd", "");
> > +	}
> >  
> >  	return 0;
> >  }
> > diff --git a/board/hisilicon/poplar/poplar.c
> > b/board/hisilicon/poplar/poplar.c index 4926419a905a..1177e91a688a
> > 100644 --- a/board/hisilicon/poplar/poplar.c
> > +++ b/board/hisilicon/poplar/poplar.c
> > @@ -177,7 +177,7 @@ int board_usb_init(int index, enum usb_init_type
> > init) 
> >  int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char
> > *name) {
> > -	if (!env_get("serial#"))
> > +	if (!env_get(ctx_uboot, "serial#"))
> >  		g_dnl_set_serialnumber("0123456789POPLAR");
> >  	return 0;
> >  }
> > diff --git a/board/imgtec/ci20/ci20.c b/board/imgtec/ci20/ci20.c
> > index 5368b67b38b6..a34553a7bb3b 100644
> > --- a/board/imgtec/ci20/ci20.c
> > +++ b/board/imgtec/ci20/ci20.c
> > @@ -181,12 +181,12 @@ int misc_init_r(void)
> >  	eth_env_set_enetaddr("ethaddr", otp.mac);
> >  
> >  	/* Put other board information into the environment */
> > -	env_set_ulong("serial#", otp.serial_number);
> > -	env_set_ulong("board_date", otp.date);
> > +	env_set_ulong(ctx_uboot, "serial#", otp.serial_number);
> > +	env_set_ulong(ctx_uboot, "board_date", otp.date);
> >  	manufacturer[0] = otp.manufacturer[0];
> >  	manufacturer[1] = otp.manufacturer[1];
> >  	manufacturer[2] = 0;
> > -	env_set("board_mfr", manufacturer);
> > +	env_set(ctx_uboot, "board_mfr", manufacturer);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/intel/edison/edison.c b/board/intel/edison/edison.c
> > index f56b5b1affef..2de8a4936286 100644
> > --- a/board/intel/edison/edison.c
> > +++ b/board/intel/edison/edison.c
> > @@ -71,14 +71,14 @@ static void assign_serial(void)
> >  
> >  	snprintf(usb0addr, sizeof(usb0addr),
> > "02:00:86:%02x:%02x:%02x", ssn[13], ssn[14], ssn[15]);
> > -	env_set("usb0addr", usb0addr);
> > +	env_set(ctx_uboot, "usb0addr", usb0addr);
> >  
> >  	for (i = 0; i < 16; i++)
> >  		snprintf(&serial[2 * i], 3, "%02x", ssn[i]);
> > -	env_set("serial#", serial);
> > +	env_set(ctx_uboot, "serial#", serial);
> >  
> >  #if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
> > -	env_save();
> > +	env_save(ctx_uboot);
> >  #endif
> >  }
> >  
> > @@ -93,19 +93,19 @@ static void assign_hardware_id(void)
> >  		printf("Can't retrieve hardware revision\n");
> >  
> >  	snprintf(hardware_id, sizeof(hardware_id), "%02X",
> > v.hardware_id);
> > -	env_set("hardware_id", hardware_id);
> > +	env_set(ctx_uboot, "hardware_id", hardware_id);
> >  
> >  #if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
> > -	env_save();
> > +	env_save(ctx_uboot);
> >  #endif
> >  }
> >  
> >  int board_late_init(void)
> >  {
> > -	if (!env_get("serial#"))
> > +	if (!env_get(ctx_uboot, "serial#"))
> >  		assign_serial();
> >  
> > -	if (!env_get("hardware_id"))
> > +	if (!env_get(ctx_uboot, "hardware_id"))
> >  		assign_hardware_id();
> >  
> >  	return 0;
> > diff --git a/board/isee/igep003x/board.c b/board/isee/igep003x/board.c
> > index a8c2b121a476..56ecf3497245 100644
> > --- a/board/isee/igep003x/board.c
> > +++ b/board/isee/igep003x/board.c
> > @@ -193,13 +193,13 @@ int board_late_init(void)
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  	switch (get_board_revision()) {
> >  		case 0:
> > -			env_set("board_name", "igep0034-lite");
> > +			env_set(ctx_uboot, "board_name",
> > "igep0034-lite"); break;
> >  		case 1:
> > -			env_set("board_name", "igep0034");
> > +			env_set(ctx_uboot, "board_name", "igep0034");
> >  			break;
> >  		default:
> > -			env_set("board_name", "igep0033");
> > +			env_set(ctx_uboot, "board_name", "igep0033");
> >  			break;
> >  	}
> >  #endif
> > diff --git a/board/isee/igep00x0/igep00x0.c
> > b/board/isee/igep00x0/igep00x0.c index 74fc5f08900a..42476b2b657b
> > 100644 --- a/board/isee/igep00x0/igep00x0.c
> > +++ b/board/isee/igep00x0/igep00x0.c
> > @@ -199,8 +199,8 @@ void set_boardname(void)
> >  	int i = get_board_revision();
> >  
> >  	rev[i+1] = 0;
> > -	env_set("board_rev", rev + i);
> > -	env_set("board_name", i < 2 ? "igep0020" : "igep0030");
> > +	env_set(ctx_uboot, "board_rev", rev + i);
> > +	env_set(ctx_uboot, "board_name", i < 2 ? "igep0020" :
> > "igep0030"); }
> >  
> >  /*
> > diff --git a/board/k+p/kp_imx53/kp_id_rev.c
> > b/board/k+p/kp_imx53/kp_id_rev.c index 9dae54dda5fc..5c9258912c89
> > 100644 --- a/board/k+p/kp_imx53/kp_id_rev.c
> > +++ b/board/k+p/kp_imx53/kp_id_rev.c
> > @@ -31,7 +31,7 @@ void show_eeprom(void)
> >  
> >  	if (!strncmp(safe_string, "TQM", 3)) {
> >  		printf("  ID: %s\n", safe_string);
> > -		env_set("boardtype", safe_string);
> > +		env_set(ctx_uboot, "boardtype", safe_string);
> >  	} else {
> >  		puts("  unknown hardware variant\n");
> >  	}
> > @@ -45,7 +45,7 @@ void show_eeprom(void)
> >  
> >  	if (strlen(safe_string) == 8) {
> >  		printf("  SN: %s\n", safe_string);
> > -		env_set("serial#", safe_string);
> > +		env_set(ctx_uboot, "serial#", safe_string);
> >  	} else {
> >  		puts("  unknown serial number\n");
> >  	}
> > @@ -103,18 +103,18 @@ int read_board_id(void)
> >  	sprintf(rev_str, "%02X", rev_id);
> >  	if (rev_id & 0x80) {
> >  		printf("BBoard:4x00 Rev:%s\n", rev_str);
> > -		env_set("boardtype", "ddc");
> > -		env_set("fit_config", "imx53_kb_conf");
> > +		env_set(ctx_uboot, "boardtype", "ddc");
> > +		env_set(ctx_uboot, "fit_config", "imx53_kb_conf");
> >  	} else {
> >  		printf("BBoard:40x0 Rev:%s\n", rev_str);
> > -		env_set("boardtype", "hsc");
> > -		env_set("fit_config", "imx53_kb_40x0_conf");
> > +		env_set(ctx_uboot, "boardtype", "hsc");
> > +		env_set(ctx_uboot, "fit_config",
> > "imx53_kb_40x0_conf"); }
> >  
> > -	sprintf(buf, "kp-%s", env_get("boardtype"));
> > -	env_set("boardname", buf);
> > -	env_set("boardsoc", "imx53");
> > -	env_set("kb53_rev", rev_str);
> > +	sprintf(buf, "kp-%s", env_get(ctx_uboot, "boardtype"));
> > +	env_set(ctx_uboot, "boardname", buf);
> > +	env_set(ctx_uboot, "boardsoc", "imx53");
> > +	env_set(ctx_uboot, "kb53_rev", rev_str);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/k+p/kp_imx53/kp_imx53.c
> > b/board/k+p/kp_imx53/kp_imx53.c index 84cddd489490..36b9b9377f03
> > 100644 --- a/board/k+p/kp_imx53/kp_imx53.c
> > +++ b/board/k+p/kp_imx53/kp_imx53.c
> > @@ -124,9 +124,9 @@ void board_misc_setup(void)
> >  	gpio_direction_input(KEY1);
> >  
> >  	if (gpio_get_value(KEY1))
> > -		env_set("key1", "off");
> > +		env_set(ctx_uboot, "key1", "off");
> >  	else
> > -		env_set("key1", "on");
> > +		env_set(ctx_uboot, "key1", "on");
> >  }
> >  
> >  int board_late_init(void)
> > diff --git a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c
> > b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c index
> > 2c541ace0210..9536ae2171d2 100644 ---
> > a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c +++
> > b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c @@ -290,8 +290,8 @@ int
> > board_late_init(void) add_board_boot_modes(board_boot_modes);
> >  #endif
> >  
> > -	env_set("boardname", "kp-tpc");
> > -	env_set("boardsoc", "imx6q");
> > +	env_set(ctx_uboot, "boardname", "kp-tpc");
> > +	env_set(ctx_uboot, "boardsoc", "imx6q");
> >  	return 0;
> >  }
> >  
> > diff --git a/board/keymile/common/common.c
> > b/board/keymile/common/common.c index 08f7f8d88451..3e15a063b34a
> > 100644 --- a/board/keymile/common/common.c
> > +++ b/board/keymile/common/common.c
> > @@ -51,24 +51,24 @@ int set_km_env(void)
> >  	pnvramaddr = gd->ram_size - CONFIG_KM_RESERVED_PRAM -
> > CONFIG_KM_PHRAM
> >  			- CONFIG_KM_PNVRAM;
> >  	sprintf((char *)buf, "0x%x", pnvramaddr);
> > -	env_set("pnvramaddr", (char *)buf);
> > +	env_set(ctx_uboot, "pnvramaddr", (char *)buf);
> >  
> >  	/* try to read rootfssize (ram image) from environment */
> > -	p = env_get("rootfssize");
> > +	p = env_get(ctx_uboot, "rootfssize");
> >  	if (p != NULL)
> >  		strict_strtoul(p, 16, &rootfssize);
> >  	pram = (rootfssize + CONFIG_KM_RESERVED_PRAM +
> > CONFIG_KM_PHRAM + CONFIG_KM_PNVRAM) / 0x400;
> >  	sprintf((char *)buf, "0x%x", pram);
> > -	env_set("pram", (char *)buf);
> > +	env_set(ctx_uboot, "pram", (char *)buf);
> >  
> >  	varaddr = gd->ram_size - CONFIG_KM_RESERVED_PRAM -
> > CONFIG_KM_PHRAM; sprintf((char *)buf, "0x%x", varaddr);
> > -	env_set("varaddr", (char *)buf);
> > +	env_set(ctx_uboot, "varaddr", (char *)buf);
> >  
> >  	kernelmem = gd->ram_size - 0x400 * pram;
> >  	sprintf((char *)buf, "0x%x", kernelmem);
> > -	env_set("kernelmem", (char *)buf);
> > +	env_set(ctx_uboot, "kernelmem", (char *)buf);
> >  
> >  	return 0;
> >  }
> > @@ -169,7 +169,7 @@ static int do_setboardid(cmd_tbl_t *cmdtp, int
> > flag, int argc, return 1;
> >  	}
> >  	strcpy((char *)buf, p);
> > -	env_set("boardid", (char *)buf);
> > +	env_set(ctx_uboot, "boardid", (char *)buf);
> >  	printf("set boardid=%s\n", buf);
> >  
> >  	p = get_local_var("IVM_HWKey");
> > @@ -178,7 +178,7 @@ static int do_setboardid(cmd_tbl_t *cmdtp, int
> > flag, int argc, return 1;
> >  	}
> >  	strcpy((char *)buf, p);
> > -	env_set("hwkey", (char *)buf);
> > +	env_set(ctx_uboot, "hwkey", (char *)buf);
> >  	printf("set hwkey=%s\n", buf);
> >  	printf("Execute manually saveenv for persistent storage.\n");
> >  
> > @@ -236,10 +236,10 @@ static int do_checkboardidhwk(cmd_tbl_t *cmdtp,
> > int flag, int argc, }
> >  
> >  	/* now try to read values from environment if available */
> > -	p = env_get("boardid");
> > +	p = env_get(ctx_uboot, "boardid");
> >  	if (p != NULL)
> >  		rc = strict_strtoul(p, 16, &envbid);
> > -	p = env_get("hwkey");
> > +	p = env_get(ctx_uboot, "hwkey");
> >  	if (p != NULL)
> >  		rc = strict_strtoul(p, 16, &envhwkey);
> >  
> > @@ -253,7 +253,7 @@ static int do_checkboardidhwk(cmd_tbl_t *cmdtp,
> > int flag, int argc,
> >  		 * BoardId/HWkey not available in the environment,
> > so try the
> >  		 * environment variable for BoardId/HWkey list
> >  		 */
> > -		char *bidhwklist = env_get("boardIdListHex");
> > +		char *bidhwklist = env_get(ctx_uboot,
> > "boardIdListHex"); 
> >  		if (bidhwklist) {
> >  			int found = 0;
> > @@ -311,9 +311,9 @@ static int do_checkboardidhwk(cmd_tbl_t *cmdtp,
> > int flag, int argc, envbid   = bid;
> >  					envhwkey = hwkey;
> >  					sprintf(buf, "%lx", bid);
> > -					env_set("boardid", buf);
> > +					env_set(ctx_uboot,
> > "boardid", buf); sprintf(buf, "%lx", hwkey);
> > -					env_set("hwkey", buf);
> > +					env_set(ctx_uboot, "hwkey",
> > buf); }
> >  			} /* end while( ! found ) */
> >  		}
> > @@ -355,7 +355,7 @@ static int do_checktestboot(cmd_tbl_t *cmdtp, int
> > flag, int argc, #if defined(CONFIG_POST)
> >  	testpin = post_hotkeys_pressed();
> >  #endif
> > -	s = env_get("test_bank");
> > +	s = env_get(ctx_uboot, "test_bank");
> >  	/* when test_bank is not set, act as if testpin is not
> > asserted */ testboot = (testpin != 0) && (s);
> >  	if (verbose) {
> > diff --git a/board/keymile/common/ivm.c b/board/keymile/common/ivm.c
> > index 50df44d1c110..d255a34ae677 100644
> > --- a/board/keymile/common/ivm.c
> > +++ b/board/keymile/common/ivm.c
> > @@ -261,7 +261,7 @@ int ivm_analyze_eeprom(unsigned char *buf, int
> > len) 
> >  	GET_STRING("IVM_Symbol", IVM_POS_SYMBOL_ONLY, 8)
> >  	GET_STRING("IVM_DeviceName", IVM_POS_SHORT_TEXT, 64)
> > -	tmp = (unsigned char *)env_get("IVM_DeviceName");
> > +	tmp = (unsigned char *)env_get(ctx_uboot, "IVM_DeviceName");
> >  	if (tmp) {
> >  		int	len = strlen((char *)tmp);
> >  		int	i = 0;
> > @@ -310,16 +310,16 @@ static int ivm_populate_env(unsigned char *buf,
> > int len) #ifndef CONFIG_KMTEGR1
> >  	/* if an offset is defined, add it */
> >  	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADRESS_OFFSET,
> > true);
> > -	env_set((char *)"ethaddr", (char *)valbuf);
> > +	env_set(ctx_uboot, (char *)"ethaddr", (char *)valbuf);
> >  #else
> >  /* KMTEGR1 has a special setup. eth0 has no connection to the
> > outside and
> >   * gets an locally administred MAC address, eth1 is the debug
> > interface and
> >   * gets the official MAC address from the IVM
> >   */
> >  	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADRESS_OFFSET,
> > false);
> > -	env_set((char *)"ethaddr", (char *)valbuf);
> > +	env_set(ctx_uboot, (char *)"ethaddr", (char *)valbuf);
> >  	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADRESS_OFFSET,
> > true);
> > -	env_set((char *)"eth1addr", (char *)valbuf);
> > +	env_set(ctx_uboot, (char *)"eth1addr", (char *)valbuf);
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/keymile/km83xx/km83xx.c
> > b/board/keymile/km83xx/km83xx.c index 8846b64f7d79..68a1ddb886b9
> > 100644 --- a/board/keymile/km83xx/km83xx.c
> > +++ b/board/keymile/km83xx/km83xx.c
> > @@ -199,7 +199,7 @@ int last_stage_init(void)
> >  	if (dip_switch != 0) {
> >  		/* start bootloader */
> >  		puts("DIP:   Enabled\n");
> > -		env_set("actual_bank", "0");
> > +		env_set(ctx_uboot, "actual_bank", "0");
> >  	}
> >  #endif
> >  	set_km_env();
> > diff --git a/board/keymile/km_arm/km_arm.c
> > b/board/keymile/km_arm/km_arm.c index 922cc621f780..0c2ede5231bb
> > 100644 --- a/board/keymile/km_arm/km_arm.c
> > +++ b/board/keymile/km_arm/km_arm.c
> > @@ -193,7 +193,7 @@ static void set_bootcount_addr(void)
> >  	unsigned int bootcountaddr;
> >  	bootcountaddr = gd->ram_size - BOOTCOUNT_ADDR;
> >  	sprintf((char *)buf, "0x%x", bootcountaddr);
> > -	env_set("bootcountaddr", (char *)buf);
> > +	env_set(ctx_uboot, "bootcountaddr", (char *)buf);
> >  }
> >  
> >  int misc_init_r(void)
> > @@ -201,7 +201,7 @@ int misc_init_r(void)
> >  #if defined(CONFIG_KM_MGCOGE3UN)
> >  	char *wait_for_ne;
> >  	u8 dip_switch = kw_gpio_get_value(KM_FLASH_ERASE_ENABLE);
> > -	wait_for_ne = env_get("waitforne");
> > +	wait_for_ne = env_get(ctx_uboot, "waitforne");
> >  
> >  	if ((wait_for_ne != NULL) && (dip_switch == 0)) {
> >  		if (strcmp(wait_for_ne, "true") == 0) {
> > @@ -299,7 +299,7 @@ int board_late_init(void)
> >  	if (dip_switch != 0) {
> >  		/* start bootloader */
> >  		puts("DIP:   Enabled\n");
> > -		env_set("actual_bank", "0");
> > +		env_set(ctx_uboot, "actual_bank", "0");
> >  	}
> >  #endif
> >  
> > diff --git a/board/keymile/kmp204x/kmp204x.c
> > b/board/keymile/kmp204x/kmp204x.c index 4d1e38aa3a7a..f4901f6bed9d
> > 100644 --- a/board/keymile/kmp204x/kmp204x.c
> > +++ b/board/keymile/kmp204x/kmp204x.c
> > @@ -220,7 +220,7 @@ int last_stage_init(void)
> >  	if (dip_switch != 0) {
> >  		/* start bootloader */
> >  		puts("DIP:   Enabled\n");
> > -		env_set("actual_bank", "0");
> > +		env_set(ctx_uboot, "actual_bank", "0");
> >  	}
> >  #endif
> >  	set_km_env();
> > @@ -237,7 +237,7 @@ void fdt_fixup_fman_mac_addresses(void *blob)
> >  	unsigned char mac_addr[6];
> >  
> >  	/* get the mac addr from env */
> > -	tmp = env_get("ethaddr");
> > +	tmp = env_get(ctx_uboot, "ethaddr");
> >  	if (!tmp) {
> >  		printf("ethaddr env variable not defined\n");
> >  		return;
> > diff --git a/board/kosagi/novena/novena.c
> > b/board/kosagi/novena/novena.c index b7b747d19658..968d455b45c6 100644
> > --- a/board/kosagi/novena/novena.c
> > +++ b/board/kosagi/novena/novena.c
> > @@ -201,7 +201,7 @@ int misc_init_r(void)
> >  	int ret;
> >  
> >  	/* If 'ethaddr' is already set, do nothing. */
> > -	if (env_get("ethaddr"))
> > +	if (env_get(ctx_uboot, "ethaddr"))
> >  		return 0;
> >  
> >  	/* EEPROM is at bus 2. */
> > diff --git a/board/laird/wb50n/wb50n.c b/board/laird/wb50n/wb50n.c
> > index a2f8eaf0ba34..cc7cd3cf7250 100644
> > --- a/board/laird/wb50n/wb50n.c
> > +++ b/board/laird/wb50n/wb50n.c
> > @@ -122,7 +122,7 @@ int board_late_init(void)
> >  	for (p = name; *p != '\0'; *p = tolower(*p), p++)
> >  		;
> >  	strcat(name, "-wb50n");
> > -	env_set(LAIRD_NAME, name);
> > +	env_set(ctx_uboot, LAIRD_NAME, name);
> >  
> >  #endif
> >  
> > diff --git a/board/lg/sniper/sniper.c b/board/lg/sniper/sniper.c
> > index b4205d6ed4c1..0dff96ef02aa 100644
> > --- a/board/lg/sniper/sniper.c
> > +++ b/board/lg/sniper/sniper.c
> > @@ -133,8 +133,8 @@ int misc_init_r(void)
> >  	}
> >  
> >  	if (reboot_mode[0] > 0 && isascii(reboot_mode[0])) {
> > -		if (!env_get("reboot-mode"))
> > -			env_set("reboot-mode", (char *)reboot_mode);
> > +		if (!env_get(ctx_uboot, "reboot-mode"))
> > +			env_set(ctx_uboot, "reboot-mode", (char
> > *)reboot_mode); }
> >  
> >  	omap_reboot_mode_clear();
> > diff --git a/board/liebherr/display5/spl.c
> > b/board/liebherr/display5/spl.c index 354b63e431f6..6ce1554e044d
> > 100644 --- a/board/liebherr/display5/spl.c
> > +++ b/board/liebherr/display5/spl.c
> > @@ -284,10 +284,10 @@ void board_boot_order(u32 *spl_boot_list)
> >  	/* 'fastboot' */
> >  	const char *s;
> >  
> > -	if (env_init() || env_load())
> > +	if (env_init() || env_load(ctx_uboot))
> >  		return;
> >  
> > -	s = env_get("BOOT_FROM");
> > +	s = env_get(ctx_uboot, "BOOT_FROM");
> >  	if (s && !bootcount_error() && strcmp(s, "ACTIVE") == 0) {
> >  		spl_boot_list[0] = BOOT_DEVICE_MMC1;
> >  		spl_boot_list[1] = spl_boot_device();
> > diff --git a/board/liebherr/mccmon6/mccmon6.c
> > b/board/liebherr/mccmon6/mccmon6.c index 7d2751ab0393..6164317e607c
> > 100644 --- a/board/liebherr/mccmon6/mccmon6.c
> > +++ b/board/liebherr/mccmon6/mccmon6.c
> > @@ -367,7 +367,7 @@ int board_init(void)
> >  
> >  int board_late_init(void)
> >  {
> > -	env_set("board_name", "mccmon6");
> > +	env_set(ctx_uboot, "board_name", "mccmon6");
> >  
> >  	return 0;
> >  }
> > @@ -467,7 +467,7 @@ int spl_start_uboot(void)
> >  		return 1;
> >  
> >  	env_init();
> > -	ret = env_get_f("boot_os", s, sizeof(s));
> > +	ret = env_get_f("boot_os", s, sizeof(ctx_uboot, s));
> >  	if ((ret != -1) && (strcmp(s, "no") == 0))
> >  		return 1;
> >  
> > @@ -481,7 +481,7 @@ int spl_start_uboot(void)
> >  	 * recovery_status = <any value> -> start SWUpdate
> >  	 *
> >  	 */
> > -	ret = env_get_f("recovery_status", s, sizeof(s));
> > +	ret = env_get_f("recovery_status", s, sizeof(ctx_uboot, s));
> >  	if (ret != -1)
> >  		return 1;
> >  
> > diff --git a/board/logicpd/imx6/imx6logic.c
> > b/board/logicpd/imx6/imx6logic.c index 7a59b89d94a2..204a92761459
> > 100644 --- a/board/logicpd/imx6/imx6logic.c
> > +++ b/board/logicpd/imx6/imx6logic.c
> > @@ -149,12 +149,12 @@ int board_init(void)
> >  
> >  int board_late_init(void)
> >  {
> > -	env_set("board_name", "imx6logic");
> > +	env_set(ctx_uboot, "board_name", "imx6logic");
> >  
> >  	if (is_mx6dq()) {
> > -		env_set("board_rev", "MX6DQ");
> > -		if (!env_get("fdt_file"))
> > -			env_set("fdt_file", "imx6q-logicpd.dtb");
> > +		env_set(ctx_uboot, "board_rev", "MX6DQ");
> > +		if (!env_get(ctx_uboot, "fdt_file"))
> > +			env_set(ctx_uboot, "fdt_file",
> > "imx6q-logicpd.dtb"); }
> >  
> >  	return 0;
> > diff --git a/board/menlo/m53menlo/m53menlo.c
> > b/board/menlo/m53menlo/m53menlo.c index bda5f0df5bce..f84e0f7d5928
> > 100644 --- a/board/menlo/m53menlo/m53menlo.c
> > +++ b/board/menlo/m53menlo/m53menlo.c
> > @@ -339,7 +339,7 @@ int board_late_init(void)
> >  
> >  	splash_get_pos(&xpos, &ypos);
> >  
> > -	s = env_get("splashimage");
> > +	s = env_get(ctx_uboot, "splashimage");
> >  	if (!s)
> >  		return 0;
> >  
> > diff --git a/board/micronas/vct/vct.c b/board/micronas/vct/vct.c
> > index e73d16db3eaf..6ae3dceaef87 100644
> > --- a/board/micronas/vct/vct.c
> > +++ b/board/micronas/vct/vct.c
> > @@ -72,7 +72,7 @@ int dram_init(void)
> >  int checkboard(void)
> >  {
> >  	char buf[64];
> > -	int i = env_get_f("serial#", buf, sizeof(buf));
> > +	int i = env_get_f("serial#", buf, sizeof(ctx_uboot, buf));
> >  	u32 config0 = read_c0_prid();
> >  
> >  	if ((config0 & 0xff0000) == PRID_COMP_LEGACY
> > diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
> > index 71ca79deab7f..ca486eab1e29 100644
> > --- a/board/nokia/rx51/rx51.c
> > +++ b/board/nokia/rx51/rx51.c
> > @@ -234,18 +234,18 @@ void setup_board_tags(struct tag **in_params)
> >  	params->u.core.rootdev = 0x0;
> >  
> >  	/* append omap atag only if env setup_omap_atag is set to 1
> > */
> > -	str = env_get("setup_omap_atag");
> > +	str = env_get(ctx_uboot, "setup_omap_atag");
> >  	if (!str || str[0] != '1')
> >  		return;
> >  
> > -	str = env_get("setup_console_atag");
> > +	str = env_get(ctx_uboot, "setup_console_atag");
> >  	if (str && str[0] == '1')
> >  		setup_console_atag = 1;
> >  	else
> >  		setup_console_atag = 0;
> >  
> > -	setup_boot_reason_atag = env_get("setup_boot_reason_atag");
> > -	setup_boot_mode_atag = env_get("setup_boot_mode_atag");
> > +	setup_boot_reason_atag = env_get(ctx_uboot,
> > "setup_boot_reason_atag");
> > +	setup_boot_mode_atag = env_get(ctx_uboot,
> > "setup_boot_mode_atag"); 
> >  	params = *in_params;
> >  	t = (struct tag_omap *)&params->u;
> > @@ -413,7 +413,7 @@ int misc_init_r(void)
> >  
> >  	/* set env variable attkernaddr for relocated kernel */
> >  	sprintf(buf, "%#x", KERNEL_ADDRESS);
> > -	env_set("attkernaddr", buf);
> > +	env_set(ctx_uboot, "attkernaddr", buf);
> >  
> >  	/* initialize omap tags */
> >  	init_omap_tags();
> > diff --git a/board/overo/overo.c b/board/overo/overo.c
> > index 442028a764c7..f0b230eabb13 100644
> > --- a/board/overo/overo.c
> > +++ b/board/overo/overo.c
> > @@ -170,47 +170,47 @@ int misc_init_r(void)
> >  			expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> > -		env_set("defaultdisplay", "dvi");
> > -		env_set("expansionname", "summit");
> > +		env_set(ctx_uboot, "defaultdisplay", "dvi");
> > +		env_set(ctx_uboot, "expansionname", "summit");
> >  		break;
> >  	case GUMSTIX_TOBI:
> >  		printf("Recognized Tobi expansion board (rev %d
> > %s)\n", expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> > -		env_set("defaultdisplay", "dvi");
> > -		env_set("expansionname", "tobi");
> > +		env_set(ctx_uboot, "defaultdisplay", "dvi");
> > +		env_set(ctx_uboot, "expansionname", "tobi");
> >  		break;
> >  	case GUMSTIX_TOBI_DUO:
> >  		printf("Recognized Tobi Duo expansion board (rev %d
> > %s)\n", expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> > -		env_set("expansionname", "tobiduo");
> > +		env_set(ctx_uboot, "expansionname", "tobiduo");
> >  		break;
> >  	case GUMSTIX_PALO35:
> >  		printf("Recognized Palo35 expansion board (rev %d
> > %s)\n", expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> > -		env_set("defaultdisplay", "lcd35");
> > -		env_set("expansionname", "palo35");
> > +		env_set(ctx_uboot, "defaultdisplay", "lcd35");
> > +		env_set(ctx_uboot, "expansionname", "palo35");
> >  		break;
> >  	case GUMSTIX_PALO43:
> >  		printf("Recognized Palo43 expansion board (rev %d
> > %s)\n", expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> > -		env_set("defaultdisplay", "lcd43");
> > -		env_set("expansionname", "palo43");
> > +		env_set(ctx_uboot, "defaultdisplay", "lcd43");
> > +		env_set(ctx_uboot, "expansionname", "palo43");
> >  		break;
> >  	case GUMSTIX_CHESTNUT43:
> >  		printf("Recognized Chestnut43 expansion board (rev
> > %d %s)\n", expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> > -		env_set("defaultdisplay", "lcd43");
> > -		env_set("expansionname", "chestnut43");
> > +		env_set(ctx_uboot, "defaultdisplay", "lcd43");
> > +		env_set(ctx_uboot, "expansionname", "chestnut43");
> >  		break;
> >  	case GUMSTIX_PINTO:
> >  		printf("Recognized Pinto expansion board (rev %d
> > %s)\n", @@ -223,8 +223,8 @@ int misc_init_r(void)
> >  			expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> > -		env_set("defaultdisplay", "lcd43");
> > -		env_set("expansionname", "gallop43");
> > +		env_set(ctx_uboot, "defaultdisplay", "lcd43");
> > +		env_set(ctx_uboot, "expansionname", "gallop43");
> >  		break;
> >  	case GUMSTIX_ALTO35:
> >  		printf("Recognized Alto35 expansion board (rev %d
> > %s)\n", @@ -232,8 +232,8 @@ int misc_init_r(void)
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> >  		MUX_ALTO35();
> > -		env_set("defaultdisplay", "lcd35");
> > -		env_set("expansionname", "alto35");
> > +		env_set(ctx_uboot, "defaultdisplay", "lcd35");
> > +		env_set(ctx_uboot, "expansionname", "alto35");
> >  		break;
> >  	case GUMSTIX_STAGECOACH:
> >  		printf("Recognized Stagecoach expansion board (rev
> > %d %s)\n", @@ -259,8 +259,8 @@ int misc_init_r(void)
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> >  		MUX_ARBOR43C();
> > -		env_set("defaultdisplay", "lcd43");
> > -		env_set("expansionname", "arbor43c");
> > +		env_set(ctx_uboot, "defaultdisplay", "lcd43");
> > +		env_set(ctx_uboot, "expansionname", "arbor43c");
> >  		break;
> >  	case ETTUS_USRP_E:
> >  		printf("Recognized Ettus Research USRP-E (rev %d
> > %s)\n", @@ -268,13 +268,13 @@ int misc_init_r(void)
> >  			expansion_config.fab_revision);
> >  		MUX_GUMSTIX();
> >  		MUX_USRP_E();
> > -		env_set("defaultdisplay", "dvi");
> > +		env_set(ctx_uboot, "defaultdisplay", "dvi");
> >  		break;
> >  	case GUMSTIX_NO_EEPROM:
> >  	case GUMSTIX_EMPTY_EEPROM:
> >  		puts("No or empty EEPROM on expansion board\n");
> >  		MUX_GUMSTIX();
> > -		env_set("expansionname", "tobi");
> > +		env_set(ctx_uboot, "expansionname", "tobi");
> >  		break;
> >  	default:
> >  		printf("Unrecognized expansion board 0x%08x\n",
> > expansion_id); @@ -282,14 +282,15 @@ int misc_init_r(void)
> >  	}
> >  
> >  	if (expansion_config.content == 1)
> > -		env_set(expansion_config.env_var,
> > expansion_config.env_setting);
> > +		env_set(ctx_uboot, expansion_config.env_var,
> > +			expansion_config.env_setting);
> >  
> >  	omap_die_id_display();
> >  
> >  	if (get_cpu_family() == CPU_OMAP34XX)
> > -		env_set("boardname", "overo");
> > +		env_set(ctx_uboot, "boardname", "overo");
> >  	else
> > -		env_set("boardname", "overo-storm");
> > +		env_set(ctx_uboot, "boardname", "overo-storm");
> >  
> >  	return 0;
> >  }
> > diff --git a/board/phytec/pcm052/pcm052.c
> > b/board/phytec/pcm052/pcm052.c index e1ebe8e75d00..f66bacfb2172 100644
> > --- a/board/phytec/pcm052/pcm052.c
> > +++ b/board/phytec/pcm052/pcm052.c
> > @@ -376,8 +376,8 @@ int board_late_init(void)
> >  	if ((reg & SRC_SBMR1_BOOTCFG1_SDMMC) &&
> >  	    !(reg & SRC_SBMR1_BOOTCFG1_MMC)) {
> >  		printf("------ SD card boot -------\n");
> > -		env_set_default("!LVFBootloader", 0);
> > -		env_set("bootcmd",
> > +		env_set_default(ctx_uboot, "!LVFBootloader", 0);
> > +		env_set(ctx_uboot, "bootcmd",
> >  			"run prepare_install_bk4r1_envs; run
> > install_bk4r1rs"); }
> >  
> > diff --git a/board/phytec/pfla02/pfla02.c
> > b/board/phytec/pfla02/pfla02.c index ae9ffe0390c3..bbcd8cf934d3 100644
> > --- a/board/phytec/pfla02/pfla02.c
> > +++ b/board/phytec/pfla02/pfla02.c
> > @@ -392,7 +392,7 @@ int board_late_init(void)
> >  #endif
> >  
> >  	snprintf(buf, sizeof(buf), "%d", get_board_rev());
> > -	env_set("board_rev", buf);
> > +	env_set(ctx_uboot, "board_rev", buf);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c
> > b/board/qualcomm/dragonboard410c/dragonboard410c.c index
> > d7f0f93fb109..bdf6e13ad06f 100644 ---
> > a/board/qualcomm/dragonboard410c/dragonboard410c.c +++
> > b/board/qualcomm/dragonboard410c/dragonboard410c.c @@ -139,8 +139,8
> > @@ int misc_init_r(void) }
> >  
> >  	if (dm_gpio_get_value(&resin)) {
> > -		env_set("bootdelay", "-1");
> > -		env_set("bootcmd", "fastboot 0");
> > +		env_set(ctx_uboot, "bootdelay", "-1");
> > +		env_set(ctx_uboot, "bootcmd", "fastboot 0");
> >  		printf("key_vol_down pressed - Starting
> > fastboot.\n"); }
> >  
> > @@ -158,7 +158,7 @@ int board_late_init(void)
> >  
> >  	memset(serial, 0, 16);
> >  	snprintf(serial, 13, "%x", msm_board_serial());
> > -	env_set("serial#", serial);
> > +	env_set(ctx_uboot, "serial#", serial);
> >  	return 0;
> >  }
> >  
> > diff --git a/board/qualcomm/dragonboard820c/dragonboard820c.c
> > b/board/qualcomm/dragonboard820c/dragonboard820c.c index
> > 7a889646df8d..475e1aa64560 100644 ---
> > a/board/qualcomm/dragonboard820c/dragonboard820c.c +++
> > b/board/qualcomm/dragonboard820c/dragonboard820c.c @@ -155,7 +155,7
> > @@ int misc_init_r(void) }
> >  
> >  	if (dm_gpio_get_value(&resin)) {
> > -		env_set("bootdelay", "-1");
> > +		env_set(ctx_uboot, "bootdelay", "-1");
> >  		printf("Power button pressed - dropping to
> > console.\n"); }
> >  
> > diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
> > index 7a6ca8f759e6..5d4d59fd25ca 100644
> > --- a/board/raspberrypi/rpi/rpi.c
> > +++ b/board/raspberrypi/rpi/rpi.c
> > @@ -290,11 +290,11 @@ static void set_fdtfile(void)
> >  {
> >  	const char *fdtfile;
> >  
> > -	if (env_get("fdtfile"))
> > +	if (env_get(ctx_uboot, "fdtfile"))
> >  		return;
> >  
> >  	fdtfile = model->fdtfile;
> > -	env_set("fdtfile", fdtfile);
> > +	env_set(ctx_uboot, "fdtfile", fdtfile);
> >  }
> >  
> >  /*
> > @@ -303,13 +303,13 @@ static void set_fdtfile(void)
> >   */
> >  static void set_fdt_addr(void)
> >  {
> > -	if (env_get("fdt_addr"))
> > +	if (env_get(ctx_uboot, "fdt_addr"))
> >  		return;
> >  
> >  	if (fdt_magic(fw_dtb_pointer) != FDT_MAGIC)
> >  		return;
> >  
> > -	env_set_hex("fdt_addr", fw_dtb_pointer);
> > +	env_set_hex(ctx_uboot, "fdt_addr", fw_dtb_pointer);
> >  }
> >  
> >  /*
> > @@ -330,7 +330,7 @@ static void set_usbethaddr(void)
> >  	if (!model->has_onboard_eth)
> >  		return;
> >  
> > -	if (env_get("usbethaddr"))
> > +	if (env_get(ctx_uboot, "usbethaddr"))
> >  		return;
> >  
> >  	BCM2835_MBOX_INIT_HDR(msg);
> > @@ -345,8 +345,8 @@ static void set_usbethaddr(void)
> >  
> >  	eth_env_set_enetaddr("usbethaddr",
> > msg->get_mac_address.body.resp.mac); 
> > -	if (!env_get("ethaddr"))
> > -		env_set("ethaddr", env_get("usbethaddr"));
> > +	if (!env_get(ctx_uboot, "ethaddr"))
> > +		env_set(ctx_uboot, "ethaddr", env_get("usbethaddr"));
> >  
> >  	return;
> >  }
> > @@ -357,13 +357,13 @@ static void set_board_info(void)
> >  	char s[11];
> >  
> >  	snprintf(s, sizeof(s), "0x%X", revision);
> > -	env_set("board_revision", s);
> > +	env_set(ctx_uboot, "board_revision", s);
> >  	snprintf(s, sizeof(s), "%d", rev_scheme);
> > -	env_set("board_rev_scheme", s);
> > +	env_set(ctx_uboot, "board_rev_scheme", s);
> >  	/* Can't rename this to board_rev_type since it's an ABI for
> > scripts */ snprintf(s, sizeof(s), "0x%X", rev_type);
> > -	env_set("board_rev", s);
> > -	env_set("board_name", model->name);
> > +	env_set(ctx_uboot, "board_rev", s);
> > +	env_set(ctx_uboot, "board_name", model->name);
> >  }
> >  #endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */
> >  
> > @@ -373,7 +373,7 @@ static void set_serial_number(void)
> >  	int ret;
> >  	char serial_string[17] = { 0 };
> >  
> > -	if (env_get("serial#"))
> > +	if (env_get(ctx_uboot, "serial#"))
> >  		return;
> >  
> >  	BCM2835_MBOX_INIT_HDR(msg);
> > @@ -388,7 +388,7 @@ static void set_serial_number(void)
> >  
> >  	snprintf(serial_string, sizeof(serial_string), "%016llx",
> >  		 msg->get_board_serial.body.resp.serial);
> > -	env_set("serial#", serial_string);
> > +	env_set(ctx_uboot, "serial#", serial_string);
> >  }
> >  
> >  int misc_init_r(void)
> > diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c
> > index 10ef7f931b1f..bc94a22e9603 100644
> > --- a/board/renesas/alt/alt.c
> > +++ b/board/renesas/alt/alt.c
> > @@ -128,7 +128,8 @@ void reset_cpu(ulong addr)
> >  		hang();
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	const u32 load_magic = 0xb33fc0de;
> >  
> > diff --git a/board/renesas/gose/gose.c b/board/renesas/gose/gose.c
> > index f86c9f1a6350..d3ec352e2a03 100644
> > --- a/board/renesas/gose/gose.c
> > +++ b/board/renesas/gose/gose.c
> > @@ -134,7 +134,8 @@ void reset_cpu(ulong addr)
> >  		hang();
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	const u32 load_magic = 0xb33fc0de;
> >  
> > diff --git a/board/renesas/koelsch/koelsch.c
> > b/board/renesas/koelsch/koelsch.c index 841d337f4d3c..871308e405d3
> > 100644 --- a/board/renesas/koelsch/koelsch.c
> > +++ b/board/renesas/koelsch/koelsch.c
> > @@ -136,7 +136,8 @@ void reset_cpu(ulong addr)
> >  		hang();
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	const u32 load_magic = 0xb33fc0de;
> >  
> > diff --git a/board/renesas/lager/lager.c b/board/renesas/lager/lager.c
> > index 3cb1a56142a9..6867ae5c4008 100644
> > --- a/board/renesas/lager/lager.c
> > +++ b/board/renesas/lager/lager.c
> > @@ -145,7 +145,8 @@ void reset_cpu(ulong addr)
> >  		hang();
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	const u32 load_magic = 0xb33fc0de;
> >  
> > diff --git a/board/renesas/porter/porter.c
> > b/board/renesas/porter/porter.c index 86f79da7fdb4..3dc9310e0fc4
> > 100644 --- a/board/renesas/porter/porter.c
> > +++ b/board/renesas/porter/porter.c
> > @@ -134,7 +134,8 @@ void reset_cpu(ulong addr)
> >  		hang();
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	const u32 load_magic = 0xb33fc0de;
> >  
> > diff --git a/board/renesas/sh7752evb/sh7752evb.c
> > b/board/renesas/sh7752evb/sh7752evb.c index
> > d0b850f35d49..540ec9bfd019 100644 ---
> > a/board/renesas/sh7752evb/sh7752evb.c +++
> > b/board/renesas/sh7752evb/sh7752evb.c @@ -223,10 +223,10 @@ static
> > void init_ethernet_mac(void) for (i = 0; i <
> > SH7752EVB_ETHERNET_NUM_CH; i++) { get_sh_eth_mac(i, mac_string, buf);
> >  		if (i == 0)
> > -			env_set("ethaddr", mac_string);
> > +			env_set(ctx_uboot, "ethaddr", mac_string);
> >  		else {
> >  			sprintf(env_string, "eth%daddr", i);
> > -			env_set(env_string, mac_string);
> > +			env_set(ctx_uboot, env_string, mac_string);
> >  		}
> >  		set_mac_to_sh_giga_eth_register(i, mac_string);
> >  	}
> > diff --git a/board/renesas/sh7753evb/sh7753evb.c
> > b/board/renesas/sh7753evb/sh7753evb.c index
> > e1bed7dcc371..3ec2591cb7ed 100644 ---
> > a/board/renesas/sh7753evb/sh7753evb.c +++
> > b/board/renesas/sh7753evb/sh7753evb.c @@ -239,10 +239,10 @@ static
> > void init_ethernet_mac(void) for (i = 0; i <
> > SH7753EVB_ETHERNET_NUM_CH; i++) { get_sh_eth_mac(i, mac_string, buf);
> >  		if (i == 0)
> > -			env_set("ethaddr", mac_string);
> > +			env_set(ctx_uboot, "ethaddr", mac_string);
> >  		else {
> >  			sprintf(env_string, "eth%daddr", i);
> > -			env_set(env_string, mac_string);
> > +			env_set(ctx_uboot, env_string, mac_string);
> >  		}
> >  		set_mac_to_sh_giga_eth_register(i, mac_string);
> >  	}
> > diff --git a/board/renesas/sh7757lcr/sh7757lcr.c
> > b/board/renesas/sh7757lcr/sh7757lcr.c index
> > d2671202e981..4b06387d5f22 100644 ---
> > a/board/renesas/sh7757lcr/sh7757lcr.c +++
> > b/board/renesas/sh7757lcr/sh7757lcr.c @@ -285,10 +285,10 @@ static
> > void init_ethernet_mac(void) for (i = 0; i <
> > SH7757LCR_ETHERNET_NUM_CH; i++) { get_sh_eth_mac(i, mac_string, buf);
> >  		if (i == 0)
> > -			env_set("ethaddr", mac_string);
> > +			env_set(ctx_uboot, "ethaddr", mac_string);
> >  		else {
> >  			sprintf(env_string, "eth%daddr", i);
> > -			env_set(env_string, mac_string);
> > +			env_set(ctx_uboot, env_string, mac_string);
> >  		}
> >  
> >  		set_mac_to_sh_eth_register(i, mac_string);
> > @@ -298,7 +298,7 @@ static void init_ethernet_mac(void)
> >  	for (i = 0; i < SH7757LCR_GIGA_ETHERNET_NUM_CH; i++) {
> >  		get_sh_eth_mac(i + SH7757LCR_ETHERNET_NUM_CH,
> > mac_string, buf); sprintf(env_string, "eth%daddr", i +
> > SH7757LCR_ETHERNET_NUM_CH);
> > -		env_set(env_string, mac_string);
> > +		env_set(ctx_uboot, env_string, mac_string);
> >  
> >  		set_mac_to_sh_giga_eth_register(i, mac_string);
> >  	}
> > diff --git a/board/renesas/silk/silk.c b/board/renesas/silk/silk.c
> > index 25221e3c55cc..946232e3ba7b 100644
> > --- a/board/renesas/silk/silk.c
> > +++ b/board/renesas/silk/silk.c
> > @@ -129,7 +129,8 @@ void reset_cpu(ulong addr)
> >  		hang();
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	const u32 load_magic = 0xb33fc0de;
> >  
> > diff --git a/board/renesas/stout/stout.c b/board/renesas/stout/stout.c
> > index 0a0ff5ff76d2..d0b20f3c5902 100644
> > --- a/board/renesas/stout/stout.c
> > +++ b/board/renesas/stout/stout.c
> > @@ -125,7 +125,8 @@ int board_phy_config(struct phy_device *phydev)
> >  	return 0;
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	const u32 load_magic = 0xb33fc0de;
> >  
> > diff --git a/board/rockchip/kylin_rk3036/kylin_rk3036.c
> > b/board/rockchip/kylin_rk3036/kylin_rk3036.c index
> > 2faeab9baf51..6481f6c11633 100644 ---
> > a/board/rockchip/kylin_rk3036/kylin_rk3036.c +++
> > b/board/rockchip/kylin_rk3036/kylin_rk3036.c @@ -41,7 +41,7 @@ int
> > rk_board_late_init(void) {
> >  	if (fastboot_key_pressed()) {
> >  		printf("enter fastboot!\n");
> > -		env_set("preboot", "setenv preboot; fastboot usb0");
> > +		env_set(ctx_uboot, "preboot", "setenv preboot;
> > fastboot usb0"); }
> >  
> >  	return 0;
> > diff --git a/board/samsung/common/exynos5-dt.c
> > b/board/samsung/common/exynos5-dt.c index 387d1b91809c..1c44effe7224
> > 100644 --- a/board/samsung/common/exynos5-dt.c
> > +++ b/board/samsung/common/exynos5-dt.c
> > @@ -154,7 +154,7 @@ char *get_dfu_alt_system(char *interface, char
> > *devstr) if (board_is_odroidxu4() || board_is_odroidhc1() ||
> > board_is_odroidhc2()) return info;
> >  
> > -	return env_get("dfu_alt_system");
> > +	return env_get(ctx_uboot, "dfu_alt_system");
> >  }
> >  
> >  char *get_dfu_alt_boot(char *interface, char *devstr)
> > diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
> > index 3ef1e7998013..3086df745fe5 100644
> > --- a/board/samsung/common/misc.c
> > +++ b/board/samsung/common/misc.c
> > @@ -51,7 +51,7 @@ void set_dfu_alt_info(char *interface, char *devstr)
> >  
> >  	alt_setting = get_dfu_alt_boot(interface, devstr);
> >  	if (alt_setting) {
> > -		env_set("dfu_alt_boot", alt_setting);
> > +		env_set(ctx_uboot, "dfu_alt_boot", alt_setting);
> >  		offset = snprintf(buf, buf_size, "%s", alt_setting);
> >  	}
> >  
> > @@ -71,7 +71,7 @@ void set_dfu_alt_info(char *interface, char *devstr)
> >  		status = "done\n";
> >  	}
> >  
> > -	env_set("dfu_alt_info", alt_info);
> > +	env_set(ctx_uboot, "dfu_alt_info", alt_info);
> >  	puts(status);
> >  }
> >  #endif
> > @@ -83,14 +83,14 @@ void set_board_info(void)
> >  
> >  	snprintf(info, ARRAY_SIZE(info), "%u.%u", (s5p_cpu_rev &
> > 0xf0) >> 4, s5p_cpu_rev & 0xf);
> > -	env_set("soc_rev", info);
> > +	env_set(ctx_uboot, "soc_rev", info);
> >  
> >  	snprintf(info, ARRAY_SIZE(info), "%x", s5p_cpu_id);
> > -	env_set("soc_id", info);
> > +	env_set(ctx_uboot, "soc_id", info);
> >  
> >  #ifdef CONFIG_REVISION_TAG
> >  	snprintf(info, ARRAY_SIZE(info), "%x", get_board_rev());
> > -	env_set("board_rev", info);
> > +	env_set(ctx_uboot, "board_rev", info);
> >  #endif
> >  #ifdef CONFIG_OF_LIBFDT
> >  	const char *bdtype = "";
> > @@ -102,11 +102,11 @@ void set_board_info(void)
> >  		bdtype = "";
> >  
> >  	sprintf(info, "%s%s", bdname, bdtype);
> > -	env_set("board_name", info);
> > +	env_set(ctx_uboot, "board_name", info);
> >  #endif
> >  	snprintf(info, ARRAY_SIZE(info),  "%s%x-%s%s.dtb",
> >  		 CONFIG_SYS_SOC, s5p_cpu_id, bdname, bdtype);
> > -	env_set("fdtfile", info);
> > +	env_set(ctx_uboot, "fdtfile", info);
> >  #endif
> >  }
> >  #endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */
> > diff --git a/board/samsung/odroid/odroid.c
> > b/board/samsung/odroid/odroid.c index 9aa97f0f2cad..472dce81f680
> > 100644 --- a/board/samsung/odroid/odroid.c
> > +++ b/board/samsung/odroid/odroid.c
> > @@ -74,7 +74,7 @@ const char *get_board_type(void)
> >  #ifdef CONFIG_SET_DFU_ALT_INFO
> >  char *get_dfu_alt_system(char *interface, char *devstr)
> >  {
> > -	return env_get("dfu_alt_system");
> > +	return env_get(ctx_uboot, "dfu_alt_system");
> >  }
> >  
> >  char *get_dfu_alt_boot(char *interface, char *devstr)
> > diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c
> > index ec85f707c19a..d4540a2ac932 100644
> > --- a/board/samsung/trats/trats.c
> > +++ b/board/samsung/trats/trats.c
> > @@ -467,7 +467,7 @@ void exynos_lcd_misc_init(vidinfo_t *vid)
> >  #endif
> >  #ifdef CONFIG_S6E8AX0
> >  	s6e8ax0_init();
> > -	env_set("lcdinfo", "lcd=s6e8ax0");
> > +	env_set(ctx_uboot, "lcdinfo", "lcd=s6e8ax0");
> >  #endif
> >  }
> >  #endif
> > diff --git a/board/samsung/universal_c210/universal.c
> > b/board/samsung/universal_c210/universal.c index
> > ed9c5b50d927..9fea29e965bd 100644 ---
> > a/board/samsung/universal_c210/universal.c +++
> > b/board/samsung/universal_c210/universal.c @@ -397,6 +397,6 @@ void
> > exynos_lcd_misc_init(vidinfo_t *vid) vid->pclk_name = 1;	/*
> > MPLL */ vid->sclk_div = 1;
> >  
> > -	env_set("lcdinfo", "lcd=ld9040");
> > +	env_set(ctx_uboot, "lcdinfo", "lcd=ld9040");
> >  }
> >  #endif
> > diff --git a/board/samtec/vining_fpga/socfpga.c
> > b/board/samtec/vining_fpga/socfpga.c index 1e095a4e7db0..75ddbcf07fa7
> > 100644 --- a/board/samtec/vining_fpga/socfpga.c
> > +++ b/board/samtec/vining_fpga/socfpga.c
> > @@ -62,30 +62,30 @@ int misc_init_r(void)
> >  	/* Check EEPROM signature. */
> >  	if (!(data[0] == 0xa5 && data[1] == 0x5a)) {
> >  		puts("Invalid I2C EEPROM signature.\n");
> > -		env_set("unit_serial", "invalid");
> > -		env_set("unit_ident", "VINing-xxxx-STD");
> > -		env_set("hostname", "vining-invalid");
> > +		env_set(ctx_uboot, "unit_serial", "invalid");
> > +		env_set(ctx_uboot, "unit_ident", "VINing-xxxx-STD");
> > +		env_set(ctx_uboot, "hostname", "vining-invalid");
> >  		return 0;
> >  	}
> >  
> >  	/* If 'unit_serial' is already set, do nothing. */
> > -	if (!env_get("unit_serial")) {
> > +	if (!env_get(ctx_uboot, "unit_serial")) {
> >  		/* This field is Big Endian ! */
> >  		serial = (data[0x54] << 24) | (data[0x55] << 16) |
> >  			 (data[0x56] << 8) | (data[0x57] << 0);
> >  		memset(str, 0, sizeof(str));
> >  		sprintf(str, "%07i", serial);
> > -		env_set("unit_serial", str);
> > +		env_set(ctx_uboot, "unit_serial", str);
> >  	}
> >  
> > -	if (!env_get("unit_ident")) {
> > +	if (!env_get(ctx_uboot, "unit_ident")) {
> >  		memset(str, 0, sizeof(str));
> >  		memcpy(str, &data[0x2e], 18);
> > -		env_set("unit_ident", str);
> > +		env_set(ctx_uboot, "unit_ident", str);
> >  	}
> >  
> >  	/* Set ethernet address from EEPROM. */
> > -	if (!env_get("ethaddr") && is_valid_ethaddr(&data[0x62]))
> > +	if (!env_get(ctx_uboot, "ethaddr") &&
> > is_valid_ethaddr(&data[0x62])) eth_env_set_enetaddr("ethaddr",
> > &data[0x62]); 
> >  	return 0;
> > diff --git a/board/siemens/common/board.c
> > b/board/siemens/common/board.c index 676935a84321..63dcf2b83132 100644
> > --- a/board/siemens/common/board.c
> > +++ b/board/siemens/common/board.c
> > @@ -121,7 +121,7 @@ unsigned char get_button_state(char * const
> > envname, unsigned char def) char *ptr_env;
> >  
> >  	/* If button is not found we take default */
> > -	ptr_env = env_get(envname);
> > +	ptr_env = env_get(ctx_uboot, envname);
> >  	if (NULL == ptr_env) {
> >  		gpio = def;
> >  	} else {
> > @@ -199,7 +199,7 @@ void set_env_gpios(unsigned char state)
> >  		strcat(str_tmp, num);
> >  
> >  		/* If env var is not found we stop */
> > -		ptr_env = env_get(str_tmp);
> > +		ptr_env = env_get(ctx_uboot, str_tmp);
> >  		if (NULL == ptr_env)
> >  			break;
> >  
> > diff --git a/board/siemens/draco/board.c b/board/siemens/draco/board.c
> > index a6840b895b27..9cb1b1301855 100644
> > --- a/board/siemens/draco/board.c
> > +++ b/board/siemens/draco/board.c
> > @@ -270,13 +270,13 @@ int board_late_init(void)
> >  #ifdef CONFIG_FACTORYSET
> >  	/* Set ASN in environment*/
> >  	if (factory_dat.asn[0] != 0) {
> > -		env_set("dtb_name", (char *)factory_dat.asn);
> > +		env_set(ctx_uboot, "dtb_name", (char
> > *)factory_dat.asn); } else {
> >  		/* dtb suffix gets added in load script */
> > -		env_set("dtb_name", "am335x-draco");
> > +		env_set(ctx_uboot, "dtb_name", "am335x-draco");
> >  	}
> >  #else
> > -	env_set("dtb_name", "am335x-draco");
> > +	env_set(ctx_uboot, "dtb_name", "am335x-draco");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/siemens/pxm2/board.c b/board/siemens/pxm2/board.c
> > index 30f0902701ee..e57ab33da88b 100644
> > --- a/board/siemens/pxm2/board.c
> > +++ b/board/siemens/pxm2/board.c
> > @@ -444,12 +444,12 @@ int board_late_init(void)
> >  			factory_dat.pxm50 = 0;
> >  		sprintf(tmp, "%s_%s", factory_dat.asn,
> >  			factory_dat.comp_version);
> > -		ret = env_set("boardid", tmp);
> > +		ret = env_set(ctx_uboot, "boardid", tmp);
> >  		if (ret)
> >  			printf("error setting board id\n");
> >  	} else {
> >  		factory_dat.pxm50 = 1;
> > -		ret = env_set("boardid", "PXM50_1.0");
> > +		ret = env_set(ctx_uboot, "boardid", "PXM50_1.0");
> >  		if (ret)
> >  			printf("error setting board id\n");
> >  	}
> > diff --git a/board/siemens/rut/board.c b/board/siemens/rut/board.c
> > index 539ecef22cb4..809cea42f86b 100644
> > --- a/board/siemens/rut/board.c
> > +++ b/board/siemens/rut/board.c
> > @@ -480,7 +480,7 @@ int board_late_init(void)
> >  	else
> >  		strcpy(tmp, "QMX7.E38_4.0");
> >  
> > -	ret = env_set("boardid", tmp);
> > +	ret = env_set(ctx_uboot, "boardid", tmp);
> >  	if (ret)
> >  		printf("error setting board id\n");
> >  
> > diff --git a/board/siemens/taurus/taurus.c
> > b/board/siemens/taurus/taurus.c index 1cf1f9e1f7ca..980d773a77bb
> > 100644 --- a/board/siemens/taurus/taurus.c
> > +++ b/board/siemens/taurus/taurus.c
> > @@ -350,36 +350,36 @@ static int upgrade_failure_fallback(void)
> >  	char *kern_size;
> >  	char *kern_size_fb;
> >  
> > -	partitionset_active = env_get("partitionset_active");
> > +	partitionset_active = env_get(ctx_uboot,
> > "partitionset_active"); if (partitionset_active) {
> >  		if (partitionset_active[0] == 'A')
> > -			env_set("partitionset_active", "B");
> > +			env_set(ctx_uboot, "partitionset_active",
> > "B"); else
> > -			env_set("partitionset_active", "A");
> > +			env_set(ctx_uboot, "partitionset_active",
> > "A"); } else {
> >  		printf("partitionset_active missing.\n");
> >  		return -ENOENT;
> >  	}
> >  
> > -	rootfs = env_get("rootfs");
> > -	rootfs_fallback = env_get("rootfs_fallback");
> > -	env_set("rootfs", rootfs_fallback);
> > -	env_set("rootfs_fallback", rootfs);
> > +	rootfs = env_get(ctx_uboot, "rootfs");
> > +	rootfs_fallback = env_get(ctx_uboot, "rootfs_fallback");
> > +	env_set(ctx_uboot, "rootfs", rootfs_fallback);
> > +	env_set(ctx_uboot, "rootfs_fallback", rootfs);
> >  
> > -	kern_size = env_get("kernel_size");
> > -	kern_size_fb = env_get("kernel_size_fallback");
> > -	env_set("kernel_size", kern_size_fb);
> > -	env_set("kernel_size_fallback", kern_size);
> > +	kern_size = env_get(ctx_uboot, "kernel_size");
> > +	kern_size_fb = env_get(ctx_uboot, "kernel_size_fallback");
> > +	env_set(ctx_uboot, "kernel_size", kern_size_fb);
> > +	env_set(ctx_uboot, "kernel_size_fallback", kern_size);
> >  
> > -	kern_off = env_get("kernel_Off");
> > -	kern_off_fb = env_get("kernel_Off_fallback");
> > -	env_set("kernel_Off", kern_off_fb);
> > -	env_set("kernel_Off_fallback", kern_off);
> > +	kern_off = env_get(ctx_uboot, "kernel_Off");
> > +	kern_off_fb = env_get(ctx_uboot, "kernel_Off_fallback");
> > +	env_set(ctx_uboot, "kernel_Off", kern_off_fb);
> > +	env_set(ctx_uboot, "kernel_Off_fallback", kern_off);
> >  
> > -	env_set("bootargs", '\0');
> > -	env_set("upgrade_available", '\0');
> > -	env_set("boot_retries", '\0');
> > -	env_save();
> > +	env_set(ctx_uboot, "bootargs", '\0');
> > +	env_set(ctx_uboot, "upgrade_available", '\0');
> > +	env_set(ctx_uboot, "boot_retries", '\0');
> > +	env_save(ctx_uboot);
> >  
> >  	return 0;
> >  }
> > @@ -391,14 +391,16 @@ static int do_upgrade_available(cmd_tbl_t
> > *cmdtp, int flag, int argc, unsigned long boot_retry = 0;
> >  	char boot_buf[10];
> >  
> > -	upgrade_available =
> > simple_strtoul(env_get("upgrade_available"), NULL,
> > -					   10);
> > +	upgrade_available = simple_strtoul(env_get(ctx_uboot,
> > +
> > "upgrade_available"),
> > +					   NULL, 10);
> >  	if (upgrade_available) {
> > -		boot_retry = simple_strtoul(env_get("boot_retries"),
> > NULL, 10);
> > +		boot_retry = simple_strtoul(env_get(ctx_uboot,
> > "boot_retries"),
> > +					    NULL, 10);
> >  		boot_retry++;
> >  		sprintf(boot_buf, "%lx", boot_retry);
> > -		env_set("boot_retries", boot_buf);
> > -		env_save();
> > +		env_set(ctx_uboot, "boot_retries", boot_buf);
> > +		env_save(ctx_uboot);
> >  
> >  		/*
> >  		 * Here the boot_retries count is checked, and if the
> > diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
> > index da9ae5bebb7e..277f9e107080 100644
> > --- a/board/socrates/socrates.c
> > +++ b/board/socrates/socrates.c
> > @@ -38,7 +38,7 @@ int checkboard (void)
> >  	volatile ccsr_gur_t *gur = (void
> > *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); char buf[64];
> >  	int f;
> > -	int i = env_get_f("serial#", buf, sizeof(buf));
> > +	int i = env_get_f("serial#", buf, sizeof(ctx_uboot, buf));
> >  #ifdef CONFIG_PCI
> >  	char *src;
> >  #endif
> > @@ -409,7 +409,7 @@ void board_backlight_switch (int flag)
> >  		printf ("hwmon IC init failed\n");
> >  
> >  	if (flag) {
> > -		param = env_get("brightness");
> > +		param = env_get(ctx_uboot, "brightness");
> >  		rc = param ? simple_strtol(param, NULL, 10) : -1;
> >  		if (rc < 0)
> >  			rc = DEFAULT_BRIGHTNESS;
> > diff --git a/board/softing/vining_2000/vining_2000.c
> > b/board/softing/vining_2000/vining_2000.c index
> > 51985b91c226..5d4d0f29c44f 100644 ---
> > a/board/softing/vining_2000/vining_2000.c +++
> > b/board/softing/vining_2000/vining_2000.c @@ -102,7 +102,7 @@ int
> > board_eth_init(bd_t *bis) 
> >  	/* just to get secound mac address */
> >  	imx_get_mac_from_fuse(1, eth1addr);
> > -	if (!env_get("eth1addr") && is_valid_ethaddr(eth1addr))
> > +	if (!env_get(ctx_uboot, "eth1addr") &&
> > is_valid_ethaddr(eth1addr)) eth_env_set_enetaddr("eth1addr",
> > eth1addr); 
> >  	imx_iomux_v3_setup_multiple_pads(fec1_pads,
> > ARRAY_SIZE(fec1_pads)); @@ -385,11 +385,11 @@ static int
> > set_pin_state(void) return ret;
> >  
> >  	if (val >= VAL_UPPER)
> > -		env_set("pin_state", "connected");
> > +		env_set(ctx_uboot, "pin_state", "connected");
> >  	else if (val < VAL_UPPER && val > VAL_LOWER)
> > -		env_set("pin_state", "open");
> > +		env_set(ctx_uboot, "pin_state", "open");
> >  	else
> > -		env_set("pin_state", "button");
> > +		env_set(ctx_uboot, "pin_state", "button");
> >  
> >  	return ret;
> >  }
> > diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c
> > b/board/solidrun/mx6cuboxi/mx6cuboxi.c index
> > f82fb0786a94..52177b918d83 100644 ---
> > a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++
> > b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -569,29 +569,29 @@ int
> > board_late_init(void) #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  	switch (board_type()) {
> >  	case CUBOXI:
> > -		env_set("board_name", "CUBOXI");
> > +		env_set(ctx_uboot, "board_name", "CUBOXI");
> >  		break;
> >  	case HUMMINGBOARD:
> > -		env_set("board_name", "HUMMINGBOARD");
> > +		env_set(ctx_uboot, "board_name", "HUMMINGBOARD");
> >  		break;
> >  	case HUMMINGBOARD2:
> > -		env_set("board_name", "HUMMINGBOARD2");
> > +		env_set(ctx_uboot, "board_name", "HUMMINGBOARD2");
> >  		break;
> >  	case UNKNOWN:
> >  	default:
> > -		env_set("board_name", "CUBOXI");
> > +		env_set(ctx_uboot, "board_name", "CUBOXI");
> >  	}
> >  
> >  	if (is_mx6dq())
> > -		env_set("board_rev", "MX6Q");
> > +		env_set(ctx_uboot, "board_rev", "MX6Q");
> >  	else
> > -		env_set("board_rev", "MX6DL");
> > +		env_set(ctx_uboot, "board_rev", "MX6DL");
> >  
> >  	if (is_rev_15_som())
> > -		env_set("som_rev", "V15");
> > +		env_set(ctx_uboot, "som_rev", "V15");
> >  
> >  	if (has_emmc())
> > -		env_set("has_emmc", "yes");
> > +		env_set(ctx_uboot, "has_emmc", "yes");
> >  
> >  #endif
> >  
> > diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c
> > b/board/st/stm32f429-discovery/stm32f429-discovery.c index
> > 500dc5fe3a6b..3ae0c17d7720 100644 ---
> > a/board/st/stm32f429-discovery/stm32f429-discovery.c +++
> > b/board/st/stm32f429-discovery/stm32f429-discovery.c @@ -65,13 +65,13
> > @@ int misc_init_r(void) char serialno[25];
> >  	uint32_t u_id_low, u_id_mid, u_id_high;
> >  
> > -	if (!env_get("serial#")) {
> > +	if (!env_get(ctx_uboot, "serial#")) {
> >  		u_id_low  = readl(&STM32_U_ID->u_id_low);
> >  		u_id_mid  = readl(&STM32_U_ID->u_id_mid);
> >  		u_id_high = readl(&STM32_U_ID->u_id_high);
> >  		sprintf(serialno, "%08x%08x%08x",
> >  			u_id_high, u_id_mid, u_id_low);
> > -		env_set("serial#", serialno);
> > +		env_set(ctx_uboot, "serial#", serialno);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c
> > b/board/st/stm32f429-evaluation/stm32f429-evaluation.c index
> > 8ab2fa5d59ab..3a1c578cdad8 100644 ---
> > a/board/st/stm32f429-evaluation/stm32f429-evaluation.c +++
> > b/board/st/stm32f429-evaluation/stm32f429-evaluation.c @@ -59,13
> > +59,13 @@ int misc_init_r(void) char serialno[25];
> >  	u32 u_id_low, u_id_mid, u_id_high;
> >  
> > -	if (!env_get("serial#")) {
> > +	if (!env_get(ctx_uboot, "serial#")) {
> >  		u_id_low  = readl(&STM32_U_ID->u_id_low);
> >  		u_id_mid  = readl(&STM32_U_ID->u_id_mid);
> >  		u_id_high = readl(&STM32_U_ID->u_id_high);
> >  		sprintf(serialno, "%08x%08x%08x",
> >  			u_id_high, u_id_mid, u_id_low);
> > -		env_set("serial#", serialno);
> > +		env_set(ctx_uboot, "serial#", serialno);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c
> > b/board/st/stm32f469-discovery/stm32f469-discovery.c index
> > 70d23d90f4ca..e475296919e0 100644 ---
> > a/board/st/stm32f469-discovery/stm32f469-discovery.c +++
> > b/board/st/stm32f469-discovery/stm32f469-discovery.c @@ -59,13 +59,13
> > @@ int misc_init_r(void) char serialno[25];
> >  	u32 u_id_low, u_id_mid, u_id_high;
> >  
> > -	if (!env_get("serial#")) {
> > +	if (!env_get(ctx_uboot, "serial#")) {
> >  		u_id_low  = readl(&STM32_U_ID->u_id_low);
> >  		u_id_mid  = readl(&STM32_U_ID->u_id_mid);
> >  		u_id_high = readl(&STM32_U_ID->u_id_high);
> >  		sprintf(serialno, "%08x%08x%08x",
> >  			u_id_high, u_id_mid, u_id_low);
> > -		env_set("serial#", serialno);
> > +		env_set(ctx_uboot, "serial#", serialno);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/st/stm32mp1/stm32mp1.c
> > b/board/st/stm32mp1/stm32mp1.c index 279c7b779799..188f4a7eae12 100644
> > --- a/board/st/stm32mp1/stm32mp1.c
> > +++ b/board/st/stm32mp1/stm32mp1.c
> > @@ -544,9 +544,9 @@ int board_late_init(void)
> >  				 &fdt_compat_len);
> >  	if (fdt_compat && fdt_compat_len) {
> >  		if (strncmp(fdt_compat, "st,", 3) != 0)
> > -			env_set("board_name", fdt_compat);
> > +			env_set(ctx_uboot, "board_name", fdt_compat);
> >  		else
> > -			env_set("board_name", fdt_compat + 3);
> > +			env_set(ctx_uboot, "board_name", fdt_compat
> > + 3); }
> >  #endif
> >  
> > @@ -623,7 +623,8 @@ int board_interface_eth_init(phy_interface_t
> > interface_type, return 0;
> >  }
> >  
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	u32 bootmode = get_bootmode();
> >  
> > @@ -688,8 +689,8 @@ const char *env_ext4_get_dev_part(void)
> >  static const char *env_get_mtdparts(const char *str, char *buf)
> >  {
> >  	if (gd->flags & GD_FLG_ENV_READY)
> > -		return env_get(str);
> > -	if (env_get_f(str, buf, MTDPARTS_LEN) != -1)
> > +		return env_get(ctx_uboot, str);
> > +	if (env_get_f(ctx_uboot, str, buf, MTDPARTS_LEN) != -1)
> >  		return buf;
> >  
> >  	return NULL;
> > diff --git a/board/sunxi/board.c b/board/sunxi/board.c
> > index e3b2d13892c8..d5f172eb8082 100644
> > --- a/board/sunxi/board.c
> > +++ b/board/sunxi/board.c
> > @@ -194,7 +194,8 @@ void i2c_init_board(void)
> >  }
> >  
> >  #if defined(CONFIG_ENV_IS_IN_MMC) && defined(CONFIG_ENV_IS_IN_FAT)
> > -enum env_location env_get_location(enum env_operation op, int prio)
> > +enum env_location env_get_location(struct env_context *ctx,
> > +				   enum env_operation op, int prio)
> >  {
> >  	switch (prio) {
> >  	case 0:
> > @@ -725,7 +726,7 @@ void get_board_serial(struct tag_serialnr
> > *serialnr) char *serial_string;
> >  	unsigned long long serial;
> >  
> > -	serial_string = env_get("serial#");
> > +	serial_string = env_get(ctx_uboot, "serial#");
> >  
> >  	if (serial_string) {
> >  		serial = simple_strtoull(serial_string, NULL, 16);
> > @@ -764,7 +765,7 @@ static void parse_spl_header(const uint32_t
> > spl_addr) return;
> >  	}
> >  	/* otherwise assume .scr format (mkimage-type script) */
> > -	env_set_hex("fel_scriptaddr", spl->fel_script_address);
> > +	env_set_hex(ctx_uboot, "fel_scriptaddr",
> > spl->fel_script_address); }
> >  
> >  /*
> > @@ -812,7 +813,7 @@ static void setup_environment(const void *fdt)
> >  			else
> >  				sprintf(ethaddr, "eth%daddr", i);
> >  
> > -			if (env_get(ethaddr))
> > +			if (env_get(ctx_uboot, ethaddr))
> >  				continue;
> >  
> >  			/* Non OUI / registered MAC address */
> > @@ -826,11 +827,11 @@ static void setup_environment(const void *fdt)
> >  			eth_env_set_enetaddr(ethaddr, mac_addr);
> >  		}
> >  
> > -		if (!env_get("serial#")) {
> > +		if (!env_get(ctx_uboot, "serial#")) {
> >  			snprintf(serial_string,
> > sizeof(serial_string), "%08x%08x", sid[0], sid[3]);
> >  
> > -			env_set("serial#", serial_string);
> > +			env_set(ctx_uboot, "serial#", serial_string);
> >  		}
> >  	}
> >  }
> > @@ -839,20 +840,20 @@ int misc_init_r(void)
> >  {
> >  	uint boot;
> >  
> > -	env_set("fel_booted", NULL);
> > -	env_set("fel_scriptaddr", NULL);
> > -	env_set("mmc_bootdev", NULL);
> > +	env_set(ctx_uboot, "fel_booted", NULL);
> > +	env_set(ctx_uboot, "fel_scriptaddr", NULL);
> > +	env_set(ctx_uboot, "mmc_bootdev", NULL);
> >  
> >  	boot = sunxi_get_boot_device();
> >  	/* determine if we are running in FEL mode */
> >  	if (boot == BOOT_DEVICE_BOARD) {
> > -		env_set("fel_booted", "1");
> > +		env_set(ctx_uboot, "fel_booted", "1");
> >  		parse_spl_header(SPL_ADDR);
> >  	/* or if we booted from MMC, and which one */
> >  	} else if (boot == BOOT_DEVICE_MMC1) {
> > -		env_set("mmc_bootdev", "0");
> > +		env_set(ctx_uboot, "mmc_bootdev", "0");
> >  	} else if (boot == BOOT_DEVICE_MMC2) {
> > -		env_set("mmc_bootdev", "1");
> > +		env_set(ctx_uboot, "mmc_bootdev", "1");
> >  	}
> >  
> >  	setup_environment(gd->fdt_blob);
> > diff --git a/board/synopsys/hsdk/env-lib.c
> > b/board/synopsys/hsdk/env-lib.c index f443c21e6d99..eca2211246b4
> > 100644 --- a/board/synopsys/hsdk/env-lib.c
> > +++ b/board/synopsys/hsdk/env-lib.c
> > @@ -21,10 +21,12 @@ static int env_read_common(u32 index, const
> > struct env_map_common *map) 
> >  	if (!env_get_yesno(map[index].env_name)) {
> >  		if (map[index].type == ENV_HEX) {
> > -			val = (u32)env_get_hex(map[index].env_name,
> > 0);
> > +			val = (u32)env_get_hex(ctx_uboot,
> > map[index].env_name,
> > +					       0);
> >  			debug("ENV: %s: = %#x\n",
> > map[index].env_name, val); } else {
> > -			val =
> > (u32)env_get_ulong(map[index].env_name, 10, 0);
> > +			val = (u32)env_get_ulong(ctx_uboot,
> > +
> > map[index].env_name, 10, 0); debug("ENV: %s: = %d\n",
> > map[index].env_name, val); }
> >  
> > @@ -52,10 +54,11 @@ static int env_read_core(u32 index, const struct
> > env_map_percpu *map) sprintf(command, "%s_%u", map[index].env_name,
> > i); if (!env_get_yesno(command)) {
> >  			if (map[index].type == ENV_HEX) {
> > -				val = (u32)env_get_hex(command, 0);
> > +				val = (u32)env_get_hex(ctx_uboot,
> > command, 0); debug("ENV: %s: = %#x\n", command, val);
> >  			} else {
> > -				val = (u32)env_get_ulong(command,
> > 10, 0);
> > +				val = (u32)env_get_ulong(ctx_uboot,
> > command,
> > +							 10, 0);
> >  				debug("ENV: %s: = %d\n", command,
> > val); }
> >  
> > diff --git a/board/synopsys/hsdk/hsdk.c b/board/synopsys/hsdk/hsdk.c
> > index 8a7642a0aaaa..ab97b97bcde3 100644
> > --- a/board/synopsys/hsdk/hsdk.c
> > +++ b/board/synopsys/hsdk/hsdk.c
> > @@ -854,19 +854,19 @@ static int do_hsdk_clock_get(cmd_tbl_t *cmdtp,
> > int flag, int argc, if (soc_clk_ctl("cpu-clk", &rate, CLK_GET |
> > CLK_MHZ)) return CMD_RET_FAILURE;
> >  
> > -	if (env_set_ulong("cpu_freq", rate))
> > +	if (env_set_ulong(ctx_uboot, "cpu_freq", rate))
> >  		return CMD_RET_FAILURE;
> >  
> >  	if (soc_clk_ctl("tun-clk", &rate, CLK_GET | CLK_MHZ))
> >  		return CMD_RET_FAILURE;
> >  
> > -	if (env_set_ulong("tun_freq", rate))
> > +	if (env_set_ulong(ctx_uboot, "tun_freq", rate))
> >  		return CMD_RET_FAILURE;
> >  
> >  	if (soc_clk_ctl("axi-clk", &rate, CLK_GET | CLK_MHZ))
> >  		return CMD_RET_FAILURE;
> >  
> > -	if (env_set_ulong("axi_freq", rate))
> > +	if (env_set_ulong(ctx_uboot, "axi_freq", rate))
> >  		return CMD_RET_FAILURE;
> >  
> >  	printf("Clock values are saved to environment\n");
> > diff --git a/board/syteco/zmx25/zmx25.c b/board/syteco/zmx25/zmx25.c
> > index d2318457b431..c49ac35c2933 100644
> > --- a/board/syteco/zmx25/zmx25.c
> > +++ b/board/syteco/zmx25/zmx25.c
> > @@ -145,7 +145,7 @@ int board_late_init(void)
> >  	udelay(5000);
> >  #endif
> >  
> > -	e = env_get("gs_base_board");
> > +	e = env_get(ctx_uboot, "gs_base_board");
> >  	if (e != NULL) {
> >  		if (strcmp(e, "G283") == 0) {
> >  			int key = gpio_get_value(IMX_GPIO_NR(2, 29));
> > @@ -155,9 +155,11 @@ int board_late_init(void)
> >  				gpio_set_value(IMX_GPIO_NR(1, 29),
> > 0); gpio_set_value(IMX_GPIO_NR(4, 21), 0);
> >  
> > -				env_set("preboot", "run
> > gs_slow_boot");
> > +				env_set(ctx_uboot, "preboot",
> > +					"run gs_slow_boot");
> >  			} else
> > -				env_set("preboot", "run
> > gs_fast_boot");
> > +				env_set(ctx_uboot, "preboot",
> > +					"run gs_fast_boot");
> >  		}
> >  	}
> >  
> > diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c
> > index c7eed319461a..79598cd36a5e 100644
> > --- a/board/tcl/sl50/board.c
> > +++ b/board/tcl/sl50/board.c
> > @@ -75,7 +75,7 @@ int spl_start_uboot(void)
> >  
> >  #ifdef CONFIG_SPL_ENV_SUPPORT
> >  	env_init();
> > -	env_load();
> > +	env_load(ctx_uboot);
> >  	if (env_get_yesno("boot_os") != 1)
> >  		return 1;
> >  #endif
> > @@ -321,7 +321,7 @@ int board_eth_init(bd_t *bis)
> >  
> >  #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD))
> > || \ (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD))
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		printf("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); 
> >  		if (is_valid_ethaddr(mac_addr))
> > @@ -339,7 +339,7 @@ int board_eth_init(bd_t *bis)
> >  	mac_addr[4] = mac_lo & 0xFF;
> >  	mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> >  
> > -	if (!env_get("eth1addr")) {
> > +	if (!env_get(ctx_uboot, "eth1addr")) {
> >  		if (is_valid_ethaddr(mac_addr))
> >  			eth_env_set_enetaddr("eth1addr", mac_addr);
> >  	}
> > diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c
> > b/board/theobroma-systems/puma_rk3399/puma-rk3399.c index
> > 47259b714961..d0150a127dd6 100644 ---
> > a/board/theobroma-systems/puma_rk3399/puma-rk3399.c +++
> > b/board/theobroma-systems/puma_rk3399/puma-rk3399.c @@ -58,8 +58,8 @@
> > static int setup_boottargets(void) }
> >  	debug("%s: booted from %s\n", __func__, boot_device);
> >  
> > -	env_default = env_get_default("boot_targets");
> > -	env = env_get("boot_targets");
> > +	env_default = env_get_default(ctx_uboot, "boot_targets");
> > +	env = env_get(ctx_uboot, "boot_targets");
> >  	if (!env) {
> >  		debug("%s: boot_targets does not exist\n", __func__);
> >  		return -1;
> > @@ -102,7 +102,7 @@ static int setup_boottargets(void)
> >  			mmc0[3] = '1';
> >  			mmc1[3] = '0';
> >  			debug("%s: set boot_targets to: %s\n",
> > __func__, env);
> > -			env_set("boot_targets", env);
> > +			env_set(ctx_uboot, "boot_targets", env);
> >  		}
> >  	}
> >  
> > @@ -140,7 +140,7 @@ void get_board_serial(struct tag_serialnr
> > *serialnr) char *serial_string;
> >  	u64 serial = 0;
> >  
> > -	serial_string = env_get("serial#");
> > +	serial_string = env_get(ctx_uboot, "serial#");
> >  
> >  	if (serial_string)
> >  		serial = simple_strtoull(serial_string, NULL, 16);
> > diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
> > index 7eaa6cd96d60..b1f432332d8c 100644
> > --- a/board/ti/am335x/board.c
> > +++ b/board/ti/am335x/board.c
> > @@ -251,7 +251,7 @@ int spl_start_uboot(void)
> >  
> >  #ifdef CONFIG_SPL_ENV_SUPPORT
> >  	env_init();
> > -	env_load();
> > +	env_load(ctx_uboot);
> >  	if (env_get_yesno("boot_os") != 1)
> >  		return 1;
> >  #endif
> > @@ -825,7 +825,7 @@ int board_late_init(void)
> >  	 * on HS devices.
> >  	 */
> >  	if (get_device_type() == HS_DEVICE)
> > -		env_set("boot_fit", "1");
> > +		env_set(ctx_uboot, "boot_fit", "1");
> >  #endif
> >  
> >  #if !defined(CONFIG_SPL_BUILD)
> > @@ -839,7 +839,7 @@ int board_late_init(void)
> >  	mac_addr[4] = mac_lo & 0xFF;
> >  	mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> >  
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		printf("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); 
> >  		if (is_valid_ethaddr(mac_addr))
> > @@ -855,20 +855,20 @@ int board_late_init(void)
> >  	mac_addr[4] = mac_lo & 0xFF;
> >  	mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> >  
> > -	if (!env_get("eth1addr")) {
> > +	if (!env_get(ctx_uboot, "eth1addr")) {
> >  		if (is_valid_ethaddr(mac_addr))
> >  			eth_env_set_enetaddr("eth1addr", mac_addr);
> >  	}
> >  #endif
> >  
> > -	if (!env_get("serial#")) {
> > -		char *board_serial = env_get("board_serial");
> > -		char *ethaddr = env_get("ethaddr");
> > +	if (!env_get(ctx_uboot, "serial#")) {
> > +		char *board_serial = env_get(ctx_uboot,
> > "board_serial");
> > +		char *ethaddr = env_get(ctx_uboot, "ethaddr");
> >  
> >  		if (!board_serial || !strncmp(board_serial,
> > "unknown", 7))
> > -			env_set("serial#", ethaddr);
> > +			env_set(ctx_uboot, "serial#", ethaddr);
> >  		else
> > -			env_set("serial#", board_serial);
> > +			env_set(ctx_uboot, "serial#", board_serial);
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c
> > index 2e09cc20e8c2..7eb71cd4d8d1 100644
> > --- a/board/ti/am43xx/board.c
> > +++ b/board/ti/am43xx/board.c
> > @@ -728,7 +728,7 @@ int board_late_init(void)
> >  	 * on HS devices.
> >  	 */
> >  	if (get_device_type() == HS_DEVICE)
> > -		env_set("boot_fit", "1");
> > +		env_set(ctx_uboot, "boot_fit", "1");
> >  #endif
> >  
> >  #if CONFIG_IS_ENABLED(DM_USB) && CONFIG_IS_ENABLED(OF_CONTROL)
> > @@ -902,7 +902,7 @@ int board_eth_init(bd_t *bis)
> >  	mac_addr[4] = mac_lo & 0xFF;
> >  	mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> >  
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		puts("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); if (is_valid_ethaddr(mac_addr))
> >  			eth_env_set_enetaddr("ethaddr", mac_addr);
> > @@ -917,7 +917,7 @@ int board_eth_init(bd_t *bis)
> >  	mac_addr[4] = mac_lo & 0xFF;
> >  	mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> >  
> > -	if (!env_get("eth1addr")) {
> > +	if (!env_get(ctx_uboot, "eth1addr")) {
> >  		if (is_valid_ethaddr(mac_addr))
> >  			eth_env_set_enetaddr("eth1addr", mac_addr);
> >  	}
> > diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
> > index f78e6c2e1f6e..222049d541de 100644
> > --- a/board/ti/am57xx/board.c
> > +++ b/board/ti/am57xx/board.c
> > @@ -668,7 +668,7 @@ void am57x_idk_lcd_detect(void)
> >  		/* we will let default be "no lcd" */
> >  	}
> >  out:
> > -	env_set("idk_lcd", idk_lcd);
> > +	env_set(ctx_uboot, "idk_lcd", idk_lcd);
> >  	return;
> >  }
> >  
> > @@ -701,7 +701,7 @@ int board_late_init(void)
> >  	 * on HS devices.
> >  	 */
> >  	if (get_device_type() == HS_DEVICE)
> > -		env_set("boot_fit", "1");
> > +		env_set(ctx_uboot, "boot_fit", "1");
> >  
> >  	/*
> >  	 * Set the GPIO7 Pad to POWERHOLD. This has higher priority
> > @@ -871,7 +871,7 @@ int spl_start_uboot(void)
> >  
> >  #ifdef CONFIG_SPL_ENV_SUPPORT
> >  	env_init();
> > -	env_load();
> > +	env_load(ctx_uboot);
> >  	if (env_get_yesno("boot_os") != 1)
> >  		return 1;
> >  #endif
> > @@ -975,7 +975,7 @@ int board_eth_init(bd_t *bis)
> >  	mac_addr[4] = (mac_lo & 0xFF00) >> 8;
> >  	mac_addr[5] = mac_lo & 0xFF;
> >  
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		printf("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); 
> >  		if (is_valid_ethaddr(mac_addr))
> > @@ -991,7 +991,7 @@ int board_eth_init(bd_t *bis)
> >  	mac_addr[4] = (mac_lo & 0xFF00) >> 8;
> >  	mac_addr[5] = mac_lo & 0xFF;
> >  
> > -	if (!env_get("eth1addr")) {
> > +	if (!env_get(ctx_uboot, "eth1addr")) {
> >  		if (is_valid_ethaddr(mac_addr))
> >  			eth_env_set_enetaddr("eth1addr", mac_addr);
> >  	}
> > @@ -1100,8 +1100,8 @@ int board_fit_config_name_match(const char
> > *name) int fastboot_set_reboot_flag(void)
> >  {
> >  	printf("Setting reboot to fastboot flag ...\n");
> > -	env_set("dofastboot", "1");
> > -	env_save();
> > +	env_set(ctx_uboot, "dofastboot", "1");
> > +	env_save(ctx_uboot);
> >  	return 0;
> >  }
> >  #endif
> > diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
> > index 0138fc91fcbe..7ee36aff7c45 100644
> > --- a/board/ti/beagle/beagle.c
> > +++ b/board/ti/beagle/beagle.c
> > @@ -340,16 +340,16 @@ int misc_init_r(void)
> >  	switch (get_board_revision()) {
> >  	case REVISION_AXBX:
> >  		printf("Beagle Rev Ax/Bx\n");
> > -		env_set("beaglerev", "AxBx");
> > +		env_set(ctx_uboot, "beaglerev", "AxBx");
> >  		break;
> >  	case REVISION_CX:
> >  		printf("Beagle Rev C1/C2/C3\n");
> > -		env_set("beaglerev", "Cx");
> > +		env_set(ctx_uboot, "beaglerev", "Cx");
> >  		MUX_BEAGLE_C();
> >  		break;
> >  	case REVISION_C4:
> >  		printf("Beagle Rev C4\n");
> > -		env_set("beaglerev", "C4");
> > +		env_set(ctx_uboot, "beaglerev", "C4");
> >  		MUX_BEAGLE_C();
> >  		/* Set VAUX2 to 1.8V for EHCI PHY */
> >  		twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
> > @@ -359,7 +359,7 @@ int misc_init_r(void)
> >  		break;
> >  	case REVISION_XM_AB:
> >  		printf("Beagle xM Rev A/B\n");
> > -		env_set("beaglerev", "xMAB");
> > +		env_set(ctx_uboot, "beaglerev", "xMAB");
> >  		MUX_BEAGLE_XM();
> >  		/* Set VAUX2 to 1.8V for EHCI PHY */
> >  		twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
> > @@ -370,7 +370,7 @@ int misc_init_r(void)
> >  		break;
> >  	case REVISION_XM_C:
> >  		printf("Beagle xM Rev C\n");
> > -		env_set("beaglerev", "xMC");
> > +		env_set(ctx_uboot, "beaglerev", "xMC");
> >  		MUX_BEAGLE_XM();
> >  		/* Set VAUX2 to 1.8V for EHCI PHY */
> >  		twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
> > @@ -396,14 +396,14 @@ int misc_init_r(void)
> >  			expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_TINCANTOOLS_ZIPPY();
> > -		env_set("buddy", "zippy");
> > +		env_set(ctx_uboot, "buddy", "zippy");
> >  		break;
> >  	case TINCANTOOLS_ZIPPY2:
> >  		printf("Recognized Tincantools Zippy2 board (rev %d
> > %s)\n", expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		MUX_TINCANTOOLS_ZIPPY();
> > -		env_set("buddy", "zippy2");
> > +		env_set(ctx_uboot, "buddy", "zippy2");
> >  		break;
> >  	case TINCANTOOLS_TRAINER:
> >  		printf("Recognized Tincantools Trainer board (rev %d
> > %s)\n", @@ -411,37 +411,37 @@ int misc_init_r(void)
> >  			expansion_config.fab_revision);
> >  		MUX_TINCANTOOLS_ZIPPY();
> >  		MUX_TINCANTOOLS_TRAINER();
> > -		env_set("buddy", "trainer");
> > +		env_set(ctx_uboot, "buddy", "trainer");
> >  		break;
> >  	case TINCANTOOLS_SHOWDOG:
> >  		printf("Recognized Tincantools Showdow board (rev %d
> > %s)\n", expansion_config.revision,
> >  			expansion_config.fab_revision);
> >  		/* Place holder for DSS2 definition for showdog lcd
> > */
> > -		env_set("defaultdisplay", "showdoglcd");
> > -		env_set("buddy", "showdog");
> > +		env_set(ctx_uboot, "defaultdisplay", "showdoglcd");
> > +		env_set(ctx_uboot, "buddy", "showdog");
> >  		break;
> >  	case KBADC_BEAGLEFPGA:
> >  		printf("Recognized KBADC Beagle FPGA board\n");
> >  		MUX_KBADC_BEAGLEFPGA();
> > -		env_set("buddy", "beaglefpga");
> > +		env_set(ctx_uboot, "buddy", "beaglefpga");
> >  		break;
> >  	case LW_BEAGLETOUCH:
> >  		printf("Recognized Liquidware BeagleTouch board\n");
> > -		env_set("buddy", "beagletouch");
> > +		env_set(ctx_uboot, "buddy", "beagletouch");
> >  		break;
> >  	case BRAINMUX_LCDOG:
> >  		printf("Recognized Brainmux LCDog board\n");
> > -		env_set("buddy", "lcdog");
> > +		env_set(ctx_uboot, "buddy", "lcdog");
> >  		break;
> >  	case BRAINMUX_LCDOGTOUCH:
> >  		printf("Recognized Brainmux LCDog Touch board\n");
> > -		env_set("buddy", "lcdogtouch");
> > +		env_set(ctx_uboot, "buddy", "lcdogtouch");
> >  		break;
> >  	case BBTOYS_WIFI:
> >  		printf("Recognized BeagleBoardToys WiFi board\n");
> >  		MUX_BBTOYS_WIFI()
> > -		env_set("buddy", "bbtoys-wifi");
> > +		env_set(ctx_uboot, "buddy", "bbtoys-wifi");
> >  		break;
> >  	case BBTOYS_VGA:
> >  		printf("Recognized BeagleBoardToys VGA board\n");
> > @@ -458,20 +458,21 @@ int misc_init_r(void)
> >  	case LSR_COM6L_ADPT:
> >  		printf("Recognized LSR COM6L Adapter Board\n");
> >  		MUX_BBTOYS_WIFI()
> > -		env_set("buddy", "lsr-com6l-adpt");
> > +		env_set(ctx_uboot, "buddy", "lsr-com6l-adpt");
> >  		break;
> >  	case BEAGLE_NO_EEPROM:
> >  		printf("No EEPROM on expansion board\n");
> > -		env_set("buddy", "none");
> > +		env_set(ctx_uboot, "buddy", "none");
> >  		break;
> >  	default:
> >  		printf("Unrecognized expansion board: %x\n",
> >  			expansion_config.device_vendor);
> > -		env_set("buddy", "unknown");
> > +		env_set(ctx_uboot, "buddy", "unknown");
> >  	}
> >  
> >  	if (expansion_config.content == 1)
> > -		env_set(expansion_config.env_var,
> > expansion_config.env_setting);
> > +		env_set(ctx_uboot, expansion_config.env_var,
> > +			expansion_config.env_setting);
> >  
> >  	twl4030_power_init();
> >  	switch (get_board_revision()) {
> > @@ -511,10 +512,10 @@ int misc_init_r(void)
> >  
> >  #if defined(CONFIG_MTDIDS_DEFAULT) &&
> > defined(CONFIG_MTDPARTS_DEFAULT) if (strlen(CONFIG_MTDIDS_DEFAULT))
> > -		env_set("mtdids", CONFIG_MTDIDS_DEFAULT);
> > +		env_set(ctx_uboot, "mtdids", CONFIG_MTDIDS_DEFAULT);
> >  
> >  	if (strlen(CONFIG_MTDPARTS_DEFAULT))
> > -		env_set("mtdparts", CONFIG_MTDPARTS_DEFAULT);
> > +		env_set(ctx_uboot, "mtdparts",
> > CONFIG_MTDPARTS_DEFAULT); #endif
> >  
> >  	return 0;
> > diff --git a/board/ti/common/board_detect.c
> > b/board/ti/common/board_detect.c index bc89cc57bd78..fe776f2428d2
> > 100644 --- a/board/ti/common/board_detect.c
> > +++ b/board/ti/common/board_detect.c
> > @@ -580,21 +580,21 @@ void __maybe_unused set_board_info_env(char
> > *name) struct ti_common_eeprom *ep = TI_EEPROM_DATA;
> >  
> >  	if (name)
> > -		env_set("board_name", name);
> > +		env_set(ctx_uboot, "board_name", name);
> >  	else if (ep->name)
> > -		env_set("board_name", ep->name);
> > +		env_set(ctx_uboot, "board_name", ep->name);
> >  	else
> > -		env_set("board_name", unknown);
> > +		env_set(ctx_uboot, "board_name", unknown);
> >  
> >  	if (ep->version)
> > -		env_set("board_rev", ep->version);
> > +		env_set(ctx_uboot, "board_rev", ep->version);
> >  	else
> > -		env_set("board_rev", unknown);
> > +		env_set(ctx_uboot, "board_rev", unknown);
> >  
> >  	if (ep->serial)
> > -		env_set("board_serial", ep->serial);
> > +		env_set(ctx_uboot, "board_serial", ep->serial);
> >  	else
> > -		env_set("board_serial", unknown);
> > +		env_set(ctx_uboot, "board_serial", unknown);
> >  }
> >  
> >  void __maybe_unused set_board_info_env_am6(char *name)
> > diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
> > index 74d04bb1e393..63ac5b1988bf 100644
> > --- a/board/ti/dra7xx/evm.c
> > +++ b/board/ti/dra7xx/evm.c
> > @@ -691,7 +691,7 @@ int board_late_init(void)
> >  	 * on HS devices.
> >  	 */
> >  	if (get_device_type() == HS_DEVICE)
> > -		env_set("boot_fit", "1");
> > +		env_set(ctx_uboot, "boot_fit", "1");
> >  
> >  	omap_die_id_serial();
> >  	omap_set_fastboot_vars();
> > @@ -980,7 +980,7 @@ int spl_start_uboot(void)
> >  
> >  #ifdef CONFIG_SPL_ENV_SUPPORT
> >  	env_init();
> > -	env_load();
> > +	env_load(ctx_uboot);
> >  	if (env_get_yesno("boot_os") != 1)
> >  		return 1;
> >  #endif
> > @@ -1048,7 +1048,7 @@ int board_eth_init(bd_t *bis)
> >  	mac_addr[4] = (mac_lo & 0xFF00) >> 8;
> >  	mac_addr[5] = mac_lo & 0xFF;
> >  
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		printf("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); 
> >  		if (is_valid_ethaddr(mac_addr))
> > @@ -1064,7 +1064,7 @@ int board_eth_init(bd_t *bis)
> >  	mac_addr[4] = (mac_lo & 0xFF00) >> 8;
> >  	mac_addr[5] = mac_lo & 0xFF;
> >  
> > -	if (!env_get("eth1addr")) {
> > +	if (!env_get(ctx_uboot, "eth1addr")) {
> >  		if (is_valid_ethaddr(mac_addr))
> >  			eth_env_set_enetaddr("eth1addr", mac_addr);
> >  	}
> > @@ -1152,8 +1152,8 @@ int board_fit_config_name_match(const char
> > *name) int fastboot_set_reboot_flag(void)
> >  {
> >  	printf("Setting reboot to fastboot flag ...\n");
> > -	env_set("dofastboot", "1");
> > -	env_save();
> > +	env_set(ctx_uboot, "dofastboot", "1");
> > +	env_save(ctx_uboot);
> >  	return 0;
> >  }
> >  #endif
> > diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
> > index d0b9bafbd1b6..4053eb7448a6 100644
> > --- a/board/ti/evm/evm.c
> > +++ b/board/ti/evm/evm.c
> > @@ -283,7 +283,7 @@ static void reset_net_chip(void)
> >  int board_eth_init(bd_t *bis)
> >  {
> >  #if defined(CONFIG_SMC911X)
> > -	env_set("ethaddr", NULL);
> > +	env_set(ctx_uboot, "ethaddr", NULL);
> >  	return smc911x_initialize(0, CONFIG_SMC911X_BASE);
> >  #else
> >  	return 0;
> > diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c
> > index e9bc68049b4b..aa447fd886cc 100644
> > --- a/board/ti/ks2_evm/board.c
> > +++ b/board/ti/ks2_evm/board.c
> > @@ -113,7 +113,7 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  	u64 start[2];
> >  	u32 ddr3a_size;
> >  
> > -	env = env_get("mem_lpae");
> > +	env = env_get(ctx_uboot, "mem_lpae");
> >  	lpae = env && simple_strtol(env, NULL, 0);
> >  
> >  	ddr3a_size = 0;
> > @@ -140,13 +140,13 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  	}
> >  
> >  	/* reserve memory at start of bank */
> > -	env = env_get("mem_reserve_head");
> > +	env = env_get(ctx_uboot, "mem_reserve_head");
> >  	if (env) {
> >  		start[0] += ustrtoul(env, &endp, 0);
> >  		size[0] -= ustrtoul(env, &endp, 0);
> >  	}
> >  
> > -	env = env_get("mem_reserve");
> > +	env = env_get(ctx_uboot, "mem_reserve");
> >  	if (env)
> >  		size[0] -= ustrtoul(env, &endp, 0);
> >  
> > @@ -163,9 +163,9 @@ void ft_board_setup_ex(void *blob, bd_t *bd)
> >  	u64 *reserve_start;
> >  	int unitrd_fixup = 0;
> >  
> > -	env = env_get("mem_lpae");
> > +	env = env_get(ctx_uboot, "mem_lpae");
> >  	lpae = env && simple_strtol(env, NULL, 0);
> > -	env = env_get("uinitrd_fixup");
> > +	env = env_get(ctx_uboot, "uinitrd_fixup");
> >  	unitrd_fixup = env && simple_strtol(env, NULL, 0);
> >  
> >  	/* Fix up the initrd */
> > diff --git a/board/ti/ks2_evm/board_k2g.c
> > b/board/ti/ks2_evm/board_k2g.c index 4ff9a44b3712..49c09b88bd83 100644
> > --- a/board/ti/ks2_evm/board_k2g.c
> > +++ b/board/ti/ks2_evm/board_k2g.c
> > @@ -353,11 +353,11 @@ int board_late_init(void)
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  	if (board_is_k2g_gp())
> > -		env_set("board_name", "66AK2GGP\0");
> > +		env_set(ctx_uboot, "board_name", "66AK2GGP\0");
> >  	else if (board_is_k2g_g1())
> > -		env_set("board_name", "66AK2GG1\0");
> > +		env_set(ctx_uboot, "board_name", "66AK2GG1\0");
> >  	else if (board_is_k2g_ice())
> > -		env_set("board_name", "66AK2GIC\0");
> > +		env_set(ctx_uboot, "board_name", "66AK2GIC\0");
> >  #endif
> >  	return 0;
> >  }
> > @@ -384,7 +384,7 @@ void spl_init_keystone_plls(void)
> >  #ifdef CONFIG_TI_SECURE_DEVICE
> >  void board_pmmc_image_process(ulong pmmc_image, size_t pmmc_size)
> >  {
> > -	int id = env_get_ulong("dev_pmmc", 10, 0);
> > +	int id = env_get_ulong(ctx_uboot, "dev_pmmc", 10, 0);
> >  	int ret;
> >  
> >  	if (!rproc_is_initialized())
> > diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c
> > index 20199da390ec..9d42123de9cc 100644
> > --- a/board/ti/panda/panda.c
> > +++ b/board/ti/panda/panda.c
> > @@ -103,7 +103,7 @@ int get_board_revision(void)
> >  		board_id4 = gpio_get_value(PANDA_ES_BOARD_ID_4_GPIO);
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -		env_set("board_name", "panda-es");
> > +		env_set(ctx_uboot, "board_name", "panda-es");
> >  #endif
> >  		board_id = ((board_id4 << 4) | (board_id3 << 3) |
> >  			(board_id2 << 2) | (board_id1 << 1) |
> > (board_id0)); @@ -117,7 +117,7 @@ int get_board_revision(void)
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  		if ((board_id >= 0x3) && (processor_rev ==
> > OMAP4430_ES2_3))
> > -			env_set("board_name", "panda-a4");
> > +			env_set(ctx_uboot, "board_name", "panda-a4");
> >  #endif
> >  	}
> >  
> > diff --git a/board/toradex/apalis-imx8/apalis-imx8.c
> > b/board/toradex/apalis-imx8/apalis-imx8.c index
> > af48b560952e..7e0f01534a9e 100644 ---
> > a/board/toradex/apalis-imx8/apalis-imx8.c +++
> > b/board/toradex/apalis-imx8/apalis-imx8.c @@ -117,8 +117,8 @@ int
> > board_late_init(void) {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  /* TODO move to common */
> > -	env_set("board_name", "Apalis iMX8QM");
> > -	env_set("board_rev", "v1.0");
> > +	env_set(ctx_uboot, "board_name", "Apalis iMX8QM");
> > +	env_set(ctx_uboot, "board_rev", "v1.0");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/toradex/apalis_imx6/apalis_imx6.c
> > b/board/toradex/apalis_imx6/apalis_imx6.c index
> > 6421a22c25a7..c40ccedc4c9d 100644 ---
> > a/board/toradex/apalis_imx6/apalis_imx6.c +++
> > b/board/toradex/apalis_imx6/apalis_imx6.c @@ -701,7 +701,7 @@ int
> > board_late_init(void) 
> >  	rev = get_board_rev();
> >  	snprintf(env_str, ARRAY_SIZE(env_str), "%.4x", rev);
> > -	env_set("board_rev", env_str);
> > +	env_set(ctx_uboot, "board_rev", env_str);
> >  
> >  #ifndef CONFIG_TDX_APALIS_IMX6_V1_0
> >  	if ((rev & 0xfff0) == 0x0100) {
> > @@ -711,12 +711,12 @@ int board_late_init(void)
> >  		setup_iomux_dce_uart();
> >  
> >  		/* if using the default device tree, use version for
> > V1.0 HW */
> > -		fdt_env = env_get("fdt_file");
> > +		fdt_env = env_get(ctx_uboot, "fdt_file");
> >  		if ((fdt_env != NULL) && (strcmp(FDT_FILE, fdt_env)
> > == 0)) {
> > -			env_set("fdt_file", FDT_FILE_V1_0);
> > +			env_set(ctx_uboot, "fdt_file",
> > FDT_FILE_V1_0); printf("patching fdt_file to " FDT_FILE_V1_0 "\n");
> >  #ifndef CONFIG_ENV_IS_NOWHERE
> > -			env_save();
> > +			env_save(ctx_uboot);
> >  #endif
> >  		}
> >  	}
> > @@ -726,8 +726,8 @@ int board_late_init(void)
> >  #ifdef CONFIG_CMD_USB_SDP
> >  	if (is_boot_from_usb()) {
> >  		printf("Serial Downloader recovery mode, using sdp
> > command\n");
> > -		env_set("bootdelay", "0");
> > -		env_set("bootcmd", "sdp 0");
> > +		env_set(ctx_uboot, "bootdelay", "0");
> > +		env_set(ctx_uboot, "bootcmd", "sdp 0");
> >  	}
> >  #endif /* CONFIG_CMD_USB_SDP */
> >  
> > diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> > b/board/toradex/colibri-imx6ull/colibri-imx6ull.c index
> > d1ae463941ae..160b79ba0b27 100644 ---
> > a/board/toradex/colibri-imx6ull/colibri-imx6ull.c +++
> > b/board/toradex/colibri-imx6ull/colibri-imx6ull.c @@ -178,7 +178,7 @@
> > int board_late_init(void) */
> >  	if (tdx_hw_tag.prodid == COLIBRI_IMX6ULL_WIFI_BT_IT ||
> >  	    tdx_hw_tag.prodid == COLIBRI_IMX6ULL_WIFI_BT)
> > -		env_set("variant", "-wifi");
> > +		env_set(ctx_uboot, "variant", "-wifi");
> >  #endif
> >  
> >  	/*
> > @@ -196,8 +196,8 @@ int board_late_init(void)
> >  #ifdef CONFIG_CMD_USB_SDP
> >  	if (is_boot_from_usb()) {
> >  		printf("Serial Downloader recovery mode, using sdp
> > command\n");
> > -		env_set("bootdelay", "0");
> > -		env_set("bootcmd", "sdp 0");
> > +		env_set(ctx_uboot, "bootdelay", "0");
> > +		env_set(ctx_uboot, "bootcmd", "sdp 0");
> >  	}
> >  #endif /* CONFIG_CMD_USB_SDP */
> >  
> > diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c
> > b/board/toradex/colibri-imx8x/colibri-imx8x.c index
> > eae3c591a164..ef52f95dc93e 100644 ---
> > a/board/toradex/colibri-imx8x/colibri-imx8x.c +++
> > b/board/toradex/colibri-imx8x/colibri-imx8x.c @@ -129,8 +129,8 @@ int
> > board_late_init(void) {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  /* TODO move to common */
> > -	env_set("board_name", "Colibri iMX8QXP");
> > -	env_set("board_rev", "v1.0");
> > +	env_set(ctx_uboot, "board_name", "Colibri iMX8QXP");
> > +	env_set(ctx_uboot, "board_rev", "v1.0");
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/toradex/colibri_imx6/colibri_imx6.c
> > b/board/toradex/colibri_imx6/colibri_imx6.c index
> > ad40b589c1ed..1c1c1577eb1f 100644 ---
> > a/board/toradex/colibri_imx6/colibri_imx6.c +++
> > b/board/toradex/colibri_imx6/colibri_imx6.c @@ -661,14 +661,14 @@ int
> > board_late_init(void) 
> >  	rev = get_board_rev();
> >  	snprintf(env_str, ARRAY_SIZE(env_str), "%.4x", rev);
> > -	env_set("board_rev", env_str);
> > +	env_set(ctx_uboot, "board_rev", env_str);
> >  #endif
> >  
> >  #ifdef CONFIG_CMD_USB_SDP
> >  	if (is_boot_from_usb()) {
> >  		printf("Serial Downloader recovery mode, using sdp
> > command\n");
> > -		env_set("bootdelay", "0");
> > -		env_set("bootcmd", "sdp 0");
> > +		env_set(ctx_uboot, "bootdelay", "0");
> > +		env_set(ctx_uboot, "bootcmd", "sdp 0");
> >  	}
> >  #endif /* CONFIG_CMD_USB_SDP */
> >  
> > @@ -702,7 +702,7 @@ int ft_board_setup(void *blob, bd_t *bd)
> >  
> >  	ft_common_board_setup(blob, bd);
> >  
> > -	cma_size = env_get_ulong("cma-size", 10, 320 * 1024 * 1024);
> > +	cma_size = env_get_ulong(ctx_uboot, "cma-size", 10, 320 *
> > 1024 * 1024); cma_size = min((u32)(gd->ram_size >> 1), cma_size);
> >  
> >  	fdt_setprop_u32(blob,
> > diff --git a/board/toradex/colibri_vf/colibri_vf.c
> > b/board/toradex/colibri_vf/colibri_vf.c index
> > 04d8ffd1e666..e466d8aad6e1 100644 ---
> > a/board/toradex/colibri_vf/colibri_vf.c +++
> > b/board/toradex/colibri_vf/colibri_vf.c @@ -392,7 +392,7 @@ int
> > board_late_init(void) if (((src->sbmr2 & SRC_SBMR2_BMOD_MASK) >>
> > SRC_SBMR2_BMOD_SHIFT) == SRC_SBMR2_BMOD_SERIAL) {
> >  		printf("Serial Downloader recovery mode, disable
> > autoboot\n");
> > -		env_set("bootdelay", "-1");
> > +		env_set(ctx_uboot, "bootdelay", "-1");
> >  	}
> >  
> >  	return 0;
> > diff --git a/board/toradex/common/tdx-cfg-block.c
> > b/board/toradex/common/tdx-cfg-block.c index
> > 9c86230595b9..6897ced0f7fe 100644 ---
> > a/board/toradex/common/tdx-cfg-block.c +++
> > b/board/toradex/common/tdx-cfg-block.c @@ -314,7 +314,7 @@ static int
> > get_cfgblock_interactive(void) wb = console_buffer[0];
> >  #endif
> >  
> > -	soc = env_get("soc");
> > +	soc = env_get(ctx_uboot, "soc");
> >  	if (!strcmp("mx6", soc)) {
> >  #ifdef CONFIG_TARGET_APALIS_IMX6
> >  		if (it == 'y' || it == 'Y') {
> > diff --git a/board/toradex/common/tdx-common.c
> > b/board/toradex/common/tdx-common.c index e9441a7979d2..a51749dd78c2
> > 100644 --- a/board/toradex/common/tdx-common.c
> > +++ b/board/toradex/common/tdx-common.c
> > @@ -81,7 +81,7 @@ int show_board_info(void)
> >  			tdx_hw_tag.ver_minor,
> >  			(char)tdx_hw_tag.ver_assembly + 'A');
> >  
> > -		env_set("serial#", tdx_serial_str);
> > +		env_set(ctx_uboot, "serial#", tdx_serial_str);
> >  
> >  		printf("Model: Toradex %s %s, Serial# %s\n",
> >  		       toradex_modules[tdx_hw_tag.prodid],
> > diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c
> > index 5b20afd48814..f13126c2ee59 100644
> > --- a/board/tqc/tqma6/tqma6.c
> > +++ b/board/tqc/tqma6/tqma6.c
> > @@ -253,7 +253,7 @@ int power_init_board(void)
> >  
> >  int board_late_init(void)
> >  {
> > -	env_set("board_name", tqma6_get_boardname());
> > +	env_set(ctx_uboot, "board_name", tqma6_get_boardname());
> >  
> >  	tqma6_bb_board_late_init();
> >  
> > diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c
> > index 5c468a6a973e..2a61dc29ef92 100644
> > --- a/board/udoo/neo/neo.c
> > +++ b/board/udoo/neo/neo.c
> > @@ -437,7 +437,7 @@ int checkboard(void)
> >  int board_late_init(void)
> >  {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > -	env_set("board_name", board_string());
> > +	env_set(ctx_uboot, "board_name", board_string());
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/udoo/udoo.c b/board/udoo/udoo.c
> > index f2c2bf47b0fd..88bc24b2b475 100644
> > --- a/board/udoo/udoo.c
> > +++ b/board/udoo/udoo.c
> > @@ -254,9 +254,9 @@ int board_late_init(void)
> >  {
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  	if (is_cpu_type(MXC_CPU_MX6Q))
> > -		env_set("board_rev", "MX6Q");
> > +		env_set(ctx_uboot, "board_rev", "MX6Q");
> >  	else
> > -		env_set("board_rev", "MX6DL");
> > +		env_set(ctx_uboot, "board_rev", "MX6DL");
> >  #endif
> >  	return 0;
> >  }
> > diff --git a/board/varisys/common/sys_eeprom.c
> > b/board/varisys/common/sys_eeprom.c index 77772a6923e4..5b248f8b0f44
> > 100644 --- a/board/varisys/common/sys_eeprom.c
> > +++ b/board/varisys/common/sys_eeprom.c
> > @@ -401,7 +401,7 @@ int mac_read_from_generic_eeprom(const char
> > *envvar, int chip, mac[5]);
> >  
> >  		printf("MAC: %s\n", ethaddr);
> > -		env_set(envvar, ethaddr);
> > +		env_set(ctx_uboot, envvar, ethaddr);
> >  	}
> >  
> >  	return ret;
> > @@ -486,8 +486,8 @@ int mac_read_from_eeprom_common(void)
> >  			/* Only initialize environment variables
> > that are blank
> >  			 * (i.e. have not yet been set)
> >  			 */
> > -			if (!env_get(enetvar))
> > -				env_set(enetvar, ethaddr);
> > +			if (!env_get(ctx_uboot, enetvar))
> > +				env_set(ctx_uboot, enetvar, ethaddr);
> >  		}
> >  	}
> >  
> > diff --git a/board/vscom/baltos/board.c b/board/vscom/baltos/board.c
> > index 1ba58d0f11dd..5e799d546786 100644
> > --- a/board/vscom/baltos/board.c
> > +++ b/board/vscom/baltos/board.c
> > @@ -65,7 +65,7 @@ static int baltos_set_console(void)
> >  	printf("DIPs: 0x%1x\n", (~dips) & 0xf);
> >  
> >  	if ((dips & 0xf) == 0xe)
> > -		env_set("console", "ttyUSB0,115200n8");
> > +		env_set(ctx_uboot, "console", "ttyUSB0,115200n8");
> >  
> >  	return 0;
> >  }
> > @@ -367,7 +367,7 @@ int board_late_init(void)
> >  		return -ENODEV;
> >  	}
> >  
> > -	env_set("board_name", model);
> > +	env_set(ctx_uboot, "board_name", model);
> >  #endif
> >  
> >  	return 0;
> > @@ -447,7 +447,7 @@ int board_eth_init(bd_t *bis)
> >  
> >  #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD))
> > || \ (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD))
> > -	if (!env_get("ethaddr")) {
> > +	if (!env_get(ctx_uboot, "ethaddr")) {
> >  		printf("<ethaddr> not set. Validating first E-fuse
> > MAC\n"); 
> >  		if (is_valid_ethaddr(mac_addr))
> > diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c
> > index 69cdf3e9c96b..4ba472cae9b8 100644
> > --- a/board/wandboard/wandboard.c
> > +++ b/board/wandboard/wandboard.c
> > @@ -451,18 +451,18 @@ int board_late_init(void)
> >  
> >  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> >  	if (is_mx6dqp())
> > -		env_set("board_rev", "MX6QP");
> > +		env_set(ctx_uboot, "board_rev", "MX6QP");
> >  	else if (is_mx6dq())
> > -		env_set("board_rev", "MX6Q");
> > +		env_set(ctx_uboot, "board_rev", "MX6Q");
> >  	else
> > -		env_set("board_rev", "MX6DL");
> > +		env_set(ctx_uboot, "board_rev", "MX6DL");
> >  
> >  	if (is_revd1())
> > -		env_set("board_name", "D1");
> > +		env_set(ctx_uboot, "board_name", "D1");
> >  	else if (is_revc1())
> > -		env_set("board_name", "C1");
> > +		env_set(ctx_uboot, "board_name", "C1");
> >  	else
> > -		env_set("board_name", "B1");
> > +		env_set(ctx_uboot, "board_name", "B1");
> >  #endif
> >  	return 0;
> >  }
> > diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c
> > index 39ae98225738..549d65b3469d 100644
> > --- a/board/warp7/warp7.c
> > +++ b/board/warp7/warp7.c
> > @@ -148,9 +148,9 @@ int board_late_init(void)
> >  
> >  #ifdef CONFIG_SECURE_BOOT
> >  	/* Determine HAB state */
> > -	env_set_ulong(HAB_ENABLED_ENVNAME, imx_hab_is_enabled());
> > +	env_set_ulong(ctx_uboot, HAB_ENABLED_ENVNAME,
> > imx_hab_is_enabled()); #else
> > -	env_set_ulong(HAB_ENABLED_ENVNAME, 0);
> > +	env_set_ulong(ctx_uboot, HAB_ENABLED_ENVNAME, 0);
> >  #endif
> >  
> >  #ifdef CONFIG_SERIAL_TAG
> > @@ -158,7 +158,7 @@ int board_late_init(void)
> >  	get_board_serial(&serialnr);
> >  	snprintf(serial_string, sizeof(serial_string),
> > "WaRP7-0x%08x%08x", serialnr.low, serialnr.high);
> > -	env_set("serial#", serial_string);
> > +	env_set(ctx_uboot, "serial#", serial_string);
> >  #endif
> >  
> >  	return 0;
> > diff --git a/board/work-microwave/work_92105/work_92105_display.c
> > b/board/work-microwave/work_92105/work_92105_display.c index
> > db04dcabc7bc..e673921b7bbc 100644 ---
> > a/board/work-microwave/work_92105/work_92105_display.c +++
> > b/board/work-microwave/work_92105/work_92105_display.c @@ -228,7
> > +228,7 @@ void work_92105_display_init(void) i2c_write(0x2c, 0x01, 1,
> > &enable_backlight, 1); 
> >  	/* set display contrast */
> > -	display_contrast_str = env_get("fwopt_dispcontrast");
> > +	display_contrast_str = env_get(ctx_uboot,
> > "fwopt_dispcontrast"); if (display_contrast_str)
> >  		display_contrast =
> > simple_strtoul(display_contrast_str, NULL, 10);
> > diff --git a/board/xes/common/board.c b/board/xes/common/board.c
> > index 43575bc302d6..b5cc9a69508a 100644
> > --- a/board/xes/common/board.c
> > +++ b/board/xes/common/board.c
> > @@ -51,13 +51,13 @@ int checkboard(void)
> >  
> >  	/* Display board specific information */
> >  	puts("       ");
> > -	i = env_get_f("board_rev", buf, sizeof(buf));
> > +	i = env_get_f("board_rev", buf, sizeof(ctx_uboot, buf));
> >  	if (i > 0)
> >  		printf("Rev %s, ", buf);
> > -	i = env_get_f("serial#", buf, sizeof(buf));
> > +	i = env_get_f("serial#", buf, sizeof(ctx_uboot, buf));
> >  	if (i > 0)
> >  		printf("Serial# %s, ", buf);
> > -	i = env_get_f("board_cfg", buf, sizeof(buf));
> > +	i = env_get_f("board_cfg", buf, sizeof(ctx_uboot, buf));
> >  	if (i > 0)
> >  		printf("Cfg %s", buf);
> >  	puts("\n");
> > diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
> > index 35191b2f813b..509834c679ab 100644
> > --- a/board/xilinx/zynq/board.c
> > +++ b/board/xilinx/zynq/board.c
> > @@ -41,27 +41,27 @@ int board_late_init(void)
> >  	switch ((zynq_slcr_get_boot_mode()) & ZYNQ_BM_MASK) {
> >  	case ZYNQ_BM_QSPI:
> >  		mode = "qspi";
> > -		env_set("modeboot", "qspiboot");
> > +		env_set(ctx_uboot, "modeboot", "qspiboot");
> >  		break;
> >  	case ZYNQ_BM_NAND:
> >  		mode = "nand";
> > -		env_set("modeboot", "nandboot");
> > +		env_set(ctx_uboot, "modeboot", "nandboot");
> >  		break;
> >  	case ZYNQ_BM_NOR:
> >  		mode = "nor";
> > -		env_set("modeboot", "norboot");
> > +		env_set(ctx_uboot, "modeboot", "norboot");
> >  		break;
> >  	case ZYNQ_BM_SD:
> >  		mode = "mmc";
> > -		env_set("modeboot", "sdboot");
> > +		env_set(ctx_uboot, "modeboot", "sdboot");
> >  		break;
> >  	case ZYNQ_BM_JTAG:
> >  		mode = "pxe dhcp";
> > -		env_set("modeboot", "jtagboot");
> > +		env_set(ctx_uboot, "modeboot", "jtagboot");
> >  		break;
> >  	default:
> >  		mode = "";
> > -		env_set("modeboot", "");
> > +		env_set(ctx_uboot, "modeboot", "");
> >  		break;
> >  	}
> >  
> > @@ -69,7 +69,7 @@ int board_late_init(void)
> >  	 * One terminating char + one byte for space between mode
> >  	 * and default boot_targets
> >  	 */
> > -	env_targets = env_get("boot_targets");
> > +	env_targets = env_get(ctx_uboot, "boot_targets");
> >  	if (env_targets)
> >  		env_targets_len = strlen(env_targets);
> >  
> > @@ -80,7 +80,7 @@ int board_late_init(void)
> >  	sprintf(new_targets, "%s %s", mode,
> >  		env_targets ? env_targets : "");
> >  
> > -	env_set("boot_targets", new_targets);
> > +	env_set(ctx_uboot, "boot_targets", new_targets);
> >  
> >  	return 0;
> >  }
> > diff --git a/board/xilinx/zynqmp/cmds.c b/board/xilinx/zynqmp/cmds.c
> > index ed7ba58c6475..e5c1dab091ca 100644
> > --- a/board/xilinx/zynqmp/cmds.c
> > +++ b/board/xilinx/zynqmp/cmds.c
> > @@ -57,7 +57,7 @@ static int do_zynqmp_verify_secure(cmd_tbl_t
> > *cmdtp, int flag, int argc, } else {
> >  		addr = (u64)ret_payload[1] << 32 | ret_payload[2];
> >  		printf("Verified image at 0x%llx\n", addr);
> > -		env_set_hex("zynqmp_verified_img_addr", addr);
> > +		env_set_hex(ctx_uboot, "zynqmp_verified_img_addr",
> > addr); }
> >  
> >  	return ret;
> > diff --git a/board/xilinx/zynqmp/zynqmp.c
> > b/board/xilinx/zynqmp/zynqmp.c index d649daba96d4..31e26fb097a4 100644
> > --- a/board/xilinx/zynqmp/zynqmp.c
> > +++ b/board/xilinx/zynqmp/zynqmp.c
> > @@ -479,7 +479,7 @@ static int reset_reason(void)
> >  
> >  	puts("\n");
> >  
> > -	env_set("reset_reason", reason);
> > +	env_set(ctx_uboot, "reset_reason", reason);
> >  
> >  	ret = zynqmp_mmio_write(~0, ~0,
> > (ulong)&crlapb_base->reset_reason); if (ret)
> > @@ -494,7 +494,7 @@ static int set_fdtfile(void)
> >  	const char *suffix = ".dtb";
> >  	const char *vendor = "xilinx/";
> >  
> > -	if (env_get("fdtfile"))
> > +	if (env_get(ctx_uboot, "fdtfile"))
> >  		return 0;
> >  
> >  	compatible = (char *)fdt_getprop(gd->fdt_blob, 0,
> > "compatible", NULL); @@ -511,7 +511,7 @@ static int set_fdtfile(void)
> >  
> >  		sprintf(fdtfile, "%s%s%s", vendor, compatible,
> > suffix); 
> > -		env_set("fdtfile", fdtfile);
> > +		env_set(ctx_uboot, "fdtfile", fdtfile);
> >  		free(fdtfile);
> >  	}
> >  
> > @@ -558,23 +558,23 @@ int board_late_init(void)
> >  	case USB_MODE:
> >  		puts("USB_MODE\n");
> >  		mode = "usb";
> > -		env_set("modeboot", "usb_dfu_spl");
> > +		env_set(ctx_uboot, "modeboot", "usb_dfu_spl");
> >  		break;
> >  	case JTAG_MODE:
> >  		puts("JTAG_MODE\n");
> >  		mode = "pxe dhcp";
> > -		env_set("modeboot", "jtagboot");
> > +		env_set(ctx_uboot, "modeboot", "jtagboot");
> >  		break;
> >  	case QSPI_MODE_24BIT:
> >  	case QSPI_MODE_32BIT:
> >  		mode = "qspi0";
> >  		puts("QSPI_MODE\n");
> > -		env_set("modeboot", "qspiboot");
> > +		env_set(ctx_uboot, "modeboot", "qspiboot");
> >  		break;
> >  	case EMMC_MODE:
> >  		puts("EMMC_MODE\n");
> >  		mode = "mmc0";
> > -		env_set("modeboot", "emmcboot");
> > +		env_set(ctx_uboot, "modeboot", "emmcboot");
> >  		break;
> >  	case SD_MODE:
> >  		puts("SD_MODE\n");
> > @@ -589,7 +589,7 @@ int board_late_init(void)
> >  
> >  		mode = "mmc";
> >  		bootseq = dev->seq;
> > -		env_set("modeboot", "sdboot");
> > +		env_set(ctx_uboot, "modeboot", "sdboot");
> >  		break;
> >  	case SD1_LSHFT_MODE:
> >  		puts("LVL_SHFT_");
> > @@ -607,12 +607,12 @@ int board_late_init(void)
> >  
> >  		mode = "mmc";
> >  		bootseq = dev->seq;
> > -		env_set("modeboot", "sdboot");
> > +		env_set(ctx_uboot, "modeboot", "sdboot");
> >  		break;
> >  	case NAND_MODE:
> >  		puts("NAND_MODE\n");
> >  		mode = "nand0";
> > -		env_set("modeboot", "nandboot");
> > +		env_set(ctx_uboot, "modeboot", "nandboot");
> >  		break;
> >  	default:
> >  		mode = "";
> > @@ -629,7 +629,7 @@ int board_late_init(void)
> >  	 * One terminating char + one byte for space between mode
> >  	 * and default boot_targets
> >  	 */
> > -	env_targets = env_get("boot_targets");
> > +	env_targets = env_get(ctx_uboot, "boot_targets");
> >  	if (env_targets)
> >  		env_targets_len = strlen(env_targets);
> >  
> > @@ -645,7 +645,7 @@ int board_late_init(void)
> >  		sprintf(new_targets, "%s %s", mode,
> >  			env_targets ? env_targets : "");
> >  
> > -	env_set("boot_targets", new_targets);
> > +	env_set(ctx_uboot, "boot_targets", new_targets);
> >  
> >  	reset_reason();
> >  
> 
> 
> 
> Best regards,
> 
> Lukasz Majewski
> 
> --
> 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de

  reply	other threads:[~2019-09-06  0:34 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-05  8:21 [U-Boot] [PATCH v5 00/19] efi_loader: non-volatile variables support AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 01/19] env: extend interfaces allowing for env contexts AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 02/19] env: define env context for U-Boot environment AKASHI Takahiro
2019-09-05 19:43   ` Heinrich Schuchardt
2019-09-06  0:41     ` AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 03/19] env: nowhere: rework with new env interfaces AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 04/19] env: flash: support multiple env contexts AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 05/19] env: fat: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 06/19] hashtable: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 07/19] api: converted with new env interfaces AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 08/19] arch: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 09/19] board: " AKASHI Takahiro
2019-09-05 12:02   ` Lukasz Majewski
2019-09-06  0:34     ` AKASHI Takahiro [this message]
2019-09-05  8:21 ` [U-Boot] [PATCH v5 10/19] cmd: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 11/19] common: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 12/19] disk: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 13/19] drivers: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 14/19] fs: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 15/19] lib: converted with new env interfaces (except efi_loader) AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 16/19] net: converted with new env interfaces AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 17/19] post: " AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 18/19] env, efi_loader: define env context for UEFI variables AKASHI Takahiro
2019-09-05 19:37   ` Heinrich Schuchardt
2019-09-06  0:54     ` AKASHI Takahiro
2019-09-05  8:21 ` [U-Boot] [PATCH v5 19/19] efi_loader: variable: rework with new env interfaces AKASHI Takahiro
2019-09-05  8:31 ` [U-Boot] [PATCH v5 00/19] efi_loader: non-volatile variables support AKASHI Takahiro
2019-10-01  6:28 ` AKASHI Takahiro
2019-10-23  6:53   ` AKASHI Takahiro
2019-10-25  7:06     ` Wolfgang Denk
2019-10-25  7:56       ` AKASHI Takahiro
2019-10-25 13:25         ` Wolfgang Denk
2019-10-28  1:14           ` AKASHI Takahiro
2019-10-29 13:28             ` Wolfgang Denk
2019-11-01  6:04               ` AKASHI Takahiro
2019-11-04 16:00                 ` Wolfgang Denk
2019-11-04 16:16                   ` Tom Rini
2019-11-05  5:18                   ` AKASHI Takahiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190906003411.GG4398@linaro.org \
    --to=takahiro.akashi@linaro.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.