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

Reply via email to