From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6BE84803D7 for ; Mon, 20 Mar 2017 02:03:37 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D3D106AAE4; Mon, 20 Mar 2017 09:03:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D3D106AAE4 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=lersek@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com D3D106AAE4 Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-55.phx2.redhat.com [10.3.116.55]) by smtp.corp.redhat.com (Postfix) with ESMTP id D93F55DD62; Mon, 20 Mar 2017 09:03:36 +0000 (UTC) To: Leif Lindholm References: <20170317204731.31488-1-lersek@redhat.com> <20170317204731.31488-7-lersek@redhat.com> <20170318150604.GM16034@bivouac.eciton.net> Cc: edk2-devel-01 , Ard Biesheuvel From: Laszlo Ersek Message-ID: <38546ca2-2c21-3c74-01e5-b50d5e7aa1d7@redhat.com> Date: Mon, 20 Mar 2017 10:03:34 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170318150604.GM16034@bivouac.eciton.net> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 20 Mar 2017 09:03:38 +0000 (UTC) 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: Mon, 20 Mar 2017 09:03:37 -0000 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit On 03/18/17 16:06, Leif Lindholm wrote: > 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. Sure, if we're sticking with this series, I can move the protocol definition to EmbeddedPkg. Thanks Laszlo > > 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 >> >>