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=-16.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, 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 34B98C4338F for ; Fri, 30 Jul 2021 21:48:37 +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 5A8A960560 for ; Fri, 30 Jul 2021 21:48:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 5A8A960560 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 152698310F; Fri, 30 Jul 2021 23:48:34 +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="KmDbwaXp"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 031D383116; Fri, 30 Jul 2021 23:48:32 +0200 (CEST) Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) (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 CAFAB8310F for ; Fri, 30 Jul 2021 23:48:27 +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@google.com Received: by mail-wr1-x42a.google.com with SMTP id z4so13021708wrv.11 for ; Fri, 30 Jul 2021 14:48:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=E5sEbtlQtz496z8BRqxciTcADpJFQCgZ5Wng9tDcMj4=; b=KmDbwaXpNcWvLCgn/N1fiUU2oibR98TU2IBYgnoVep2bdgm8zHpNIZyt32DLhGdZFn Se5edTl+EZrZZNYkSbZ6daUx1tVIu6BZqmR6szfNdEddJk7bFh48bx06+Ap6/eMKTgRB B2y3VWCt10TT25yiNJyNC//+sOD5EHBxNPazs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=E5sEbtlQtz496z8BRqxciTcADpJFQCgZ5Wng9tDcMj4=; b=ZfiBev50YarpSev3rcAYLAbcTJO8d73MI960jbIh8z/o7FPZ+Fg4qfgGpZlkBFZkuk 00cMUDULWl2jpgCUVUiBHA5nSDsmD9WbH0vs8Ij2jPyNeHm3Rq2LAmf/Ye5ANqP693n9 IoNFeI+cJ8eegoInw9Z9aldrdjLNiiLWVd/jexJGXuhccIrLbUeH+DiZjQYmyN9cSS0W B9agBcfx5oum2dngd1dANV59L1H9HPALHjaoe4zpCDjB+CEX+wt0evE7ldv484q0NgN2 qj5azEHeGpRaaeRzw4njZ2KpeOBlCjuczQW+NiPc75rIb8CW/4KF+iYQQ8qRW9NTIMBK Qx+Q== X-Gm-Message-State: AOAM532G/zlOkRdQwJPcCddRTxnUtquPIrilgSQRTfFvGmLFDkodRQzl M1MaFPDUT9oeuD1quDcMbghOOVk/9wURVuxuqoQkqg== X-Google-Smtp-Source: ABdhPJzyNjibPSdh7u9s2PK7ZDmUTXV+6iLnf3ZRmRcHL9TZfjtHpWFgl1x03TXFxBFc/5kMTdLtmZT2ni5nBlnX064= X-Received: by 2002:a5d:5644:: with SMTP id j4mr5572039wrw.66.1627681706903; Fri, 30 Jul 2021 14:48:26 -0700 (PDT) MIME-Version: 1.0 References: <20210702183620.1542680-1-sjg@chromium.org> <20210702183620.1542680-4-sjg@chromium.org> <20210726220735.GA8013@bill-the-cat> <5dba1547-37cc-14f0-1514-1dc337b0d25e@gmx.de> <20210728235513.GJ9379@bill-the-cat> <20210729135247.GO9379@bill-the-cat> <20210730213300.GE9379@bill-the-cat> In-Reply-To: <20210730213300.GE9379@bill-the-cat> From: Simon Glass Date: Fri, 30 Jul 2021 15:48:15 -0600 Message-ID: Subject: Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL To: Tom Rini Cc: Heinrich Schuchardt , U-Boot Mailing List , Ilias Apalodimas , =?UTF-8?Q?Pali_Roh=C3=A1r?= , Mark Kettenis Content-Type: text/plain; charset="UTF-8" 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 Tom, On Fri, 30 Jul 2021 at 15:33, Tom Rini wrote: > > On Fri, Jul 30, 2021 at 01:02:18PM -0600, Simon Glass wrote: > > Hi Tom, > > > > On Thu, 29 Jul 2021 at 07:52, Tom Rini wrote: > > > > > > On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote: > > > > Hi, > > > > > > > > On Wed, 28 Jul 2021 at 17:55, Tom Rini wrote: > > > > > > > > > > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote: > > > > > > > > > > > > > > > > > > On 7/27/21 12:07 AM, Tom Rini wrote: > > > > > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote: > > > > > > > > > > > > > > > This feature should never have been made available when driver model > > > > > > > > or devicetree are disabled. Add these as conditions, so that we don't > > > > > > > > create even more barriers to migration. > > > > > > > > > > > > > > > > Add a note about the substantial size increment associated with this > > > > > > > > option. > > > > > > > > > > > > > > > > Signed-off-by: Simon Glass > > > > > > > > --- > > > > > > > > > > > > > > > > Changes in v2: > > > > > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL > > > > > > > > - Note the approximate size of this feature in the help > > > > > > > > > > > > > > > > lib/efi_loader/Kconfig | 4 +++- > > > > > > > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > > > > > > > > > > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig > > > > > > > > index 6242caceb7f..466abfed300 100644 > > > > > > > > --- a/lib/efi_loader/Kconfig > > > > > > > > +++ b/lib/efi_loader/Kconfig > > > > > > > > @@ -1,6 +1,6 @@ > > > > > > > > config EFI_LOADER > > > > > > > > bool "Support running UEFI applications" > > > > > > > > - depends on OF_LIBFDT && ( \ > > > > > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \ > > > > > > > > > > > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid > > > > > > of this symbol? > > > > > > > > > > No, but I did send out a message about that today as we're very close. > > > > > Much closer than I had expected us to be. > > > > > > > > Note we will still have SPL_DM, I think. > > > > > > Right. > > > > > > > > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM? > > > > > > > > > > Yes, a few. It's vexpress_aemv8a_semi, warp (fixed by > > > > > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/ > > > > > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper. > > > > > > > > > > > Why are these separate symbols? Isn't this symbol to be eliminated, too? > > > > > > > > > > Simon? > > > > > > > > If we do eliminate DM it will be in a separate series. Like Tom I am > > > > pleasantly surprised at how close we are. > > > > > > > > But please let's consider patches on their merits. It is fine to reply > > > > with a wishlist but even better to reply with a follow-up patch. > > > > > > OK. So, build-wise, EFI_LOADER does not require OF_CONTROL. > > > > I strongly believe it should (and it should have 5 years ago too). New > > features should not be built on pre-migration stuff. > > Well, what legacy interfaces is it using? That's something to figure > out and address as needed. It was built on non-DM and I believe it still has code for non-DM (e.g. look for DM_MMC). Without DM, OF_CONTROL has no purpose IMO. Perhaps Heinrich has cleaned a lot of that old cruft out now? > > > > > Somewhat related, I think we need to create a separate symbol which > > > > means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing. > > > > > > > > Also I think we should push of-platdata, since otherwise we're going > > > > to hit the same problem of migrating SPL boards to DM one day. > > > > > > Note that we don't have CONFIG_OF_PLATDATA just > > > CONFIG_(SPL|TPL)_OF_PLATDATA. > > > > Indeed. But we haven't defined it because we don't want to permit it. > > It is just for constrained environments and we assume that U-Boot > > proper has enough space (how else could it load Linux?) > > If OF_PLATDATA for U-Boot itself makes sense or not is a separate > discussion to have. OK, I'd love to hear the reasoning on that one day. > > > > > > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate > > > > > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends > > > > > > on CONFIG_DM) would make more sense to me. But only in a patch > > > > > > eliminating the non-BLK code. > > > > > > > > > > I just know that off-hand, partition + disk + block has some corner > > > > > case, but maybe that corner case is unintentional in terms of usage > > > > > today. > > > > > > > > > > > > > ARM && (SYS_CPU = arm1136 || \ > > > > > > > > SYS_CPU = arm1176 || \ > > > > > > > > SYS_CPU = armv7 || \ > > > > > > > > @@ -25,6 +25,8 @@ config EFI_LOADER > > > > > > > > will expose the UEFI API to a loaded application, enabling it to > > > > > > > > reuse U-Boot's device drivers. > > > > > > > > > > > > > > > > + For ARM 32-bit, this adds about 90KB to the size of U-Boot. > > > > > > > > + > > > > > > > > > > > > There is no unit ISO prefix K. Do you mean KiB? > > > > > > > > > > > > 90 KiB may be the value today. Will you update it regularly? Otherwise > > > > > > don't put a number here. > > > > > > > > > > > > I can't see that the effect on size is truly architecture specific. Why > > > > > > do you refer to 32bit ARM? > > > > > > > > > > > > Such a comment would better fit into a documentation chapter on > > > > > > downsizing U-Boot. > > > > > > > > > > Yes, we should probably drop that specific note. > > > > > > > > From my POV I really like these notes in Kconfig. They appear in a few > > > > places and provide people with rough guidance. I'd like to see more of > > > > them. I don't know how we can keep them up-to-date, although I'd argue > > > > that they should stay constant, if we are holding to our no-bloat > > > > ideal. > > > > > > I feel like EFI gets a bit of an undeserved reputation here. It's not > > > growing any worse than the rest of the world is over fixes and error > > > correction (which is to say, 16/32/40 bytes here and there). And > > > there's not "big" new default features coming in. > > > > We can agree on the 'reputation' bit but I can't think of a more > > deserving feature :-) > > > > I keep getting the capsule-update series in my inbox, for example and > > I know there is TPM stuff in the works. > > Yes, but TPM and capsule-update won't be default enabled for all > platforms. I run every PR I get (and branch I make and merge) through a > before/after world build and use buildman's sizes tools to check (aside, > I'd love some csv output format for that, but I haven't gotten around to > thinking on how to do that) and that's where I'm coming from on this. I > am keeping an eye out for default new features everywhere, and default > new functionality everywhere. We could have buildman output some stats file as 'artifacts' in gitlab perhaps, then have a script that picks them up and stores them somewhere for analysis? Regards, Simon