[U-Boot] [PATCH v1 0/2] spl: move SPL_OS_BOOT and SYS_OS_BASE to Kconfig

Andrew F. Davis afd at ti.com
Thu Oct 6 18:29:27 CEST 2016


On 10/06/2016 12:55 AM, Heiko Schocher wrote:
> This 2 patches move SPL_OS_BOOT and SYS_OS_BASE
> to Kconfig. Checked with tbot testcase:
> https://github.com/hsdenx/tbot/blob/master/src/tc/uboot/tc_uboot_check_kconfig.py
> 
> result:
> 
> Boards      : 1213
> compile err : 13
> not checked : 1
> U-Boot good : 1185 bad 14
> SPL good    : 1199 bad 0
> 
> Boards not checked, as they had compile errors:
> ['adp-ag101p', 'bf533-stamp', 'cm-bf527', 'colibri_pxa270', 'omap4_sdp4430', 'openrisc-generic', 'qemu-x86_efi_payload64', 'sandbox', 'sandbox_noblk', 'sandbox_spl', 'smdk5250', 'snow', 'spring']
> 
> Boards not checked, as no toolchain:
> ['xtfpga']
> 
> Boards which have differences in the resulting U-Boot bin:
> ['am335x_baltos', 'am335x_evm_spiboot', 'am335x_igep0033', 'cm_t335', 'cm_t43', 'cm_t54', 'duovero', 'k2e_evm', 'k2g_evm', 'k2hk_evm', 'k2l_evm', 'omap3_pandora', 'omap3_zoom1', 'pepper']
> 
> I looked into the Boards with differences in the resulting U-Boot bin,
> but could not find the reason, why they are different :-(
> 
> for example am335x_baltos:
> 
> $ make am335x_baltos_defconfig
> $ cp .config config_org
> $ make mrproper
> - applied the 2 patches
> $ make am335x_baltos_defconfig
> $ diff -pruN config_org .config > gnlmpf
> $ cat gnlmpf
> 
> --- config_org  2016-10-06 06:58:01.636514195 +0200
> +++ .config     2016-10-06 06:58:36.459726538 +0200
> @@ -270,6 +270,7 @@ CONFIG_SPL_MTD_SUPPORT=y
>  # CONFIG_SPL_NO_CPU_SUPPORT is not set
>  # CONFIG_SPL_NOR_SUPPORT is not set
>  # CONFIG_SPL_ONENAND_SUPPORT is not set
> +# CONFIG_SPL_OS_BOOT is not set
>  # CONFIG_SPL_POST_MEM_SUPPORT is not set
>  # CONFIG_SPL_SATA_SUPPORT is not set
>  # CONFIG_SPL_USBETH_SUPPORT is not set
> 
> change in this patchserie for this board:
> diff --git a/include/configs/baltos.h b/include/configs/baltos.h
> index 58df571..e69c1b6 100644
> --- a/include/configs/baltos.h
> +++ b/include/configs/baltos.h
> @@ -54,7 +54,6 @@
>  #undef CONFIG_SYS_OMAP24_I2C_SPEED
>  #define CONFIG_SYS_OMAP24_I2C_SPEED 1000
> 
> -#undef CONFIG_SPL_OS_BOOT
>  #ifdef CONFIG_NAND
>  #define CONFIG_SYS_NAND_U_BOOT_OFFS    0x00080000
>  #ifdef CONFIG_SPL_OS_BOOT
> 
> Seems Ok to me, but I get a different md5sum for the U-Boot bin ...
> 
> Or for example the omap3_pandora board:
> $ make omap3_pandora_defconfig
> $ cp .config config_org
> $ make mrproper
> - applied the 2 patches
> $ make omap3_pandora_defconfig
> $ diff -pruN config_org .config > gnlmpf
> $ cat gnlmpf
> $
> 
> No difference in the .config before and after this patch,
> but a difference in the resulting binary ... ?
> 
> Seems to me SPL_OS_BOOT, which is a SPL config option
> has somewhere an influence to the U-Boot binary ...
> 
> Any ideas whats going on here?
> 

No idea, all I know is that some config headers with long histories are
full of hacky ifdef tricks and bugs. IMHO the best thing we can do is to
quickly move everything to Kconfig and sort it out then, instead of
battling the config logic in the header files with every change as we go.

I will try to help test these changes with the boards I have, but  I
haven't been able to get any of my omap3 boards to boot correctly in a
while :(. I'll see if anyone else here has one working they can test this.

Thanks,
Andrew

> Hmm... looking into ".config" after an "make omap3_pandora_defconfig"
> There are a lot of CONFIG_SPL symbols defined, but:
>  #
>  # SPL / TPL
>  #
>  CONFIG_SUPPORT_SPL=y
>  # CONFIG_SPL is not set
> 
> This seems bogus to me! SPL support is deactivated, but
> a lot of CONFIG_SPL_* symbols are activated! For example
> I find in .config:
> CONFIG_SPL_GPIO_SUPPORT=y
> CONFIG_SPL_LIBCOMMON_SUPPORT=y
> CONFIG_SPL_LIBGENERIC_SUPPORT=y
> 
> Does currently the omap3_pandora board boot with
> "Prepare v2016.11-rc1" ?
> 
> 
> 
> Heiko Schocher (2):
>   spl: move SPL_OS_BOOT to Kconfig
>   spl: move SYS_OS_BASE to Kconfig
> 
>  common/spl/Kconfig                               | 18 ++++++++++++++++++
>  configs/a3m071_defconfig                         |  2 ++
>  configs/a4m2k_defconfig                          |  1 +
>  configs/am335x_boneblack_defconfig               |  3 ++-
>  configs/am335x_boneblack_vboot_defconfig         |  3 ++-
>  configs/am335x_evm_defconfig                     |  1 +
>  configs/am335x_evm_nor_defconfig                 |  1 +
>  configs/am335x_evm_usbspl_defconfig              |  1 +
>  configs/am335x_shc_defconfig                     |  3 ++-
>  configs/am335x_shc_ict_defconfig                 |  3 ++-
>  configs/am335x_shc_netboot_defconfig             |  3 ++-
>  configs/am335x_shc_prompt_defconfig              |  3 ++-
>  configs/am335x_shc_sdboot_defconfig              |  3 ++-
>  configs/am335x_shc_sdboot_prompt_defconfig       |  3 ++-
>  configs/am335x_sl50_defconfig                    |  3 ++-
>  configs/am43xx_evm_defconfig                     |  1 +
>  configs/am43xx_evm_ethboot_defconfig             |  1 +
>  configs/am43xx_evm_usbhost_boot_defconfig        |  1 +
>  configs/am57xx_evm_defconfig                     |  1 +
>  configs/am57xx_evm_nodt_defconfig                |  1 +
>  configs/birdland_bav335a_defconfig               |  3 ++-
>  configs/birdland_bav335b_defconfig               |  3 ++-
>  configs/cairo_defconfig                          |  1 +
>  configs/devkit8000_defconfig                     |  1 +
>  configs/dra7xx_evm_defconfig                     |  1 +
>  configs/gwventana_defconfig                      |  1 +
>  configs/igep0020_defconfig                       |  1 +
>  configs/igep0030_defconfig                       |  1 +
>  configs/igep0030_nand_defconfig                  |  1 +
>  configs/igep0032_defconfig                       |  1 +
>  configs/ipam390_defconfig                        |  1 +
>  configs/microblaze-generic_defconfig             |  2 ++
>  configs/omap3_beagle_defconfig                   |  1 +
>  configs/omap3_logic_defconfig                    |  1 +
>  configs/omap3_overo_defconfig                    |  1 +
>  configs/omap4_panda_defconfig                    |  1 +
>  configs/omap4_sdp4430_defconfig                  |  1 +
>  configs/omap5_uevm_defconfig                     |  1 +
>  configs/pcm051_rev1_defconfig                    |  3 ++-
>  configs/pcm051_rev3_defconfig                    |  3 ++-
>  configs/pengwyn_defconfig                        |  3 ++-
>  configs/twister_defconfig                        |  1 +
>  configs/xilinx_zynqmp_ep_defconfig               |  1 +
>  configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig |  1 +
>  configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig |  1 +
>  configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig |  1 +
>  configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig |  1 +
>  configs/xilinx_zynqmp_zcu102_defconfig           |  1 +
>  configs/xilinx_zynqmp_zcu102_revB_defconfig      |  1 +
>  configs/zynq_microzed_defconfig                  |  1 +
>  configs/zynq_picozed_defconfig                   |  1 +
>  configs/zynq_zc702_defconfig                     |  1 +
>  configs/zynq_zc706_defconfig                     |  1 +
>  configs/zynq_zc770_xm010_defconfig               |  1 +
>  configs/zynq_zc770_xm011_defconfig               |  1 +
>  configs/zynq_zc770_xm012_defconfig               |  1 +
>  configs/zynq_zc770_xm013_defconfig               |  1 +
>  configs/zynq_zed_defconfig                       |  1 +
>  configs/zynq_zybo_defconfig                      |  1 +
>  include/configs/a3m071.h                         |  2 --
>  include/configs/am335x_evm.h                     |  1 -
>  include/configs/am335x_igep0033.h                |  1 -
>  include/configs/baltos.h                         |  1 -
>  include/configs/bav335x.h                        |  1 -
>  include/configs/brppt1.h                         |  1 -
>  include/configs/cm_t335.h                        |  1 -
>  include/configs/cm_t43.h                         |  1 -
>  include/configs/cm_t54.h                         |  2 --
>  include/configs/duovero.h                        |  1 -
>  include/configs/gw_ventana.h                     |  1 -
>  include/configs/ipam390.h                        |  1 -
>  include/configs/microblaze-generic.h             |  3 ---
>  include/configs/omap3_zoom1.h                    |  1 -
>  include/configs/pepper.h                         |  1 -
>  include/configs/smartweb.h                       |  1 -
>  include/configs/taurus.h                         |  1 -
>  include/configs/ti_armv7_common.h                |  3 ---
>  include/configs/ti_armv7_keystone2.h             |  1 -
>  include/configs/twister.h                        |  1 -
>  include/configs/xilinx_zynqmp.h                  |  1 -
>  include/configs/zynq-common.h                    |  1 -
>  81 files changed, 92 insertions(+), 42 deletions(-)
> 


More information about the U-Boot mailing list