On Mon, 4 Nov 2019 at 18:49, Ashish Singhal <ashishsin...@nvidia.com> wrote: > > Add a PCD to govern whether to use DT or ACPI in case the > variable governing this is not found or is not valid. > > Signed-off-by: Ashish Singhal <ashishsin...@nvidia.com>
Reviewed-by: Ard Biesheuvel <ard.biesheu...@linaro.org> Pushed as 3a63c17ebc85..601a18bf08ca Thanks! > --- > EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.c | 16 ++++++++++------ > EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf | 3 +++ > EmbeddedPkg/EmbeddedPkg.dec | 5 +++++ > 3 files changed, 18 insertions(+), 6 deletions(-) > > diff --git a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.c > b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.c > index 907d46a..e35ca33 100644 > --- a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.c > +++ b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.c > @@ -124,18 +124,22 @@ DtPlatformDxeEntryPoint ( > Status = gRT->GetVariable(DT_ACPI_VARIABLE_NAME, &gDtPlatformFormSetGuid, > NULL, &BufferSize, &DtAcpiPref); > if (EFI_ERROR (Status)) { > - DEBUG ((DEBUG_WARN, "%a: no DT/ACPI preference found, defaulting to > DT\n", > - __FUNCTION__)); > - DtAcpiPref.Pref = DT_ACPI_SELECT_DT; > + DEBUG ((DEBUG_WARN, "%a: no DT/ACPI preference found, defaulting to > %s\n", > + __FUNCTION__, PcdGetBool (PcdDefaultDtPref) ? L"DT" : L"ACPI")); > + DtAcpiPref.Pref = PcdGetBool (PcdDefaultDtPref) ? > + DT_ACPI_SELECT_DT : > + DT_ACPI_SELECT_ACPI; > } > } > > if (!EFI_ERROR (Status) && > DtAcpiPref.Pref != DT_ACPI_SELECT_ACPI && > DtAcpiPref.Pref != DT_ACPI_SELECT_DT) { > - DEBUG ((DEBUG_WARN, "%a: invalid value for %s, defaulting to DT\n", > - __FUNCTION__, DT_ACPI_VARIABLE_NAME)); > - DtAcpiPref.Pref = DT_ACPI_SELECT_DT; > + DEBUG ((DEBUG_WARN, "%a: invalid value for %s, defaulting to %s\n", > + __FUNCTION__, DT_ACPI_VARIABLE_NAME, PcdGetBool (PcdDefaultDtPref) ? > L"DT" : L"ACPI")); > + DtAcpiPref.Pref = PcdGetBool (PcdDefaultDtPref) ? > + DT_ACPI_SELECT_DT : > + DT_ACPI_SELECT_ACPI; > Status = EFI_INVALID_PARAMETER; // trigger setvar below > } > > diff --git a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf > b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf > index b68f154..450ea29 100644 > --- a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf > +++ b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf > @@ -46,6 +46,9 @@ > gEdkiiPlatformHasAcpiGuid > gFdtTableGuid > > +[Pcd] > + gEmbeddedTokenSpaceGuid.PcdDefaultDtPref > + > [Depex] > gEfiVariableArchProtocolGuid AND > gEfiVariableWriteArchProtocolGuid > diff --git a/EmbeddedPkg/EmbeddedPkg.dec b/EmbeddedPkg/EmbeddedPkg.dec > index bbaadc5..8812a6d 100644 > --- a/EmbeddedPkg/EmbeddedPkg.dec > +++ b/EmbeddedPkg/EmbeddedPkg.dec > @@ -185,3 +185,8 @@ > # truncation on overflow to specify negative offsets. > # > gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0x0|UINT64|0x0000058 > + > + # > + # Selection between DT and ACPI as a default > + # > + gEmbeddedTokenSpaceGuid.PcdDefaultDtPref|TRUE|BOOLEAN|0x0000059 > -- > 2.7.4 > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#50205): https://edk2.groups.io/g/devel/message/50205 Mute This Topic: https://groups.io/mt/41355681/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-