From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x22a.google.com (mail-wm0-x22a.google.com [IPv6:2a00:1450:400c:c09::22a]) (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 2A9DD80434 for ; Sat, 18 Mar 2017 08:06:09 -0700 (PDT) Received: by mail-wm0-x22a.google.com with SMTP id u132so34706338wmg.0 for ; Sat, 18 Mar 2017 08:06:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=tatGgtGQ43lqT2z29vD2PfHjjvHGNWPLYrH5GM8visA=; b=c+e9quGSDqV3VX6IArPW5zsSc6J67rwjY+XIVlvoa/2YJpt8l/CFaUmVi0/7PP8bwt VH91SxaENg7gokelXlfURPVloV3YNVWO+mHsAPBmdjKFtzHg524eAf7AXDr8QI2SwA7T 1JXtyksz8eFpn4AB50yLud1KP0BvYKY/Hv638= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=tatGgtGQ43lqT2z29vD2PfHjjvHGNWPLYrH5GM8visA=; b=incSL4vIMhiLctyWcJl611I51bQ3I+xXVrl7XSmBKEG+CPjA2ZFuHt4vB2QE+bWBhZ UL4DuKy116Bkf04WGjKlZUHmawFAGkSTrzGNGIQbR03On/2At9IKfGjnFZ+qTXt5ArrW +BUchWm6q7ZdZ1hzt40Lltg56S8AicAMdGT5wYRLOVkzWec2O9v+s/eT3HKWz0lPzcQK vV8SxecN8s7RlpigOOmhErW7ltY+y+lECRZepjqY1Kqa6fYFGCoHR/DM76LAp4bEAJeV NKVxRtGny1wKvn1944JMyEyhT2oj1IG6Dk88bBqFmoK+d6xjVGY3+PgjcsORKAA0ptRy 8bdg== X-Gm-Message-State: AFeK/H1K92fiA8LDJp0LVUtvXRgbey/wWn2Zpc+4vsfBFu9iMD/sWCovwglhwRkfHx8C15uI X-Received: by 10.28.44.66 with SMTP id s63mr2809155wms.77.1489849567347; Sat, 18 Mar 2017 08:06:07 -0700 (PDT) Received: from bivouac.eciton.net (bivouac.eciton.net. [2a00:1098:0:86:1000:23:0:2]) by smtp.gmail.com with ESMTPSA id t30sm13835813wra.55.2017.03.18.08.06.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Mar 2017 08:06:06 -0700 (PDT) Date: Sat, 18 Mar 2017 15:06:04 +0000 From: Leif Lindholm To: Laszlo Ersek Cc: edk2-devel-01 , Ard Biesheuvel Message-ID: <20170318150604.GM16034@bivouac.eciton.net> References: <20170317204731.31488-1-lersek@redhat.com> <20170317204731.31488-7-lersek@redhat.com> MIME-Version: 1.0 In-Reply-To: <20170317204731.31488-7-lersek@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [PATCH v2 06/12] ArmPkg: introduce EDKII Platform Has Device Tree Protocol 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: Sat, 18 Mar 2017 15:06:09 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Mar 17, 2017 at 09:47:25PM +0100, Laszlo Ersek wrote: > The presence of this protocol in the DXE protocol database implies that > the platform provides the operating system with a Device Tree-based > hardware description. This is not necessarily mutually exclusive with an > ACPI-based hardware description. A platform driver is supposed to produce > a single instance of the protocol (with NULL contents), if appropriate. > > The decision to produce the protocol is platform specific; for example, it > could depend on an HII checkbox / underlying non-volatile UEFI variable. > > The protocol is meant to be consumed by the same or another 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 protocol is not standard, it is prefixed with EDKII / Edkii, > as seen elsewhere in MdeModulePkg and SecurityPkg, for example. (ARM / Arm > doesn't look future-proof enough; future UEFI platforms could face the > same issue.) Same comment as previous patch, with the exception that if this isn't a good fit for MdeModulePkg, I'd rather take it in EmbeddedPkg than ArmPkg. Regards, Leif > Cc: Ard Biesheuvel > Cc: Leif Lindholm > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Laszlo Ersek > --- > ArmPkg/ArmPkg.dec | 2 ++ > ArmPkg/Include/Protocol/PlatformHasDeviceTree.h | 33 ++++++++++++++++++++ > 2 files changed, 35 insertions(+) > > diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec > index 0e49360a386a..1e5cee8d7393 100644 > --- a/ArmPkg/ArmPkg.dec > +++ b/ArmPkg/ArmPkg.dec > @@ -55,6 +55,8 @@ [Ppis] > [Protocols] > ## Include/Protocol/PlatformHasAcpi.h > gEdkiiPlatformHasAcpiProtocolGuid = { 0xf0966b41, 0xc23f, 0x41b9, { 0x96, 0x04, 0x0f, 0xf7, 0xe1, 0x11, 0x96, 0x5a } } > + ## Include/Protocol/PlatformHasDeviceTree.h > + gEdkiiPlatformHasDeviceTreeProtocolGuid = { 0x7ebb920d, 0x1aaf, 0x46d9, { 0xb2, 0xaf, 0x54, 0x1e, 0x1d, 0xce, 0x14, 0x8b } } > > [PcdsFeatureFlag.common] > gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE|BOOLEAN|0x00000001 > diff --git a/ArmPkg/Include/Protocol/PlatformHasDeviceTree.h b/ArmPkg/Include/Protocol/PlatformHasDeviceTree.h > new file mode 100644 > index 000000000000..a1e588c547e6 > --- /dev/null > +++ b/ArmPkg/Include/Protocol/PlatformHasDeviceTree.h > @@ -0,0 +1,33 @@ > +/** @file > + EDKII Platform Has Device Tree Protocol > + > + The presence of this protocol in the DXE protocol database implies that the > + platform provides the operating system with a Device Tree-based hardware > + description. Note that this is not necessarily mutually exclusive with an > + ACPI-based hardware description. A platform driver is supposed to produce a > + single instance of the protocol (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_PROTOCOL_H__ > +#define __EDKII_PLATFORM_HAS_DEVICE_TREE_PROTOCOL_H__ > + > +#define EDKII_PLATFORM_HAS_DEVICE_TREE_PROTOCOL_GUID \ > + { \ > + 0x7ebb920d, 0x1aaf, 0x46d9, \ > + { 0xb2, 0xaf, 0x54, 0x1e, 0x1d, 0xce, 0x14, 0x8b } \ > + } > + > +extern EFI_GUID gEdkiiPlatformHasDeviceTreeProtocolGuid; > + > +#endif > -- > 2.9.3 > >