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 > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot