From patchwork Wed Mar 29 13:49:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 96202 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp2209894qgd; Wed, 29 Mar 2017 06:52:23 -0700 (PDT) X-Received: by 10.237.53.9 with SMTP id a9mr652395qte.188.1490795543737; Wed, 29 Mar 2017 06:52:23 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id c15si6260098qtb.14.2017.03.29.06.52.23; Wed, 29 Mar 2017 06:52:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linaro-uefi-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linaro-uefi-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=linaro-uefi-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 6F45F60A55; Wed, 29 Mar 2017 13:52:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2 autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 6908F6063C; Wed, 29 Mar 2017 13:51:06 +0000 (UTC) X-Original-To: linaro-uefi@lists.linaro.org Delivered-To: linaro-uefi@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 5B38E63525; Wed, 29 Mar 2017 13:50:58 +0000 (UTC) Received: from mail-wr0-f178.google.com (mail-wr0-f178.google.com [209.85.128.178]) by lists.linaro.org (Postfix) with ESMTPS id C4A6863510 for ; Wed, 29 Mar 2017 13:50:31 +0000 (UTC) Received: by mail-wr0-f178.google.com with SMTP id l43so16711890wre.1 for ; Wed, 29 Mar 2017 06:50:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7I30ecazgBExiUhnvWmlYU0xUebF5HDb1LGX+G/pko0=; b=es6SjvU8OXeOxpoyB1cMu5UAa3IpNsjvkUfdwoDo16X4dL5BUlXf4t7gHMtwLpB2AC rfm3OxA5kDgNGwAFbco1DPAmFQ9KH9mxJYsKqJkRM5iG8xq9MeXTiiTGdfe/4ZfNCLS9 RtFVzzI8ajVY9QsnWfZT4t8XtC5LpGloec/vjfXmn3+Wx+6nUmwNzIzN3tu1LBNcxBVb 5t3dVZfkBb9WajakyM7HxlzoyxXUlDhjIHBCmTgIqtUiKKoD2d6CDhUH15x2zOLVUJCc EQTcT67X+WxYRTuJ43rfEqRvlvSZGCKVGOrr5BeSO6E0aF+fFQqzmOZ0xhVQQyEWGlsq q9dg== X-Gm-Message-State: AFeK/H1guLYb5qejxmSw4HkvZmtovuEwtDnopJ0dR5gKaw4sLsisgy4pazSh4KslLIgb6aiKiPs= X-Received: by 10.28.181.80 with SMTP id e77mr1500062wmf.57.1490795430434; Wed, 29 Mar 2017 06:50:30 -0700 (PDT) Received: from localhost.localdomain ([196.81.160.3]) by smtp.gmail.com with ESMTPSA id w17sm8884418wrc.20.2017.03.29.06.50.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Mar 2017 06:50:29 -0700 (PDT) From: Ard Biesheuvel To: linaro-uefi@lists.linaro.org, leif.lindholm@linaro.org Date: Wed, 29 Mar 2017 14:49:07 +0100 Message-Id: <20170329134908.13038-6-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170329134908.13038-1-ard.biesheuvel@linaro.org> References: <20170329134908.13038-1-ard.biesheuvel@linaro.org> Cc: lersek@redhat.com Subject: [Linaro-uefi] [PATCH 5/6] Platforms/TC2: move to new DtPlatformDxe driver X-BeenThere: linaro-uefi@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linaro-uefi-bounces@lists.linaro.org Sender: "Linaro-uefi" Replace the slightly overengineered FdtPlatformDxe driver with the new and simple DtPlatformDxe driver, which simply exposes a single builtin device tree binary to the OS. Note that this driver is configurable, i.e., it allows ACPI to be selected instead of device tree, in which case AcpiPlatformDxe is allowed to run. Note that this means we have to move the reference to FdtPlatformDxe.inf from the shared .DSC to the individual .DSCs for Juno and FVP that will keep using it for now. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb | Bin 0 -> 19070 bytes Platforms/ARM/Juno/ArmJuno.dsc | 8 ++++++++ Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 10 +++++++++- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 13 +++++-------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++ Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 8 -------- 6 files changed, 30 insertions(+), 17 deletions(-) diff --git a/Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb b/Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb new file mode 100644 index 0000000000000000000000000000000000000000..fe655a05cc6e48d2a9d4247c85c04472e1a146ab GIT binary patch literal 19070 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 literal 0 HcmV?d00001 diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 1f56643ae996..71dc5463a84f 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -336,6 +336,14 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } + # + # FDT installation + # + EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { + + BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf + } + [Components.AARCH64] # # EBC diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc index 55640837ba7c..0a109da4a029 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc @@ -269,7 +269,15 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf - MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf { + + NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf + } + + # + # FDT installation + # + EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf # # Bds diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf index 1903389c8edd..e88ec329d689 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf @@ -181,14 +181,11 @@ FvNameGuid = 73dcb643-3862-4904-9076-a94af1890243 # # FDT installation # - # The UEFI driver is at the end of the list of the driver to be dispatched - # after the device drivers (eg: Ethernet) to ensure we have support for them. - INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf - - # Example to add a Device Tree to the Firmware Volume - #FILE FREEFORM = PCD(gArmVExpressTokenSpaceGuid.PcdFdtVExpressHwA15x2A7x3) { - # SECTION RAW = ArmPlatformPkg/ArmVExpressPkg/Fdts/vexpress-v2p-ca15_a7.dtb - #} + INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf + + FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 { + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb + } [FV.FVMAIN_COMPACT] FvBaseAddress = 0xB0000000 diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index 1b3c770da03f..e6778aafe8c6 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -315,3 +315,11 @@ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } + + # + # FDT installation + # + EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { + + BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf + } diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc index 9dfe2ac9e440..8c4de54c8875 100644 --- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc +++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -491,14 +491,6 @@ MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf # - # FDT installation - # - EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { - - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } - - # # UEFI application (Shell Embedded Boot Loader) # ShellPkg/Application/Shell/Shell.inf {