On 12 December 2017 at 17:50, Leif Lindholm <[email protected]> wrote: > On Tue, Dec 12, 2017 at 05:35:15PM +0000, Ard Biesheuvel wrote: >> On 12 December 2017 at 17:32, Leif Lindholm <[email protected]> wrote: >> > Suggested subject tweak: >> > Silicon/SynQuacer: disable PCI RC #0 DT node if disabled -> >> > Silicon/SynQuacer: disable PCI RC DT node if RC disabled. >> > >> >> Ack. It's out of date, as you probably suspected >> >> > The code below will disable either #0 or #1 node if not enabled by >> > Pcd. >> > >> > On Tue, Dec 12, 2017 at 10:38:04AM +0000, Ard Biesheuvel wrote: >> >> If PCIe RC #0 is not enabled (due to the fact that the slot is not >> >> populated), set its DT node 'status' property to 'disabled' so that >> >> the OS will not attempt to attach to it. >> >> >> >> This means we will need to switch from the default DtPlatformDtbLoaderLib >> >> to a special one for our platform. >> >> >> >> Contributed-under: TianoCore Contribution Agreement 1.1 >> >> Signed-off-by: Ard Biesheuvel <[email protected]> >> >> --- >> >> Platform/Socionext/DeveloperBox/DeveloperBox.dsc >> >> | 8 +- >> >> Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc >> >> | 3 +- >> >> >> >> Silicon/Socionext/SynQuacer/Library/SynQuacerDtbLoaderLib/SynQuacerDtbLoaderLib.c >> >> | 94 ++++++++++++++++++++ >> >> >> >> Silicon/Socionext/SynQuacer/Library/SynQuacerDtbLoaderLib/SynQuacerDtbLoaderLib.inf >> >> | 42 +++++++++ >> >> 4 files changed, 141 insertions(+), 6 deletions(-) >> >> >> >> diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc >> >> b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc >> >> index 5ec26f9cdd34..80728fedbc20 100644 >> >> --- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc >> >> +++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc >> >> @@ -160,7 +160,8 @@ [LibraryClasses.common.DXE_CORE] >> >> >> >> PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf >> >> >> >> [LibraryClasses.common.DXE_DRIVER] >> >> - >> >> DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf >> >> + >> >> DtPlatformDtbLoaderLib|Silicon/Socionext/SynQuacer/Library/SynQuacerDtbLoaderLib/SynQuacerDtbLoaderLib.inf >> >> + FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf >> >> >> >> SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf >> >> >> >> PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf >> >> >> >> @@ -611,10 +612,7 @@ [Components.common] >> >> # >> >> # Console preference selection >> >> # >> >> - EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf { >> >> - <LibraryClasses> >> >> - FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf >> >> - } >> >> + EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf >> >> >> >> # >> >> # DT support >> >> diff --git a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc >> >> b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc >> >> index bc8ddd452d4b..c71425664bdc 100644 >> >> --- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc >> >> +++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc >> >> @@ -159,7 +159,8 @@ [LibraryClasses.common.DXE_CORE] >> >> >> >> PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf >> >> >> >> [LibraryClasses.common.DXE_DRIVER] >> >> - >> >> DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf >> >> + >> >> DtPlatformDtbLoaderLib|Silicon/Socionext/SynQuacer/Library/SynQuacerDtbLoaderLib/SynQuacerDtbLoaderLib.inf >> >> + FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf >> >> >> >> SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf >> >> >> >> PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf >> >> >> >> diff --git >> >> a/Silicon/Socionext/SynQuacer/Library/SynQuacerDtbLoaderLib/SynQuacerDtbLoaderLib.c >> >> >> >> b/Silicon/Socionext/SynQuacer/Library/SynQuacerDtbLoaderLib/SynQuacerDtbLoaderLib.c >> >> new file mode 100644 >> >> index 000000000000..a93a6027e64d >> >> --- /dev/null >> >> +++ >> >> b/Silicon/Socionext/SynQuacer/Library/SynQuacerDtbLoaderLib/SynQuacerDtbLoaderLib.c >> >> @@ -0,0 +1,94 @@ >> >> +/** @file >> >> +* >> >> +* Copyright (c) 2017, Linaro, Ltd. All rights reserved. >> >> +* >> >> +* This program and the accompanying materials >> >> +* are licensed and made available under the terms and conditions of the >> >> BSD License >> >> +* which 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. >> >> +* >> >> +**/ >> >> + >> >> +#include <PiDxe.h> >> >> + >> >> +#include <libfdt.h> >> >> +#include <Library/BaseLib.h> >> >> +#include <Library/DebugLib.h> >> >> +#include <Library/DxeServicesLib.h> >> >> +#include <Library/MemoryAllocationLib.h> >> >> + >> >> +#define DTB_PADDING 64 >> > >> > If there isn't a simplish way of determining this value >> > arithmetically, can you add a comment explaining why 64 is sufficient? >> > >> >> Something like >> >> // add enough space for two instances of 'status = "disabled"' >> >> ? > > Good enough for me. > Reviewed-by: Leif Lindholm <[email protected]> >
Thanks. Does that cover the delta patch I added in my own reply? _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

