Now that FdtClientDxe is the core driver that takes ownership of the host
supplied FDT, it makes sense to put it in charge of installing the FDT
configuration table as well.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
#include <Library/HobLib.h>\r
#include <libfdt.h>\r
\r
#include <Library/HobLib.h>\r
#include <libfdt.h>\r
\r
#include <Guid/FdtHob.h>\r
\r
#include <Protocol/FdtClient.h>\r
#include <Guid/FdtHob.h>\r
\r
#include <Protocol/FdtClient.h>\r
{\r
VOID *Hob;\r
VOID *DeviceTreeBase;\r
{\r
VOID *Hob;\r
VOID *DeviceTreeBase;\r
\r
Hob = GetFirstGuidHob (&gFdtHobGuid);\r
if (Hob == NULL || GET_GUID_HOB_DATA_SIZE (Hob) != sizeof (UINT64)) {\r
\r
Hob = GetFirstGuidHob (&gFdtHobGuid);\r
if (Hob == NULL || GET_GUID_HOB_DATA_SIZE (Hob) != sizeof (UINT64)) {\r
\r
DEBUG ((EFI_D_INFO, "%a: DTB @ 0x%p\n", __FUNCTION__, mDeviceTreeBase));\r
\r
\r
DEBUG ((EFI_D_INFO, "%a: DTB @ 0x%p\n", __FUNCTION__, mDeviceTreeBase));\r
\r
+ if (!FeaturePcdGet (PcdPureAcpiBoot)) {\r
+ //\r
+ // Only install the FDT as a configuration table if we want to leave it up\r
+ // to the OS to decide whether it prefers ACPI over DT.\r
+ //\r
+ Status = gBS->InstallConfigurationTable (&gFdtTableGuid, DeviceTreeBase);\r
+ ASSERT_EFI_ERROR (Status);\r
+ }\r
+\r
return gBS->InstallProtocolInterface (&ImageHandle, &gFdtClientProtocolGuid,\r
EFI_NATIVE_INTERFACE, &mFdtClientProtocol);\r
}\r
return gBS->InstallProtocolInterface (&ImageHandle, &gFdtClientProtocolGuid,\r
EFI_NATIVE_INTERFACE, &mFdtClientProtocol);\r
}\r
\r
[Guids]\r
gFdtHobGuid\r
\r
[Guids]\r
gFdtHobGuid\r
+ gFdtTableGuid\r
+\r
+[FeaturePcd]\r
+ gArmVirtTokenSpaceGuid.PcdPureAcpiBoot\r
#include <libfdt.h>\r
#include <Library/XenIoMmioLib.h>\r
\r
#include <libfdt.h>\r
#include <Library/XenIoMmioLib.h>\r
\r
#include <Guid/VirtioMmioTransport.h>\r
#include <Guid/FdtHob.h>\r
\r
#include <Guid/VirtioMmioTransport.h>\r
#include <Guid/FdtHob.h>\r
\r
- if (!FeaturePcdGet (PcdPureAcpiBoot)) {\r
- //\r
- // Only install the FDT as a configuration table if we want to leave it up\r
- // to the OS to decide whether it prefers ACPI over DT.\r
- //\r
- Status = gBS->InstallConfigurationTable (&gFdtTableGuid, DeviceTreeBase);\r
- ASSERT_EFI_ERROR (Status);\r
- }\r
-\r
return EFI_SUCCESS;\r
}\r
return EFI_SUCCESS;\r
}\r
XenIoMmioLib\r
\r
[Guids]\r
XenIoMmioLib\r
\r
[Guids]\r
gVirtioMmioTransportGuid\r
gFdtHobGuid\r
\r
gVirtioMmioTransportGuid\r
gFdtHobGuid\r
\r
-[FeaturePcd]\r
- gArmVirtTokenSpaceGuid.PcdPureAcpiBoot\r
-\r
[Protocols]\r
gEfiDevicePathProtocolGuid\r
\r
[Protocols]\r
gEfiDevicePathProtocolGuid\r
\r