From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Fri, 7 Oct 2016 07:26:14 +0200 Subject: [U-Boot] [PATCH v1 0/2] spl: move SPL_OS_BOOT and SYS_OS_BASE to Kconfig In-Reply-To: <18bdc94f-3f83-8f03-3c55-c083c40dd1a7@ti.com> References: <1475733316-9508-1-git-send-email-hs@denx.de> <18bdc94f-3f83-8f03-3c55-c083c40dd1a7@ti.com> Message-ID: <57F731F6.3070407@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Andrew, Am 06.10.2016 um 18:29 schrieb Andrew F. Davis: > 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. Yes, full ack. I do not understand how a SPL config symbol can change the U-Boot binary! ... all SPL bins have no problem with this move, so I tend to say, the patch is Ok ... > 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! I vote for setting up more "virtual labs" with boards in it, which we can use for automated testing with tbot [1] and present the results on a webpage [2] ;-) bye, Heiko [1] https://github.com/hsdenx/tbot [2] http://xeidos.ddns.net/tests/test_db_auslesen.php > > 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(-) >> > -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany