This is the OpenPlatformPkg counterpart of the series
Embedded|ArmPlatformPkg: spring cleaning + DtPlatformDxe switch
sent out out roughly the same time as this one. Note that they are inter- dependent, i.e., applying one without the other will not result in a working build.
Patches #1 to #4 are cleanups. Patches #5 and #6 switch TC2 and FVP-AArch64 to the new and simplified DtPlatformDxe driver.
Ard Biesheuvel (6): Platforms/VExpress: remove unused logo PCD Platforms/VExpress: remove unused StatusCode references Platforms/VExpress: get rid of Tiano compression Platforms/VExpress: remove BdsLib library class resolutions Platforms/TC2: move to new DtPlatformDxe driver Platforms/FVP-AArch64: switch to simpler DT platform driver
Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb | Bin 0 -> 10368 bytes Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb | Bin 0 -> 10835 bytes Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb | Bin 0 -> 7673 bytes Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb | Bin 0 -> 8140 bytes Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb | Bin 0 -> 19070 bytes Platforms/ARM/Juno/ArmJuno.dsc | 8 +++ Platforms/ARM/Juno/ArmJuno.fdf | 9 ---- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 15 ++++-- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 27 ++-------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 31 +++++++----- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 52 ++++---------------- Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 24 +-------- 12 files changed, 51 insertions(+), 115 deletions(-) create mode 100644 Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb create mode 100644 Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb create mode 100644 Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb create mode 100644 Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb create mode 100644 Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb
This file and associated PCD are no longer used by our BDS code, so remove them.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 7 ------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 7 ------- 2 files changed, 14 deletions(-)
diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf index 90746158351e..5c3a2316cb68 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf @@ -175,13 +175,6 @@ FvNameGuid = 73dcb643-3862-4904-9076-a94af1890243 INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf
- # - # TianoCore logo (splash screen) - # - FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) { - SECTION RAW = MdeModulePkg/Logo/Logo.bmp - } - # FV Filesystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 2ace4d8e04c3..81966d2c3bce 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -167,13 +167,6 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf
- # - # TianoCore logo (splash screen) - # - FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) { - SECTION RAW = MdeModulePkg/Logo/Logo.bmp - } - # FV Filesystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
We never use the status code facility, so remove the libraries and other references to it.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 1 - Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 1 - Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 11 ++--------- 3 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index 56feed48495f..f76893626e08 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -209,7 +209,6 @@ ArmPlatformPkg/PlatformPei/PlatformPeim.inf ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf ArmPkg/Drivers/CpuPei/CpuPei.inf - IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf Nt32Pkg/BootModePei/BootModePei.inf MdeModulePkg/Universal/Variable/Pei/VariablePei.inf MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf { diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 81966d2c3bce..fbf8e9b30c0e 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -229,7 +229,6 @@ READ_LOCK_STATUS = TRUE INF ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf INF ArmPkg/Drivers/CpuPei/CpuPei.inf INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf - INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf !endif diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc index fdd5341971b7..aed889747b2e 100644 --- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc +++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -155,6 +155,8 @@ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
+ ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf + [LibraryClasses.common.SEC] ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
@@ -182,7 +184,6 @@ MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf - ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf @@ -197,7 +198,6 @@ MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf - ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf @@ -214,14 +214,12 @@ HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
[LibraryClasses.common.DXE_DRIVER] - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf @@ -234,12 +232,10 @@ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
# UiApp dependencies - ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
[LibraryClasses.common.UEFI_DRIVER] - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf @@ -249,7 +245,6 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER] HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf - ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigRuntimeLib/ArmVExpressSysConfigRuntimeLib.inf !if $(SECURE_BOOT_ENABLE) == TRUE @@ -366,8 +361,6 @@ # DEBUG_ERROR 0x80000000 // Error gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
- gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07 - gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|"" gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
There are some references to Tiano compression and to libraries that implement it, but we never use it. So get rid of it.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/Juno/ArmJuno.fdf | 9 --------- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 9 --------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 9 --------- Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 5 ----- 4 files changed, 32 deletions(-)
diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index beee7afd11fb..aadde45164a5 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -322,15 +322,6 @@ READ_LOCK_STATUS = TRUE UI STRING="$(MODULE_NAME)" Optional }
-[Rule.Common.PEIM.TIANOCOMPRESSED] - FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { - PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { - PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING="$(MODULE_NAME)" Optional - } - } - [Rule.Common.DXE_CORE] FILE DXE_CORE = $(NAMED_GUID) { PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf index 5c3a2316cb68..1903389c8edd 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf @@ -265,15 +265,6 @@ READ_LOCK_STATUS = TRUE UI STRING="$(MODULE_NAME)" Optional }
-[Rule.Common.PEIM.TIANOCOMPRESSED] - FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { - PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { - PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING="$(MODULE_NAME)" Optional - } - } - [Rule.Common.DXE_CORE] FILE DXE_CORE = $(NAMED_GUID) { PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index fbf8e9b30c0e..262515150dd9 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -286,15 +286,6 @@ READ_LOCK_STATUS = TRUE UI STRING="$(MODULE_NAME)" Optional }
-[Rule.Common.PEIM.TIANOCOMPRESSED] - FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { - PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { - PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING="$(MODULE_NAME)" Optional - } - } - [Rule.Common.DXE_CORE] FILE DXE_CORE = $(NAMED_GUID) { PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc index aed889747b2e..9dfe2ac9e440 100644 --- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc +++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -186,7 +186,6 @@ PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf @@ -201,7 +200,6 @@ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf @@ -215,7 +213,6 @@ MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
@@ -226,7 +223,6 @@ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
[LibraryClasses.common.UEFI_APPLICATION] - UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf @@ -236,7 +232,6 @@ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
[LibraryClasses.common.UEFI_DRIVER] - UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
ArmHwDxe and ArmFvpDxe no longer require a BdsLib library class resolution, so remove the explicit ones from the various .DSCs.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 5 +---- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc index ae91a78d2dd8..55640837ba7c 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc @@ -244,10 +244,7 @@ # # Platform # - ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.inf { - <LibraryClasses> - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.inf
# # Filesystems diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index f76893626e08..1b3c770da03f 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -292,10 +292,7 @@ # # Platform Driver # - ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf { - <LibraryClasses> - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
#
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 ard.biesheuvel@linaro.org --- 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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 GB>x`}bAiYJ
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 { + <LibraryClasses> + 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 { + <LibraryClasses> + 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 { + <LibraryClasses> + 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 { - <LibraryClasses> - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } - - # # UEFI application (Shell Embedded Boot Loader) # ShellPkg/Application/Shell/Shell.inf {
Replace the elaborate but awkward FdtPlatformDxe with the new DtPlatformDxe, which supports embedded DTBs only. This is sufficient for virtually all use cases, and if it is not, there are various way to override the device tree binary presented to the OS.
As a bonus, this driver makes ACPI and DT mutually exclusive - this can be configured via the setup screen.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb | Bin 0 -> 10368 bytes Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb | Bin 0 -> 10835 bytes Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb | Bin 0 -> 7673 bytes Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb | Bin 0 -> 8140 bytes Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 25 +++++++------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 35 +++++--------------- 6 files changed, 22 insertions(+), 38 deletions(-)
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..245a6c33b7f6ce0c45f9c7ec8f01010b850e3b69 GIT binary patch literal 10368 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 VnYaXpw5|!qB_>{w6=slS=Kthj<*xt$
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..e175bf02e46c4daadcc8889d59f34d0136c7d986 GIT binary patch literal 10835 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 STUUjn3Fcvt6>2-n)c*k~k?$Y?
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..5acb139a3cc99c30314df26296bd4246b2972070 GIT binary patch literal 7673 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
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..34bf8db662ccd190da6de31ab70f491b6d38c54d GIT binary patch literal 8140 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
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index e6778aafe8c6..cde718168f18 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -35,6 +35,7 @@ DEFINE EDK2_SKIP_PEICORE=1 !endif
+ DT_SUPPORT = FALSE
!include OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
@@ -174,13 +175,8 @@ gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|36
[PcdsDynamicDefault.common] - # - # The size of a dynamic PCD of the (VOID*) type can not be increased at run - # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128 - # character "empty" string, to allow to be able to set FDT text device paths - # up to 128 characters long. - # - gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" " + # embedded DTB to use -- default to a GICv3 Foundation model + gEmbeddedTokenSpaceGuid.PcdDtPlatformDefaultDtbSectionIndex|1
################################################################################ # @@ -262,7 +258,13 @@ # # ACPI Support # - MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf { +!if $(DT_SUPPORT) == TRUE + <LibraryClasses> + NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf +!endif + } + MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf OpenPlatformPkg/Platforms/ARM/VExpress/AcpiTables/AcpiTables.inf
@@ -316,10 +318,9 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf }
+!if $(DT_SUPPORT) == TRUE # # FDT installation # - EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { - <LibraryClasses> - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf +!endif diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 262515150dd9..f6a2c0e974a1 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -170,35 +170,18 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 # FV Filesystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+!if $(DT_SUPPORT) == TRUE # # 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 - -!ifdef $(DTB_DIR) - # - # Embed flattened device tree (FDT) images for all known - # variants of this platform - # - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2) { - $(DTB_DIR)/fvp-base-gicv2-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2Legacy) { - $(DTB_DIR)/fvp-base-gicv2legacy-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV3) { - $(DTB_DIR)/fvp-base-gicv3-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2) { - $(DTB_DIR)/fvp-foundation-gicv2-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2Legacy) { - $(DTB_DIR)/fvp-foundation-gicv2legacy-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV3) { - $(DTB_DIR)/fvp-foundation-gicv3-psci.dtb + INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf + + # builtin device tree binaries -- order matches ARM_VEXPRESS_PLATFORM_ID + FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 { + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb } !endif