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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id F1A23C433F5 for ; Thu, 23 Dec 2021 18:28:13 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CC2C0830D9; Thu, 23 Dec 2021 19:28:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de 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; secure) header.d=gmx.net header.i=@gmx.net header.b="GEfIVive"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 215F383112; Thu, 23 Dec 2021 19:28:09 +0100 (CET) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (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 93F6483045 for ; Thu, 23 Dec 2021 19:28:05 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1640284082; bh=joT59wTNkQjmgK4Op0wa6Ee39/eRWx/6L8VSl2vrAbY=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=GEfIViveZTrog3BXZdNUEuYMaEcOli34gk/G8Epo96Ldf6X6LtqXlTP5flPJ/K5Wv WbUOMMTXULFMmAcGioXiehEBhIVaOxyDsdJP9H3eNUSZmvadhKgn2xAhVfg3d+ONRm HQtWUQfAv+UlmTR121alq+l9AaY5PcTvTf4VnyzM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.123.35] ([88.152.144.157]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MLi8m-1mivy62dyi-00Hd6r; Thu, 23 Dec 2021 19:28:02 +0100 Message-ID: Date: Thu, 23 Dec 2021 19:27:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: [PATCH 0/3] Conformance Profiles Table support in U-boot Content-Language: en-US To: Jose Marinho Cc: "ilias.apalodimas@linaro.org" , "sughosh.ganu@linaro.org" , "takahiro.akashi@linaro.org" , "agraf@csgraf.de" , nd , Samer El-Haj-Mahmoud , Grant Likely , "u-boot@lists.denx.de" References: <20211217125506.138902-1-jose.marinho@arm.com> <2c6d3e15-d8e9-71f5-f258-a7079fefcb87@gmx.de> From: Heinrich Schuchardt In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:c2BbKJlQUEsxIc6M2NUXtoSSTHwdUnvzyzJn0C6skKKU0NcqlVa i4bop6+NQEuPMA1IwzTCUU+KrECnY4h49civ/3TPaY9RCDcRgtKgpokl6sqomI7tknfkmlq iyDzmHneKq53kL4QCPTWdAnJv4ZRvdXD2Q1CzOJuLWImXw8fXgyIvN+bR5+xc4umqbsLXrE fhnEvMJnahnWahek3H8rQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:AW00ha7+6Bs=:VxVEgDvaIpObF6T+Yt7PP0 4NB7MWU37mGN0D+HlPjzL9dz2zw4CRoJ8YdnSx4VhGH5ocINKnFzQf4I86EqEXCUIrYJE1zk1 vqC0mI/ls/oLmavmNxDyHsXL+H6PrsNP4eZkCQrqOq2X9aiC0hpz/8R29M5CXdqxccEPr5Y3c qGZ650ghfHMtVZIMsknO6S6Hk62APS0VlUI17BofulxCFV7Wi9/V5taGxlYtdFkb5MW7msBdr HRyvGZ9ErKT5SbblrPzgiwR5easM0hy9BZxNcGiGW2tlWiEDp4UsxBawW/g3ri06KjzMl9cCr Pdq/eVkCTG6XrKaEpFyryBeIF7tlaIWNkvqm25IRUTXx6RlXHPhn/n4U2LsFQpXsU/zaWPGFH Wtz6yxCTRMpS+JoZ/FGRzRpIrq7/1OF3x9Vjc4Ua0oEhU6uic3e4yFD3I7fiN/IHy12fuHOht 5plJBQb6hlluq0KliitnNeF6SEnBd68Bmp9By7zkFqbSzVBR4+QUePNWvtRnea+UrmY5MQiS4 fcfRN2RfQfxW2u1Ob40RJ7cJ2Wd32uxDSDFLzmP72109O8qdWQyM0geV3SZYZY5/DDJDzU5j6 qdCjU1tDmt4wGkmxJBxM/hbJyo/vh7SDhhVrHdPPnJdskCHoAXLMYt9l9Z98vPLSZPVN0cqgm p1AjNIlxlRZ/Aw5xLK2ZkDm469oymHx8y8rceSuru/WqDx5zCJfR+RvrKZH41V9h8iXHCvAwJ LOF48IQ6WY2trmCJ03fPJhxnC5pC/8UedCM0pv5SE2nakzNVdTdlZ9sdGlV5cKsDaNIt7WYxk ZHbvoXJiqp/46/O99rn7dgCZYoyodmV0prQJsbCMaIvlpLBJg5jYwbg5NyayukKJtCXvFDsvx zUMmPb0FzkVJAcBgDnMexF+m42+6iY5Y+CJ4Xaos9hnu7MPnJWQwsH4QCdkDy7WIglI5hQQ6x sPU+wpyXtd1IGmvj4aKNy6R253px3Dqh+B5+38mfelTjESc5RAsK6nvreVIxihthc6LB0f9te vD8xFaP8lT86xhJesLvtxQcb5VXEF6/o5IUtFqsSq0rn9EzUbcKUji6KYdagA5quU7xupKdsu 4ciDALWw5tfizw= X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 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 On 12/23/21 16:20, Jose Marinho wrote: > Hi Heinrich, > >> >> The change suggested in >> https://bugzilla.tianocore.org/show_bug.cgi?id=3D3591 >> is a not well designed: How could the missing of a table ever be taken = as a >> sign of compliance? >> > Below is my interpretation of intent behind the ECPT changes: > The UEFI spec specifies a set of requirements for UEFI compliance in Sec= tion 2.6. > Any complete UEFI implementation must adhere to the requirements in Sect= ion 2.6. > > The Conformance Profiles allow for "partial" UEFI implementations, which= implement a subset of the full UEFI requirements. > The conformance with a particular profile should be explicitly advertise= d (via the conformance profiles table). If not, then full compliance with = the Section 2.6 requirements is assumed. > >> How would an application make use of the table? >> What information does it provide that is not better obtained from API c= alls? >> > With the ECPT, an application can easily detect the UEFI profile that's = implemented and hence adopt a model of execution that suits that profile. > Alternatively the application could probe the different RT services, UEF= I variables, etc to "detect" a profile. The table allows for a more straig= htforward or simpler detection. U-Boot in many cases will not implement any of the profiles in full. E.g. GetTime() might be missing if there is no RTC. The table will not be very helpful as it will be empty in these cases. Why should we blow up the U-Boot code size with this - most of the time - useless table? > >> As the table is not defined in UEFI 2.9 and no software uses it, why sh= ould we >> implement it? > The code first UEFI ECR was accepted. Once a UEFI ECR is accepted it bec= omes part of the UEFI specification. Code first? https://bugzilla.tianocore.org/show_bug.cgi?id=3D3591 does not indicate any implementation of code using or providing the table. The way the new table was defined does not make sense. It is assumed that if the table is missing the UEFI implementation is compliant to the complete UEFI spec. This aspect needs to be fixed. It is not too late to do so. This is the paragraph that needs to change: "The absence of this table shall indicate that the platform implementation is conformant with the UEFI specification requirements, as defined in section 2.6. This is equivalent to publishing this configuration table with the EFI_CONFORMANCE_PROFILES_UEFI_SPEC_GUID conformance profile." Best regards Heinrich > > Regards, > > Jose > >> Best regards >> >> Heinrich >> >>> The ECPT table was introduced in UEFI following the code-first path. >>> The acceptance ticket can be viewed at: >>> https://bugzilla.tianocore.org/show_bug.cgi?id=3D3591 >>> >>> This patch set implements the ECPT table in U-boot. >>> >>> Jose Marinho (3): >>> efi: Create ECPT table >>> efi: ECPT add EBBRv2.0 conformance profile >>> cmd: efi: efidebug print ECPT table >>> >>> cmd/efidebug.c | 45 +++++++++++++++++++ >>> include/efi_api.h | 14 ++++++ >>> include/efi_loader.h | 9 ++++ >>> lib/efi_loader/Kconfig | 12 +++++ >>> lib/efi_loader/Makefile | 1 + >>> lib/efi_loader/efi_conformance.c | 75 >> ++++++++++++++++++++++++++++++++ >>> lib/efi_loader/efi_setup.c | 6 +++ >>> 7 files changed, 162 insertions(+) >>> create mode 100644 lib/efi_loader/efi_conformance.c >>> >