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 00/19] efi_loader: non-volatile variables support
Date: Wed, 23 Oct 2019 15:53:34 +0900	[thread overview]
Message-ID: <20191023065332.GE10448@linaro.org> (raw)
In-Reply-To: <20191001062829.GA18778@linaro.org>

Wolfgang,

This is my second ping.
Could you please take time to review this patch?

-Takahiro Akashi

On Tue, Oct 01, 2019 at 03:28:31PM +0900, AKASHI Takahiro wrote:
> Wolfgang,
> 
> I haven't seen any comments from you in the last one month.
> Could you please take time to review this patch? I'd like to
> confirm whether you can agree to my approach here or not
> in order to take the next step.
> 
> Thanks,
> -Takahiro Akashi
> 
> On Thu, Sep 05, 2019 at 05:21:14PM +0900, AKASHI Takahiro wrote:
> > # In version 5 of this patch set, the implementation is changed again.
> > #
> > # I believe that this is NOT intrusive, and that my approach here is NOT
> > # selfish at all. If Wolfgang doesn't accept this approach, however,
> > # I would like to go for "Plan B" for UEFI variables implementation, in
> > # which EFI will have its own drivers for storage instead of env/*.
> > 
> > This patch set is an attempt to implement non-volatile attribute for
> > UEFI variables. Under the current implementation,
> > * SetVariable API doesn't recognize non-volatile attribute
> > * While some variables are defined non-volatile in UEFI specification,
> >   they are NOT marked as non-volatile in the code.
> > * env_save() (or "env save" command) allows us to save all the variables
> >   into persistent storage, but it may cause volatile UEFI variables,
> >   along with irrelevant U-Boot variables, to be saved unconditionally.
> > 
> > Those observation rationalizes that the implementation of UEFI variables
> > should be revamped utilizing dedicated storage for them.
> > 
> > 
> > Basic ideas:
> > * Sub-system users of U-Boot environment variables may have their own
> >   "env contexts". More than one contexts allowed.
> > 
> >   See Patch#2 and Patch#18.
> > 
> > * Each context is isolated from other contexts with different name spaces.
> > * Each context is associated with one backing storage driver and media
> >   location.
> > * Different contexts may use different drivers and locations.
> > 
> > * To access (get or set) a variable, associated context must be presented.
> >   So, almost of all existing env interfaces are changed to accept one
> >   extra argument, ctx.
> >   (I believe that this is Wolfgang's *requirement*.)
> > 
> >   From viewpoint of APIs, env context is a pointer to opaque structure.
> > 
> > * Non-volatile feature is not implemented in a general form and must be
> >   implemented by users in their sub-systems.
> > 
> >   In version 4, U-Boot environment's attributes are extended to support
> >   non-volatile (or auto-save capability), but Wolfgang rejected
> >   my approach.
> >   As modifying attributes for this purpose would cause bunch of
> >   incompatibility issues (as far as I said in my cover letter and
> >   the discussions in ML), I would prefer a much simple approach.
> > 
> >   See patch#19 about how it is easily implemented for UEFI variables.
> > 
> > * Each backing storage driver must be converted to be aligned with
> >   new env interfaces to handle multiple contexts in parallel and
> >   provide context-specific Kconfig configurations for driver parameters.
> > 
> >   In this version, only FAT file system and flash devices are supported,
> >   but it is quite straightforward to modify other drivers.
> > 
> >   See Patch#4 and Patch#5 about how drivers can shift to new interfaces.
> > 
> > * Finally, all existing U-Boot variables hold the same semantics
> >   as before.
> > 
> > 
> > Known issues/restriction/TODO:
> > * The current form of patchset is not 'bisect'able.
> >   Not to break 'bisect,' all the patches in this patch set must be
> >   put into a single commit when merging.
> >   (This can be mitigated by modifying/splitting Patch#18/#19 though.)
> > 
> > * Unfortunately, this code fails to read U-Boot environment from flash
> >   at boot time due to incomprehensible memory corruption.
> >   See murky workaround, which is marked as FIXME, in env/flash.c.
> > 
> >   Despite this bug, I was still be able to run/test my patch by hacking
> >   the code with gdb.
> >   (modifying data to correct value on the fly :)
> >   I hope that it won't affect code review in most places for now.
> > 
> > * Some minor issues for better coding.
> >   They are also marked as FIXME in the source code.
> > 
> > * Only FAT file system and flash are supported.
> > 
> > * The whole area of storage will be saved at *every* update of
> >   one UEFI variable. It should be optimized if possible.
> > 
> > * An error during "save" operation may cause inconsistency between
> >   cache (hash table) and the storage.
> >     -> This is not UEFI specific though.
> > 
> > * Add tests if necessary.
> > 
> > * I cannot test all the platforms affected by this patchset.
> > 
> > 
> > Note:
> > If we need "secure storage" for UEFI variables, efi_get_variable/
> > efi_get_next_variable_name/efi_set_variable() should be completely
> > replaced with stub functions to communicate with secure world.
> > This patchset has nothing to do with such an implementation.
> > 
> > 
> > Usage:
> > To enable this feature for example with FAT file system, the following
> > configs must be enabled:
> >   CONFIG_ENV_IS_IN_FAT
> >   CONFIG_ENV_FAT_INTERFACE
> >   CONFIG_ENV_EFI_FAT_DEVICE_AND_PART
> >   CONFIG_ENV_EFI_FAT_FILE
> > 
> > You may define a non-volatile variable from command interface:
> > => setenv -e -nv FOO baa
> > => printenv -e FOO
> > FOO: NV|BS|RT, DataSize = 0x3
> >     00000000: 62 61 61                                         baa
> > 
> > 
> > Patch#1 and #2 are to add multiples 'context' support to env interfaces
> >   and to provide new env interfaces.
> > Patch#3 to #5 are to show how the existing drivers for U-Boot environment
> >   should be modified to be aligned with new env interfaces.
> >   (Only FAT file system and flash in this version of patch set.)
> > Patch#6 to #17 are to shift all the existing users of old env interfaces
> >   to new ones. (But not tested for all the platforms.)
> > Patch#18 and #19 are to modify UEFI variable implementation to utilize
> >   new env interfaces.
> > 
> > Changes in v5 (September 4, 2019)
> > * rebased to v2019.10-rc3
> > * revamp the implementation, removing changes on environment variable's
> >   attributes (See above)
> > 
> > Changes in v4 (July 17, 2019)
> > * remove already-merged patches
> > * revamp after Wolfgang's suggestion
> > 
> > Changes in v3 (June 4, 2019)
> > * remove already-merged patches
> > * revamp the code again
> > * introduce CONFIG_EFI_VARIABLE_USE_ENV for this configuration.
> >   Once another backing storage, i.e. StMM services for secure boot,
> >   is supported, another option will be added.
> > 
> > Changes in v2 (Apr 24, 2019)
> > * rebased on efi-2019-07
> > * revamp the implementation
> > 
> > v1 (Nov 28, 2018)
> > * initial
> > 
> > AKASHI Takahiro (19):
> >   env: extend interfaces allowing for env contexts
> >   env: define env context for U-Boot environment
> >   env: nowhere: rework with new env interfaces
> >   env: flash: support multiple env contexts
> >   env: fat: support multiple env contexts
> >   hashtable: support multiple env contexts
> >   api: converted with new env interfaces
> >   arch: converted with new env interfaces
> >   board: converted with new env interfaces
> >   cmd: converted with new env interfaces
> >   common: converted with new env interfaces
> >   disk: converted with new env interfaces
> >   drivers: converted with new env interfaces
> >   fs: converted with new env interfaces
> >   lib: converted with new env interfaces (except efi_loader)
> >   net: converted with new env interfaces
> >   post: converted with new env interfaces
> >   env,efi_loader: define env context for UEFI variables
> >   efi_loader: variable: rework with new env interfaces
> > 
> >  api/api.c                                     |   8 +-
> >  arch/arc/lib/bootm.c                          |   2 +-
> >  arch/arm/cpu/arm926ejs/spear/spr_misc.c       |   8 +-
> >  arch/arm/cpu/armv8/fsl-layerscape/cpu.c       |   5 +-
> >  arch/arm/cpu/armv8/fsl-layerscape/soc.c       |  14 +-
> >  arch/arm/lib/bootm.c                          |   6 +-
> >  arch/arm/lib/semihosting.c                    |   2 +-
> >  arch/arm/mach-imx/mx6/opos6ul.c               |   4 +-
> >  arch/arm/mach-imx/mx7/soc.c                   |   4 +-
> >  arch/arm/mach-imx/video.c                     |   2 +-
> >  arch/arm/mach-keystone/ddr3.c                 |   2 +-
> >  arch/arm/mach-keystone/keystone.c             |   2 +-
> >  arch/arm/mach-kirkwood/cpu.c                  |   4 +-
> >  arch/arm/mach-meson/board-common.c            |   2 +-
> >  arch/arm/mach-omap2/utils.c                   |  20 +-
> >  arch/arm/mach-rmobile/cpu_info.c              |   2 +-
> >  arch/arm/mach-rockchip/boot_mode.c            |   4 +-
> >  arch/arm/mach-rockchip/rk3288/rk3288.c        |   2 +-
> >  arch/arm/mach-socfpga/misc_gen5.c             |   5 +-
> >  arch/arm/mach-socfpga/misc_s10.c              |   2 +-
> >  arch/arm/mach-stm32mp/cpu.c                   |  35 +-
> >  arch/arm/mach-tegra/board2.c                  |   4 +-
> >  arch/arm/mach-tegra/cboot.c                   |  18 +-
> >  arch/arm/mach-uniphier/board_late_init.c      |  19 +-
> >  arch/arm/mach-uniphier/mmc-first-dev.c        |   2 +-
> >  arch/m68k/lib/bootm.c                         |   2 +-
> >  arch/microblaze/lib/bootm.c                   |   2 +-
> >  arch/mips/lib/bootm.c                         |   6 +-
> >  arch/nds32/lib/bootm.c                        |   4 +-
> >  arch/powerpc/cpu/mpc85xx/cpu_init.c           |  10 +-
> >  arch/powerpc/cpu/mpc85xx/fdt.c                |   2 +-
> >  arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.c |   2 +-
> >  arch/powerpc/lib/bootm.c                      |   2 +-
> >  arch/sh/lib/bootm.c                           |   2 +-
> >  arch/sh/lib/zimageboot.c                      |   2 +-
> >  arch/x86/lib/zimage.c                         |  11 +-
> >  arch/xtensa/lib/bootm.c                       |   2 +-
> >  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 +-
> >  cmd/ab_select.c                               |   2 +-
> >  cmd/avb.c                                     |   2 +-
> >  cmd/bdinfo.c                                  |   6 +-
> >  cmd/binop.c                                   |   4 +-
> >  cmd/bootefi.c                                 |   8 +-
> >  cmd/bootm.c                                   |   4 +-
> >  cmd/bootmenu.c                                |   6 +-
> >  cmd/cbfs.c                                    |   2 +-
> >  cmd/cramfs.c                                  |   8 +-
> >  cmd/dtimg.c                                   |   2 +-
> >  cmd/elf.c                                     |  29 +-
> >  cmd/fdt.c                                     |  22 +-
> >  cmd/fpga.c                                    |   4 +-
> >  cmd/gpt.c                                     |   8 +-
> >  cmd/ini.c                                     |   6 +-
> >  cmd/itest.c                                   |   2 +-
> >  cmd/jffs2.c                                   |   4 +-
> >  cmd/load.c                                    |  10 +-
> >  cmd/lzmadec.c                                 |   2 +-
> >  cmd/md5sum.c                                  |   4 +-
> >  cmd/mtdparts.c                                |  41 +-
> >  cmd/mvebu/bubt.c                              |   2 +-
> >  cmd/nand.c                                    |  12 +-
> >  cmd/net.c                                     |  46 +-
> >  cmd/nvedit.c                                  | 394 +++++++---
> >  cmd/part.c                                    |   6 +-
> >  cmd/pxe.c                                     |  33 +-
> >  cmd/qfw.c                                     |   6 +-
> >  cmd/reiser.c                                  |   8 +-
> >  cmd/setexpr.c                                 |   8 +-
> >  cmd/spl.c                                     |   5 +-
> >  cmd/ti/ddr3.c                                 |   2 +-
> >  cmd/tpm-common.c                              |   2 +-
> >  cmd/tpm-v1.c                                  |   2 +-
> >  cmd/trace.c                                   |  18 +-
> >  cmd/ubi.c                                     |   2 +-
> >  cmd/unzip.c                                   |   2 +-
> >  cmd/ximg.c                                    |   4 +-
> >  cmd/zfs.c                                     |   6 +-
> >  cmd/zip.c                                     |   2 +-
> >  common/autoboot.c                             |  22 +-
> >  common/board_f.c                              |   3 +-
> >  common/board_r.c                              |  10 +-
> >  common/bootm.c                                |  12 +-
> >  common/bootm_os.c                             |  12 +-
> >  common/bootretry.c                            |   2 +-
> >  common/cli.c                                  |   2 +-
> >  common/cli_hush.c                             |  14 +-
> >  common/cli_simple.c                           |   2 +-
> >  common/command.c                              |   2 +-
> >  common/console.c                              |  14 +-
> >  common/fdt_support.c                          |   6 +-
> >  common/hash.c                                 |   4 +-
> >  common/hwconfig.c                             |   5 +-
> >  common/image-android.c                        |   4 +-
> >  common/image-fdt.c                            |   4 +-
> >  common/image.c                                |  15 +-
> >  common/main.c                                 |   5 +-
> >  common/spl/spl_dfu.c                          |   6 +-
> >  common/spl/spl_ext.c                          |   4 +-
> >  common/spl/spl_fat.c                          |   4 +-
> >  common/spl/spl_net.c                          |   4 +-
> >  common/splash.c                               |   4 +-
> >  common/splash_source.c                        |   8 +-
> >  common/update.c                               |  10 +-
> >  common/usb_hub.c                              |   2 +-
> >  common/usb_kbd.c                              |   6 +-
> >  disk/part.c                                   |   2 +-
> >  disk/part_amiga.c                             |   4 +-
> >  drivers/bootcount/bootcount_env.c             |  12 +-
> >  drivers/ddr/fsl/fsl_ddr_gen4.c                |   2 +-
> >  drivers/ddr/fsl/interactive.c                 |   5 +-
> >  drivers/ddr/fsl/options.c                     |   4 +-
> >  drivers/dfu/dfu.c                             |   6 +-
> >  drivers/fastboot/fb_command.c                 |   4 +-
> >  drivers/fastboot/fb_common.c                  |   2 +-
> >  drivers/fastboot/fb_getvar.c                  |   8 +-
> >  drivers/fastboot/fb_mmc.c                     |   2 +-
> >  drivers/input/i8042.c                         |   2 +-
> >  drivers/input/input.c                         |   2 +-
> >  drivers/misc/fs_loader.c                      |   8 +-
> >  drivers/mtd/cfi_flash.c                       |   2 +-
> >  drivers/mtd/mtd_uboot.c                       |  11 +-
> >  drivers/net/fec_mxc.c                         |   2 +-
> >  drivers/net/fm/b4860.c                        |   3 +-
> >  drivers/net/fm/fdt.c                          |   2 +-
> >  drivers/net/fm/fm.c                           |   4 +-
> >  drivers/net/fsl-mc/mc.c                       |   7 +-
> >  drivers/net/netconsole.c                      |  14 +-
> >  drivers/net/phy/micrel_ksz90x1.c              |   4 +-
> >  drivers/net/sandbox-raw.c                     |   4 +-
> >  drivers/pci/pci.c                             |   4 +-
> >  drivers/pci/pci_common.c                      |   2 +-
> >  drivers/reset/reset-socfpga.c                 |   2 +-
> >  drivers/rtc/m41t60.c                          |   2 +-
> >  drivers/scsi/scsi.c                           |   2 +-
> >  drivers/serial/usbtty.c                       |   4 +-
> >  drivers/usb/gadget/designware_udc.c           |   2 +-
> >  drivers/usb/gadget/ether.c                    |  13 +-
> >  drivers/usb/gadget/f_dfu.c                    |   2 +-
> >  drivers/usb/gadget/f_fastboot.c               |   2 +-
> >  drivers/usb/gadget/f_rockusb.c                |   2 +-
> >  drivers/usb/gadget/f_sdp.c                    |   2 +-
> >  drivers/usb/host/ehci-fsl.c                   |   2 +-
> >  drivers/video/ati_radeon_fb.c                 |   2 +-
> >  drivers/video/cfb_console.c                   |   2 +-
> >  drivers/video/mb862xx.c                       |   2 +-
> >  drivers/video/mx3fb.c                         |   2 +-
> >  drivers/video/mxsfb.c                         |   2 +-
> >  drivers/video/videomodes.c                    |   4 +-
> >  env/Kconfig                                   | 683 +-----------------
> >  env/Kconfig.efi                               | 152 ++++
> >  env/Kconfig.uboot                             | 671 +++++++++++++++++
> >  env/Makefile                                  |  33 +-
> >  env/callback.c                                |  40 +-
> >  env/common.c                                  | 255 ++++---
> >  env/env.c                                     | 158 ++--
> >  env/env_ctx_efi.c                             | 131 ++++
> >  env/env_ctx_uboot.c                           | 292 ++++++++
> >  env/fat.c                                     | 102 ++-
> >  env/flags.c                                   |  35 +-
> >  env/flash.c                                   | 397 ++++++----
> >  env/nowhere.c                                 |   7 +-
> >  fs/fs.c                                       |  14 +-
> >  fs/ubifs/ubifs.c                              |   2 +-
> >  include/_exports.h                            |   6 +-
> >  include/common.h                              |   6 +-
> >  include/env.h                                 | 114 ++-
> >  include/env_internal.h                        |  89 ++-
> >  include/exports.h                             |   5 +-
> >  include/search.h                              |   6 +-
> >  lib/efi_loader/efi_console.c                  |   2 +-
> >  lib/efi_loader/efi_variable.c                 |  91 ++-
> >  lib/fdtdec.c                                  |   2 +-
> >  lib/hashtable.c                               |  14 +-
> >  lib/smbios.c                                  |   2 +-
> >  lib/uuid.c                                    |   2 +-
> >  net/bootp.c                                   |  17 +-
> >  net/dns.c                                     |   2 +-
> >  net/eth-uclass.c                              |   6 +-
> >  net/eth_common.c                              |  18 +-
> >  net/eth_legacy.c                              |   2 +-
> >  net/link_local.c                              |   2 +-
> >  net/net.c                                     |  11 +-
> >  net/tftp.c                                    |  10 +-
> >  net/wol.c                                     |   2 +-
> >  post/post.c                                   |   2 +-
> >  371 files changed, 3690 insertions(+), 2337 deletions(-)
> >  create mode 100644 env/Kconfig.efi
> >  create mode 100644 env/Kconfig.uboot
> >  create mode 100644 env/env_ctx_efi.c
> >  create mode 100644 env/env_ctx_uboot.c
> > 
> > -- 
> > 2.21.0
> > 

  reply	other threads:[~2019-10-23  6:53 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
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 [this message]
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=20191023065332.GE10448@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.