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.)
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@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
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 <ard.biesheuvel@linaro.org> > Cc: Leif Lindholm <leif.lindholm@linaro.org> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Laszlo Ersek <lersek@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
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.biesheuvel@linaro.org> >> Cc: Leif Lindholm <leif.lindholm@linaro.org> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Laszlo Ersek <lersek@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
© 2016 - 2024 Red Hat, Inc.