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=-19.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT 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 139A7C4338F for ; Thu, 19 Aug 2021 03:46:36 +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 76E3E6108D for ; Thu, 19 Aug 2021 03:46:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 76E3E6108D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1B4F683143; Thu, 19 Aug 2021 05:46:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="fNgn8H2V"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 61C3D82EA8; Thu, 19 Aug 2021 05:46:19 +0200 (CEST) Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 79AA782EA8 for ; Thu, 19 Aug 2021 05:46:14 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@chromium.org Received: by mail-ot1-x331.google.com with SMTP id k12-20020a056830150c00b0051abe7f680bso1960576otp.1 for ; Wed, 18 Aug 2021 20:46:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eKQ1bapmI09gdtkqJeMYHwuU5D+unVQR7m8ZdwGfRfY=; b=fNgn8H2VLaesqn9xH23tSI2K6zxyb2S1XDSNueGgd6mWAPURy6Or9T+LG7DmZr+ZL6 lYVJYPbnvVA5FCS87Z35xNVjOVklMwYlW4i2GGkHtLbiRV+dgd/bqF4Q5GYWWXWoQcfq L8PQXcnvs/whBee0LUGillG+vnl0Gbtbhj+rY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eKQ1bapmI09gdtkqJeMYHwuU5D+unVQR7m8ZdwGfRfY=; b=fqjvwOVQtEx49J/TUSML6s8WnBrUttcBYQRevXu08L8Fd8teQDsXfSP3uTddzupOEe nNGuA9gKQR+ng/JXmZirkGsceRluPk1dI2JwR31pYZLRhDDC6EqdG7GfUEOFf2GMEkc1 hbjrp+Dx8aAHELRPdcWup6cm37B2JlfjWq2eoJmixqmQdffv/TNyVhpTJAAWLhJVPVdx nNUOtWdwDn4/SeQ2totyVF4Yzv4tHN2LLyP/S299nyBt79FTCNkJb6qTPzAvCNmV7Ksv 1w4vz+egyngu6+RZ7m6PRur4wubAOZBRoWMH0mhQnNAQOLE9FsoElPP+SXX8hHv1UF/l sGuA== X-Gm-Message-State: AOAM532betfWzesRx/7xe+8WH0u98gltIFOZhoj8uIusThQnZv/MhsiF qGWK1/pt5m2ryes534JPJg7FHK0XCgbJRw== X-Google-Smtp-Source: ABdhPJzuY+1PXPczd01u8hCVP5WPVdJDT8JF+fDS6k6nIsoFTYd2cd6ltlu0y+K1m+UMfi9uCJ8PMA== X-Received: by 2002:a9d:a76:: with SMTP id 109mr4353709otg.74.1629344772894; Wed, 18 Aug 2021 20:46:12 -0700 (PDT) Received: from kiwi.bld.corp.google.com (c-67-190-101-114.hsd1.co.comcast.net. [67.190.101.114]) by smtp.gmail.com with ESMTPSA id q3sm370025ooa.13.2021.08.18.20.46.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Aug 2021 20:46:12 -0700 (PDT) From: Simon Glass To: U-Boot Mailing List Cc: Ilias Apalodimas , Steffen Jaeckel , Michal Simek , Tom Rini , Dennis Gilmore , Daniel Schwierzeck , Lukas Auer , Simon Glass Subject: [PATCH 01/28] Create a new boot/ directory Date: Wed, 18 Aug 2021 21:45:34 -0600 Message-Id: <20210819034601.1618773-2-sjg@chromium.org> X-Mailer: git-send-email 2.33.0.rc1.237.g0d66db33f3-goog In-Reply-To: <20210819034601.1618773-1-sjg@chromium.org> References: <20210819034601.1618773-1-sjg@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Quite a lot of the code in common/relates to booting and images. Before adding more it seems like a good time to move the code into its own directory. Most files with 'boot' or 'image' in them are moved, except: - autoboot.c which relates to U-Boot automatically running a script - bootstage.c which relates to U-Boot timing Drop the removal of boot* files from the output directory, since this interfers with the symlinks created by tools and there does not appear to be any such file from my brief testing. Signed-off-by: Simon Glass --- Kconfig | 2 ++ Makefile | 3 ++- README | 1 + common/Kconfig.boot => boot/Kconfig | 0 boot/Makefile | 34 +++++++++++++++++++++++++++++ {common => boot}/android_ab.c | 0 {common => boot}/boot_fit.c | 0 {common => boot}/bootm.c | 0 {common => boot}/bootm_os.c | 0 {common => boot}/bootretry.c | 0 {common => boot}/common_fit.c | 0 {common => boot}/fdt_region.c | 0 {common => boot}/image-android-dt.c | 0 {common => boot}/image-android.c | 0 {common => boot}/image-cipher.c | 0 {common => boot}/image-fdt.c | 0 {common => boot}/image-fit-sig.c | 0 {common => boot}/image-fit.c | 0 {common => boot}/image-sig.c | 0 {common => boot}/image.c | 0 common/Kconfig | 2 -- common/Makefile | 22 ------------------- doc/android/boot-image.rst | 2 +- scripts/Makefile.spl | 4 ++-- tools/Makefile | 16 +++++++------- 25 files changed, 50 insertions(+), 36 deletions(-) rename common/Kconfig.boot => boot/Kconfig (100%) create mode 100644 boot/Makefile rename {common => boot}/android_ab.c (100%) rename {common => boot}/boot_fit.c (100%) rename {common => boot}/bootm.c (100%) rename {common => boot}/bootm_os.c (100%) rename {common => boot}/bootretry.c (100%) rename {common => boot}/common_fit.c (100%) rename {common => boot}/fdt_region.c (100%) rename {common => boot}/image-android-dt.c (100%) rename {common => boot}/image-android.c (100%) rename {common => boot}/image-cipher.c (100%) rename {common => boot}/image-fdt.c (100%) rename {common => boot}/image-fit-sig.c (100%) rename {common => boot}/image-fit.c (100%) rename {common => boot}/image-sig.c (100%) rename {common => boot}/image.c (100%) diff --git a/Kconfig b/Kconfig index a6c42b902f7..56ae57930f3 100644 --- a/Kconfig +++ b/Kconfig @@ -455,6 +455,8 @@ endmenu # General setup source "api/Kconfig" +source "boot/Kconfig" + source "common/Kconfig" source "cmd/Kconfig" diff --git a/Makefile b/Makefile index 3c8437d21af..3a50ad2188e 100644 --- a/Makefile +++ b/Makefile @@ -804,6 +804,7 @@ HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(srctree)/board/$(VENDOR)/common/Makef libs-$(CONFIG_API) += api/ libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/ +libs-y += boot/ libs-y += cmd/ libs-y += common/ libs-$(CONFIG_OF_EMBED) += dts/ @@ -2092,7 +2093,7 @@ CLEAN_DIRS += $(MODVERDIR) \ $(filter-out include, $(shell ls -1 $d 2>/dev/null)))) CLEAN_FILES += include/bmp_logo.h include/bmp_logo_data.h tools/version.h \ - boot* u-boot* MLO* SPL System.map fit-dtb.blob* \ + u-boot* MLO* SPL System.map fit-dtb.blob* \ u-boot-ivt.img.log u-boot-dtb.imx.log SPL.log u-boot.imx.log \ lpc32xx-* bl31.c bl31.elf bl31_*.bin image.map tispl.bin* \ idbloader.img flash.bin flash.log defconfig keep-syms-lto.c diff --git a/README b/README index 1c1db980987..1a74616d60e 100644 --- a/README +++ b/README @@ -144,6 +144,7 @@ Directory Hierarchy: /xtensa Files generic to Xtensa architecture /api Machine/arch-independent API for external apps /board Board-dependent files +/boot Support for images and booting /cmd U-Boot commands functions /common Misc architecture-independent functions /configs Board default configuration files diff --git a/common/Kconfig.boot b/boot/Kconfig similarity index 100% rename from common/Kconfig.boot rename to boot/Kconfig diff --git a/boot/Makefile b/boot/Makefile new file mode 100644 index 00000000000..57d26346afb --- /dev/null +++ b/boot/Makefile @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2004-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. + +ifndef CONFIG_SPL_BUILD + +# This option is not just y/n - it can have a numeric value +ifdef CONFIG_BOOT_RETRY_TIME +obj-y += bootretry.o +endif + +obj-$(CONFIG_CMD_BOOTM) += bootm.o bootm_os.o +obj-$(CONFIG_CMD_BOOTZ) += bootm.o bootm_os.o +obj-$(CONFIG_CMD_BOOTI) += bootm.o bootm_os.o + +endif + +obj-y += image.o +obj-$(CONFIG_ANDROID_AB) += android_ab.o +obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o image-android-dt.o +obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o +obj-$(CONFIG_$(SPL_TPL_)FIT_SIGNATURE) += fdt_region.o +obj-$(CONFIG_$(SPL_TPL_)FIT) += image-fit.o +obj-$(CONFIG_$(SPL_)MULTI_DTB_FIT) += boot_fit.o common_fit.o +obj-$(CONFIG_$(SPL_TPL_)IMAGE_SIGN_INFO) += image-sig.o +obj-$(CONFIG_$(SPL_TPL_)FIT_SIGNATURE) += image-fit-sig.o +obj-$(CONFIG_$(SPL_TPL_)FIT_CIPHER) += image-cipher.o + +obj-$(CONFIG_CMD_ADTIMG) += image-android-dt.o + +ifdef CONFIG_SPL_BUILD +obj-$(CONFIG_SPL_LOAD_FIT) += common_fit.o +endif diff --git a/common/android_ab.c b/boot/android_ab.c similarity index 100% rename from common/android_ab.c rename to boot/android_ab.c diff --git a/common/boot_fit.c b/boot/boot_fit.c similarity index 100% rename from common/boot_fit.c rename to boot/boot_fit.c diff --git a/common/bootm.c b/boot/bootm.c similarity index 100% rename from common/bootm.c rename to boot/bootm.c diff --git a/common/bootm_os.c b/boot/bootm_os.c similarity index 100% rename from common/bootm_os.c rename to boot/bootm_os.c diff --git a/common/bootretry.c b/boot/bootretry.c similarity index 100% rename from common/bootretry.c rename to boot/bootretry.c diff --git a/common/common_fit.c b/boot/common_fit.c similarity index 100% rename from common/common_fit.c rename to boot/common_fit.c diff --git a/common/fdt_region.c b/boot/fdt_region.c similarity index 100% rename from common/fdt_region.c rename to boot/fdt_region.c diff --git a/common/image-android-dt.c b/boot/image-android-dt.c similarity index 100% rename from common/image-android-dt.c rename to boot/image-android-dt.c diff --git a/common/image-android.c b/boot/image-android.c similarity index 100% rename from common/image-android.c rename to boot/image-android.c diff --git a/common/image-cipher.c b/boot/image-cipher.c similarity index 100% rename from common/image-cipher.c rename to boot/image-cipher.c diff --git a/common/image-fdt.c b/boot/image-fdt.c similarity index 100% rename from common/image-fdt.c rename to boot/image-fdt.c diff --git a/common/image-fit-sig.c b/boot/image-fit-sig.c similarity index 100% rename from common/image-fit-sig.c rename to boot/image-fit-sig.c diff --git a/common/image-fit.c b/boot/image-fit.c similarity index 100% rename from common/image-fit.c rename to boot/image-fit.c diff --git a/common/image-sig.c b/boot/image-sig.c similarity index 100% rename from common/image-sig.c rename to boot/image-sig.c diff --git a/common/image.c b/boot/image.c similarity index 100% rename from common/image.c rename to boot/image.c diff --git a/common/Kconfig b/common/Kconfig index 2ab20a6c85b..f8afa2ceff1 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -1,5 +1,3 @@ -source "common/Kconfig.boot" - menu "Console" config MENU diff --git a/common/Makefile b/common/Makefile index 9063ed93910..de993700dd5 100644 --- a/common/Makefile +++ b/common/Makefile @@ -12,21 +12,12 @@ obj-$(CONFIG_HASH) += hash.o obj-$(CONFIG_HUSH_PARSER) += cli_hush.o obj-$(CONFIG_AUTOBOOT) += autoboot.o -# This option is not just y/n - it can have a numeric value -ifdef CONFIG_BOOT_RETRY_TIME -obj-y += bootretry.o -endif - # # boards obj-y += board_f.o obj-y += board_r.o obj-$(CONFIG_DISPLAY_BOARDINFO) += board_info.o obj-$(CONFIG_DISPLAY_BOARDINFO_LATE) += board_info.o -obj-$(CONFIG_CMD_BOOTM) += bootm.o bootm_os.o -obj-$(CONFIG_CMD_BOOTZ) += bootm.o bootm_os.o -obj-$(CONFIG_CMD_BOOTI) += bootm.o bootm_os.o - obj-$(CONFIG_CMD_BEDBUG) += bedbug.o obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += fdt_support.o obj-$(CONFIG_MII) += miiphyutil.o @@ -68,7 +59,6 @@ obj-$(CONFIG_DFU_OVER_USB) += dfu.o endif obj-$(CONFIG_SPL_HASH_SUPPORT) += hash.o obj-$(CONFIG_TPL_HASH_SUPPORT) += hash.o -obj-$(CONFIG_SPL_LOAD_FIT) += common_fit.o obj-$(CONFIG_SPL_NET_SUPPORT) += miiphyutil.o obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += fdt_support.o @@ -104,22 +94,10 @@ obj-y += malloc_simple.o endif endif -obj-y += image.o -obj-$(CONFIG_ANDROID_AB) += android_ab.o -obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o image-android-dt.o -obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o -obj-$(CONFIG_$(SPL_TPL_)FIT_SIGNATURE) += fdt_region.o -obj-$(CONFIG_$(SPL_TPL_)FIT) += image-fit.o -obj-$(CONFIG_$(SPL_)MULTI_DTB_FIT) += boot_fit.o common_fit.o -obj-$(CONFIG_$(SPL_TPL_)IMAGE_SIGN_INFO) += image-sig.o -obj-$(CONFIG_$(SPL_TPL_)FIT_SIGNATURE) += image-fit-sig.o -obj-$(CONFIG_$(SPL_TPL_)FIT_CIPHER) += image-cipher.o obj-$(CONFIG_IO_TRACE) += iotrace.o obj-y += memsize.o obj-y += stdio.o -obj-$(CONFIG_CMD_ADTIMG) += image-android-dt.o - ifdef CONFIG_CMD_EEPROM_LAYOUT obj-y += eeprom/eeprom_field.o eeprom/eeprom_layout.o endif diff --git a/doc/android/boot-image.rst b/doc/android/boot-image.rst index fa8f2a47ee3..71db02521b0 100644 --- a/doc/android/boot-image.rst +++ b/doc/android/boot-image.rst @@ -139,7 +139,7 @@ overview on the whole Android 10 boot process can be found at [8]_. C API for working with Android Boot Image format ------------------------------------------------ -.. kernel-doc:: common/image-android.c +.. kernel-doc:: boot/image-android.c :internal: References diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index 25a3e7fa52e..f2a619e28a7 100644 --- a/scripts/Makefile.spl +++ b/scripts/Makefile.spl @@ -92,10 +92,10 @@ libs-y += common/init/ # Special handling for a few options which support SPL/TPL ifeq ($(CONFIG_TPL_BUILD),y) -libs-$(CONFIG_TPL_LIBCOMMON_SUPPORT) += common/ cmd/ env/ +libs-$(CONFIG_TPL_LIBCOMMON_SUPPORT) += boot/ common/ cmd/ env/ libs-$(CONFIG_TPL_LIBGENERIC_SUPPORT) += lib/ else -libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/ cmd/ env/ +libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += boot/ common/ cmd/ env/ libs-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/ ifdef CONFIG_SPL_FRAMEWORK libs-$(CONFIG_PARTITIONS) += disk/ diff --git a/tools/Makefile b/tools/Makefile index 4a86321f646..2cda7cdd75f 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -76,9 +76,9 @@ hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fit_info fit_check_sign hostprogs-$(CONFIG_CMD_BOOTEFI_SELFTEST) += file2include -FIT_OBJS-y := fit_common.o fit_image.o image-host.o common/image-fit.o -FIT_SIG_OBJS-$(CONFIG_TOOLS_LIBCRYPTO) := image-sig-host.o common/image-fit-sig.o -FIT_CIPHER_OBJS-$(CONFIG_TOOLS_LIBCRYPTO) := common/image-cipher.o +FIT_OBJS-y := fit_common.o fit_image.o image-host.o boot/image-fit.o +FIT_SIG_OBJS-$(CONFIG_TOOLS_LIBCRYPTO) := image-sig-host.o boot/image-fit-sig.o +FIT_CIPHER_OBJS-$(CONFIG_TOOLS_LIBCRYPTO) := boot/image-cipher.o # The following files are synced with upstream DTC. # Use synced versions from scripts/dtc/libfdt/. @@ -106,13 +106,13 @@ dumpimage-mkimage-objs := aisimage.o \ $(FIT_OBJS-y) \ $(FIT_SIG_OBJS-y) \ $(FIT_CIPHER_OBJS-y) \ - common/fdt_region.o \ - common/bootm.o \ + boot/fdt_region.o \ + boot/bootm.o \ lib/crc32.o \ default_image.o \ lib/fdtdec_common.o \ lib/fdtdec.o \ - common/image.o \ + boot/image.o \ imagetool.o \ imximage.o \ imx8image.o \ @@ -226,7 +226,7 @@ hostprogs-$(CONFIG_ARCH_OCTEON) += update_octeon_header update_octeon_header-objs := update_octeon_header.o lib/crc32.o hostprogs-y += fdtgrep -fdtgrep-objs += $(LIBFDT_OBJS) common/fdt_region.o fdtgrep.o +fdtgrep-objs += $(LIBFDT_OBJS) boot/fdt_region.o fdtgrep.o ifneq ($(TOOLS_ONLY),y) hostprogs-y += spl_size_limit @@ -253,7 +253,7 @@ HOSTCFLAGS_sha512.o := -pedantic -DCONFIG_SHA512 -DCONFIG_SHA384 quiet_cmd_wrap = WRAP $@ cmd_wrap = echo "\#include <../$(patsubst $(obj)/%,%,$@)>" >$@ -$(obj)/lib/%.c $(obj)/common/%.c $(obj)/env/%.c: +$(obj)/boot/%.c $(obj)/common/%.c $(obj)/env/%.c $(obj)/lib/%.c: $(call cmd,wrap) clean-dirs := lib common -- 2.33.0.rc1.237.g0d66db33f3-goog