From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it0-x22b.google.com (mail-it0-x22b.google.com [IPv6:2607:f8b0:4001:c0b::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 76ED121DFA7B1 for ; Fri, 24 Mar 2017 15:42:43 -0700 (PDT) Received: by mail-it0-x22b.google.com with SMTP id w124so23130561itb.1 for ; Fri, 24 Mar 2017 15:42:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=nOOcC3dIWuCKbIl4aRGbT5jP8HGCZmzxYUuvo+X+MJk=; b=j+O/5iaa3Su84ZeKVCcG1DCkJ9NI7Zh2DYgoX6Jrr3DV3U6AfW7Q3u+ljzOMfq4+34 3sgSFdrZUDdAmf4oVpBMjbV5BfJjrQpo7ZSLm1r6N/w9jeBotdZFehJJzbE9h+Pznd4U 1/yQVoJJpjFFQR1eOIL73K8vC/EE94bPy9OCY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=nOOcC3dIWuCKbIl4aRGbT5jP8HGCZmzxYUuvo+X+MJk=; b=AOEAJYeZ0gGuR6btmVZWO1VPQuj/kR2PQqsC+zHSfxMznZNXc/bdkzM12pgN3wRMCp 5fMoDI23AdMivNohA0VCXTvVt9zPfBdOS5Hb96v3FuVAIzv7rqfTeSoOoOg0a39hUflu VJ18k/Rp0ygYZZLSRGDujYeYlrzLaUwLqZyxVo3NLcNSyNjp1cWBzWH+GylPvj/FgRKo cEToK4BwmmpQZQYr6bbK0u9+vQy95r1TB4eYmj7J8Y2nK39811C7fTve1zcrofscjSIf AFBtVkaqunMOi9BYXwHdoMywqmSB0gHTCWoptR5nQYVe4PCldDjHUWzfmQF7ReF3oTWU FXgQ== X-Gm-Message-State: AFeK/H1061GxkLFtvvGXXmYglAWKM7HFM7o8Em/naagDyvGhS/TerUVKxBPbS2XAdMQUqR8vr4kgjIh6arVNdDSR X-Received: by 10.107.168.21 with SMTP id r21mr10074469ioe.45.1490395362742; Fri, 24 Mar 2017 15:42:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.10.27 with HTTP; Fri, 24 Mar 2017 15:42:42 -0700 (PDT) In-Reply-To: <20170324223819.11377-7-lersek@redhat.com> References: <20170324223819.11377-1-lersek@redhat.com> <20170324223819.11377-7-lersek@redhat.com> From: Ard Biesheuvel Date: Fri, 24 Mar 2017 22:42:42 +0000 Message-ID: To: Laszlo Ersek Cc: edk2-devel-01 , Leif Lindholm Subject: Re: [PATCH v3 06/12] EmbeddedPkg: introduce EDKII Platform Has Device Tree GUID X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Mar 2017 22:42:43 -0000 Content-Type: text/plain; charset=UTF-8 On 24 March 2017 at 22:38, Laszlo Ersek wrote: > The presence of this GUID in the PPI database, and/or in the DXE protocol > database (as dictated by the platform's needs in these firmware phases) > implies that the platform provides the operating system with a Device > Tree-based hardware description. This is not necessarily exclusive with > other types of hardware description (for example, an ACPI-based one). > > A platform PEIM and/or DXE driver is supposed to produce a single instance > of the PPI and/or protocol (with NULL contents), if appropriate. The > decision to produce the PPI and/or protocol is platform specific; for > example, in the DXE phase, it could depend on an HII checkbox / underlying > non-volatile UEFI variable. > > In the DXE phase, the protocol is meant to be consumed by the platform > driver that > - owns the Device Tree description of the hardware, and > - is responsible for installing it as a system configuration table. > > Said FDT-owner driver can wait for the protocol via DEPEX or protocol > notify. > > Because this GUID is not standard, it is prefixed with EDKII / Edkii, as > seen elsewhere (for example in MdeModulePkg and SecurityPkg). > > Cc: Ard Biesheuvel > Cc: Leif Lindholm > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Laszlo Ersek Reviewed-by: Ard Biesheuvel > --- > > Notes: > v3: > - move GUID from ArmPkg to EmbeddedPkg [Leif] > - apply the protocol -> generic GUID changes to naming, comments, and > the commit message, that were suggested by Star for the MdeModulePkg / > ACPI counterpart > > EmbeddedPkg/EmbeddedPkg.dec | 3 ++ > EmbeddedPkg/Include/Guid/PlatformHasDeviceTree.h | 35 ++++++++++++++++++++ > 2 files changed, 38 insertions(+) > > diff --git a/EmbeddedPkg/EmbeddedPkg.dec b/EmbeddedPkg/EmbeddedPkg.dec > index 2c2cf41103c2..002b053a921a 100644 > --- a/EmbeddedPkg/EmbeddedPkg.dec > +++ b/EmbeddedPkg/EmbeddedPkg.dec > @@ -56,6 +56,9 @@ [Guids.common] > gFdtHobGuid = { 0x16958446, 0x19B7, 0x480B, { 0xB0, 0x47, 0x74, 0x85, 0xAD, 0x3F, 0x71, 0x6D } } > gFdtVariableGuid = { 0x25a4fd4a, 0x9703, 0x4ba9, { 0xa1, 0x90, 0xb7, 0xc8, 0x4e, 0xfb, 0x3e, 0x57 } } > > + ## Include/Guid/PlatformHasDeviceTree.h > + gEdkiiPlatformHasDeviceTreeGuid = { 0x7ebb920d, 0x1aaf, 0x46d9, { 0xb2, 0xaf, 0x54, 0x1e, 0x1d, 0xce, 0x14, 0x8b } } > + > [Protocols.common] > gHardwareInterruptProtocolGuid = { 0x2890B3EA, 0x053D, 0x1643, { 0xAD, 0x0C, 0xD6, 0x48, 0x08, 0xDA, 0x3F, 0xF1 } } > gEfiDebugSupportPeriodicCallbackProtocolGuid = { 0x9546e07c, 0x2cbb, 0x4c88, { 0x98, 0x6c, 0xcd, 0x34, 0x10, 0x86, 0xf0, 0x44 } } > diff --git a/EmbeddedPkg/Include/Guid/PlatformHasDeviceTree.h b/EmbeddedPkg/Include/Guid/PlatformHasDeviceTree.h > new file mode 100644 > index 000000000000..a9bc51270cda > --- /dev/null > +++ b/EmbeddedPkg/Include/Guid/PlatformHasDeviceTree.h > @@ -0,0 +1,35 @@ > +/** @file > + EDKII Platform Has Device Tree GUID > + > + A NULL protocol instance with this GUID in the DXE protocol database, and/or > + a NULL PPI with this GUID in the PPI database, implies that the platform > + provides the operating system with a Device Tree-based hardware description. > + Note that this is not necessarily exclusive with different kinds of hardware > + description (for example, an ACPI-based one). A platform driver and/or PEIM > + is supposed to produce a single instance of the protocol and/or PPI (with > + NULL contents), if appropriate. > + > + Copyright (C) 2017, Red Hat, Inc. > + > + This program and the accompanying materials are licensed and made available > + under the terms and conditions of the BSD License that accompanies this > + distribution. The full text of the license may be found at > + http://opensource.org/licenses/bsd-license.php. > + > + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT > + WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > +**/ > + > + > +#ifndef __EDKII_PLATFORM_HAS_DEVICE_TREE_H__ > +#define __EDKII_PLATFORM_HAS_DEVICE_TREE_H__ > + > +#define EDKII_PLATFORM_HAS_DEVICE_TREE_GUID \ > + { \ > + 0x7ebb920d, 0x1aaf, 0x46d9, \ > + { 0xb2, 0xaf, 0x54, 0x1e, 0x1d, 0xce, 0x14, 0x8b } \ > + } > + > +extern EFI_GUID gEdkiiPlatformHasDeviceTreeGuid; > + > +#endif > -- > 2.9.3 > >