From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c0b::230; helo=mail-it0-x230.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-it0-x230.google.com (mail-it0-x230.google.com [IPv6:2607:f8b0:4001:c0b::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 09A6321A1099A for ; Tue, 12 Dec 2017 10:04:35 -0800 (PST) Received: by mail-it0-x230.google.com with SMTP id t1so480480ite.5 for ; Tue, 12 Dec 2017 10:09:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=KAPPAzT9brWwxwGFdjukx93YTBPZ0dinhunnCNMI7mo=; b=AIA4dOO36SMx26W/GNaQPvXVbsxmlL3qQKFRDjh6T9IsdiWWkQtSQwX3Kxa9+vzgcS oD3KCsTTirNboKJVdn4AtNga6QhGUDqjaIAib9bggjLYN1cVjtVSvJY5fsZ2uI8ff6Cs lk7NW/3APoR8aXyjRNFU13mcwg3hHPXJeyq8g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=KAPPAzT9brWwxwGFdjukx93YTBPZ0dinhunnCNMI7mo=; b=jmnXsnqdujGcvvTj32BNgz1vVEatgIMWq9ldlW4JoqefkJEoJmEJ80sC7XD0oW/ggR uFRV/AhaPWY9rN9KGQ+kSi6Plka3mbly8byuqj3HN6HsKlAXxZUrn6uIobZthI5k+joU F2LpvE6xSx+0IGLEnBSjuapEbPFKIwAsQnGTJgJ+P2xPU9MmEwkI9Nhu7bLhqJeXomlb D1kaogOk3U8DOYh0LhXVecmY4kbvf0bjPE68t4DSnQyDdvvBPpV8csRXY/8352wtigXk /2tCiVeV05dRpvKv8q+40TbYnSZKSc0/s45NKJ+eFAUeTf/UR9+6Jhr4K4SmR/BppCjJ MshA== X-Gm-Message-State: AKGB3mLPLUns5nwaBwZMB0km+JN1BPQiEJNPyGfQ6/x3YgWOrxkCbxo2 U35/L8tEiXrwasCwDNFix9PHM2iGtUgT8x12lt36qg== X-Google-Smtp-Source: ACJfBos/OZxACBKvcR9VRcj3DXCTXXnVq/EvH1E4czDBd0zH8XvbWWVbt2qyJ22CmlUXQDvxpC8UYR5x4qBrvqLEqrc= X-Received: by 10.107.174.222 with SMTP id n91mr6169648ioo.43.1513102154108; Tue, 12 Dec 2017 10:09:14 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.104.16 with HTTP; Tue, 12 Dec 2017 10:09:13 -0800 (PST) In-Reply-To: <20171212175051.264agxxzdt5vsfof@bivouac.eciton.net> References: <20171212103807.18836-1-ard.biesheuvel@linaro.org> <20171212103807.18836-6-ard.biesheuvel@linaro.org> <20171212173230.bcm2osdd4iw5auyd@bivouac.eciton.net> <20171212175051.264agxxzdt5vsfof@bivouac.eciton.net> From: Ard Biesheuvel Date: Tue, 12 Dec 2017 18:09:13 +0000 Message-ID: To: Leif Lindholm Cc: "edk2-devel@lists.01.org" , Daniel Thompson , Masami Hiramatsu Subject: Re: [PATCH edk2-platforms 5/8] Silicon/SynQuacer: disable PCI RC #0 DT node if disabled X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Dec 2017 18:04:36 -0000 Content-Type: text/plain; charset="UTF-8" On 12 December 2017 at 17:50, Leif Lindholm wrote: > On Tue, Dec 12, 2017 at 05:35:15PM +0000, Ard Biesheuvel wrote: >> On 12 December 2017 at 17:32, Leif Lindholm 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 >> >> --- >> >> 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 { >> >> - >> >> - 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 >> >> + >> >> +#include >> >> +#include >> >> +#include >> >> +#include >> >> +#include >> >> + >> >> +#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 > Thanks. Does that cover the delta patch I added in my own reply?