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 <ard.biesheu...@linaro.org>
>> Cc: Leif Lindholm <leif.lindh...@linaro.org>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
>> ---
>>  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
>>
>>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to