From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C374DC6377D for ; Thu, 22 Jul 2021 07:35:48 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4300C60551 for ; Thu, 22 Jul 2021 07:35:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4300C60551 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C4B9880FB4; Thu, 22 Jul 2021 09:35:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1626939345; bh=E2e42+auQbHB4+ZRNHA88FZT3ZxdoH1QZbss4hVlFJ8=; h=Subject:To:Cc:References:From:Date:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=pnROIRD1X5k6VgnLSAPK6VFpMRC67I7zG8qQnR3yAdtX4fglc3bi79QdwODZiIuMv aLS+qcFFMg1rSzkSD/pgbvuc1g5dvpDR1moRJkCo24nU7HHGKvkwWnxReJp4d1orHV K70vlP0dZSa4YZcHK+xwIuxb5sHaNuCu3vCObkZatmEe56UVLaFLBzcvGfaQGjBx3D bCan17ZVARSMfNzQfYM6rKxLKa86lSECBkB7NaSaPnmt07rp14eXlabxAZ2bp4R4LA imFkypV9NEyvYbZp8L7UqpV3u9G/CSuiJ2euh+lSpnxNRDDOfuxIb/IX8RsAc2aO7D SJ0CULxVp0PGA== Received: by phobos.denx.de (Postfix, from userid 109) id C40C18297D; Thu, 22 Jul 2021 09:35:43 +0200 (CEST) Received: from mout-u-205.mailbox.org (mout-u-205.mailbox.org [IPv6:2001:67c:2050:1::465:205]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 525A080FB4 for ; Thu, 22 Jul 2021 09:35:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=sr@denx.de Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:105:465:1:2:0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-u-205.mailbox.org (Postfix) with ESMTPS id 4GVkky0N4pzQkFf; Thu, 22 Jul 2021 09:35:38 +0200 (CEST) Received: from smtp2.mailbox.org ([80.241.60.241]) by hefe.heinlein-support.de (hefe.heinlein-support.de [91.198.250.172]) (amavisd-new, port 10030) with ESMTP id altqxjzO-jze; Thu, 22 Jul 2021 09:35:32 +0200 (CEST) Subject: Re: [PATCH u-boot-mvebu v2 00/41] kwboot / kwbimage improvements reducing image size To: =?UTF-8?Q?Marek_Beh=c3=ban?= , u-boot@lists.denx.de, Chris Packham , Baruch Siach , Dirk Eibach , Chris Packham Cc: Dennis Gilmore , Mario Six , Jon Nettleton References: <20210719122104.29698-1-marek.behun@nic.cz> From: Stefan Roese Message-ID: <72fc23c5-039e-c58b-f4c1-d0dfebe11abd@denx.de> Date: Thu, 22 Jul 2021 09:35:30 +0200 MIME-Version: 1.0 In-Reply-To: <20210719122104.29698-1-marek.behun@nic.cz> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-DE Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A59C9182F X-Rspamd-UID: 1a62f5 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Hi Marek & Pali, while building this series via Azure CI I noticed this problem for controlcenterdc_defconfig: arm-linux-gnueabi-ld.bfd: common/spl/spl.o: in function `board_init_r': common/spl/spl.c:702: undefined reference to `spl_board_init' Could you please fix this? And make sure that all boards (not only Marvell) compile clean? And I also had merge issues (patches did not apply) with these patches, which I needed to fix manually: [PATCH u-boot-mvebu v2 19/41] tools: kwbimage: Do not hide usage of secure header under CONFIG_ARMADA_38X [PATCH u-boot-mvebu v2 37/41] tools: kwbimage: Remove v1 kwbimage SPL padding to CONFIG_SYS_U_BOOT_OFFS bytes Please fix this as well while working on v3. Thanks, Stefan On 19.07.21 14:20, Marek Behún wrote: > Hi Stefan and others, > > this is v2 of the series of improvements to kwboot, kwbimage and mvebu, > with main motivation the reduction of KWB image size. > > Changes since v1: > - change of cover letter message + information about boot times added > - some additional small fix patches are added > - we do not remove the SPL code for loading U-Boot, but add the option to > make BootROM do it. By default SPL code is used to load main U-Boot > binary, since it seems to be faster than BootROM (at least on Turris > Omnia). If users want to use BootROM for this, they need to disable > the necessary media (SPI NOR / NAND / SATA) support in SPL > > This series makes correct usage of BootROM's code for loading U-Boot > from NOR / NAND: currently, only SPL is read by BootROM and the main > U-Boot is read by SPL. > > We can use BootROM to also load main U-Boot. This reduces the size of > the u-boot-spl.bin by about ~7 KiB, since it does not need to contain > code for reading NOR / NAND. This patch series makes it possible to > use BootROM for this, but since SPL code may read the main U-Boot > binary faster, we leave it to board maintainers to decide whether they > want to use BootROM or SPL code to load the main U-Boot binary. (The > rule of thumb, I guess, is to use SPL if you have enough space, and > BootROM if you need the additional 7 KiB.) > > This patch series also reduces the size of the u-boot-spl.kwb binary > by addutuibak ~29 KiB (depending on board, this is on Turris Omnia), > by getting rid of the offseting of main U-Boot binary to a specific > point on the boot device, and instead using information from the > kwbimage header to find main U-Boot binary. > > On Turris Omnia, the size differences and boot time differences are: > before after after with booting via BootROM > u-boot-spl.kwb 901632 B 872960 B 864768 B > u-boot-spl.bin 115526 B 115898 B 107994 B > boot time 2426 ms 2411 ms 3283 ms > > As can be seen, after this patch series, when still loading main U-Boot > binary via SPL code, the boot time is on Turris Omnia reduced from > 2426 ms to 2411 ms. When booting via BootROM is preferred, the boot time > increases to 3283 ms, but we save additional 7 KiB in the u-boot-spl.kwb > binary. > > Before merging, this series should be tested on as many relevant > boards as possible. The affected boards are: > - clearfog > - controlcenterdc > - db-88f6720 > - db-88f6820-amc > - db-88f6820-gp > - db-mv784mp-gp > - ds414 > - helios4 > - theadorable_debug > - turris_omnia > - x530 > > Marek Behún (2): > tools: kwbimage: Add constant for SDIO bootfrom > tools: kwbimage: Cosmetic fix - remove redundant space character > > Pali Rohár (39): > tools: kwbimage: Fix compilation without CONFIG_SYS_U_BOOT_OFFS > tools: kwbimage: Simplify aligning and calculating checksum > tools: kwbimage: Align SPI and NAND images to 256 bytes > tools: kwbimage: Fix generation of SATA, SDIO and PCIe images > tools: kwbimage: Don't crash when binary file name does not contain > '/' > tools: kwbimage: Fix check for v0 extended header checksum > tools: kwbimage: Validate extended headers of v1 images > tools: kwbimage: Validate data checksum of v1 images > tools: kwbimage: Print size of binary header in > kwbimage_print_header() > tools: kwbimage: Use -a parameter (load address) for v1 images > tools: kwbimage: Change maximum number of arguments in binary header > to 256 > tools: kwbimage: Fix calculating size of binary header > tools: kwbimage: Add support for more BINARY headers > tools: kwbimage: Don't parse PAYLOAD keyword > tools: kwbimage: Add support for DATA command also for v1 images > tools: kwbimage: Add support for a new DATA_DELAY command > tools: kwbimage: Do not hide usage of secure header under > CONFIG_ARMADA_38X > tools: kwbimage: Mark all BootROM structures __packed > tools: dumpimage: Fix crashing when trying to extract data from > kwbimage > tools: dumpimage: Show error message when trying to extract data from > kwbimage > tools: kwboot: Fix wrong parameter passed to read() > tools: kwboot: Fix restoring terminal > tools: kwboot: Print trailing newline after terminal is terminated > tools: kwboot: Cosmetic fix - add missing curly brackets > tools: kwboot: Check for v1 header size > tools: kwboot: Fix checking image header version > arm: mvebu: Fix return_to_bootrom() > arm: mvebu: Mark return_to_bootrom() as a noreturn function > arm: mvebu: Implement return_to_bootrom() via U-Boot's SPL framework > arm: mvebu: Use U-Boot's SPL BootROM framework for booting from > NAND/UART > SPL: Add support for specifying offset between header and image > SPL: Add support for parsing board / BootROM specific image types > arm: mvebu: Load main U-Boot binary in SPL code based on kwbimage > header > arm: mvebu: Remove legacy U-Boot header from kwbimage v1 files > tools: kwbimage: Remove v1 kwbimage SPL padding to > CONFIG_SYS_U_BOOT_OFFS bytes > arm: mvebu: Remove unused macro CONFIG_SYS_U_BOOT_OFFS > arm: mvebu: gdsys: Remove custom spl_board_init() > kwbimage: Add support for extracting images via dumpimage tool > kwbimage: Update help message about how to extract from an existing > image > > Makefile | 2 +- > arch/arm/mach-mvebu/Kconfig | 26 +- > arch/arm/mach-mvebu/include/mach/cpu.h | 2 +- > arch/arm/mach-mvebu/lowlevel_spl.S | 3 +- > arch/arm/mach-mvebu/spl.c | 248 ++++++++++++-- > board/gdsys/a38x/Makefile | 2 +- > board/gdsys/a38x/spl.c | 20 -- > board/kobol/helios4/Kconfig | 5 - > board/solidrun/clearfog/Kconfig | 5 - > common/spl/Kconfig | 4 +- > common/spl/spl.c | 9 + > common/spl/spl_mmc.c | 16 +- > common/spl/spl_sata.c | 12 +- > common/spl/spl_spi.c | 2 +- > configs/clearfog_defconfig | 1 - > configs/controlcenterdc_defconfig | 1 - > configs/db-88f6720_defconfig | 1 - > configs/db-88f6820-amc_defconfig | 1 - > configs/db-88f6820-gp_defconfig | 2 - > configs/db-mv784mp-gp_defconfig | 1 - > configs/ds414_defconfig | 1 - > configs/helios4_defconfig | 1 - > configs/maxbcm_defconfig | 1 - > configs/theadorable_debug_defconfig | 1 - > configs/turris_omnia_defconfig | 1 - > configs/x530_defconfig | 1 - > include/configs/clearfog.h | 7 +- > include/configs/controlcenterdc.h | 9 - > include/configs/db-88f6720.h | 3 - > include/configs/db-88f6820-amc.h | 5 - > include/configs/db-88f6820-gp.h | 7 - > include/configs/db-mv784mp-gp.h | 3 - > include/configs/ds414.h | 5 - > include/configs/helios4.h | 7 +- > include/configs/theadorable.h | 3 - > include/configs/turris_omnia.h | 7 - > include/configs/x530.h | 3 - > include/spl.h | 1 + > scripts/config_whitelist.txt | 1 - > tools/Makefile | 8 - > tools/kwbimage.c | 437 ++++++++++++++++++------- > tools/kwbimage.h | 54 ++- > tools/kwboot.c | 24 +- > 43 files changed, 651 insertions(+), 302 deletions(-) > delete mode 100644 board/gdsys/a38x/spl.c > Viele Grüße, Stefan -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de