ARM CPU driver inf file recently got updated to have a depedency
expression to load after GIC driver.
However, there are other Arm drivers like NorFlashDxe, MM Communication
drivers etc. which depends on ARM CPU driver for AddMemorySpace() and
its related operations to work properly.
Hence, NorflashDxe and other drivers encounter runtime asserts due to
bizzare order of loading drivers as they load ahead of ARM CPU Driver.
Hence to resolve runtime asserts due to bizzare order of loading drivers
either depex has to be updated in all the driver inf files that depend
on ARM CPU driver or reorder driver load order to load GIC Driver and
CPU driver load first.
This patch attempts to fix loading order of drivers on AARCH64 FVP.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
---
Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 2 +-
Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
index 1be1e0115f..36ffc56a5a 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
@@ -219,6 +219,7 @@
#
# Architectural Protocols
#
+ ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
ArmPkg/Drivers/CpuDxe/CpuDxe.inf
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
!if $(SECURE_BOOT_ENABLE) == TRUE
@@ -270,7 +271,6 @@
MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
- ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
ArmPkg/Drivers/TimerDxe/TimerDxe.inf
!ifdef EDK2_ENABLE_PL111
diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
index d30a50884f..1653138d8b 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
@@ -79,6 +79,7 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0
#
# PI DXE Drivers producing Architectural Protocols (EFI Services)
#
+ INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
@@ -115,7 +116,6 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
- INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
!ifdef EDK2_ENABLE_PL111
--
2.16.2
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
On 04/06/18 16:46, Supreeth Venkatesh wrote: > ARM CPU driver inf file recently got updated to have a depedency > expression to load after GIC driver. > However, there are other Arm drivers like NorFlashDxe, MM Communication > drivers etc. which depends on ARM CPU driver for AddMemorySpace() and > its related operations to work properly. > Hence, NorflashDxe and other drivers encounter runtime asserts due to > bizzare order of loading drivers as they load ahead of ARM CPU Driver. > > Hence to resolve runtime asserts due to bizzare order of loading drivers > either depex has to be updated in all the driver inf files that depend > on ARM CPU driver or reorder driver load order to load GIC Driver and > CPU driver load first. > > This patch attempts to fix loading order of drivers on AARCH64 FVP. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> > --- > Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 2 +- > Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc > index 1be1e0115f..36ffc56a5a 100644 > --- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc > +++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc > @@ -219,6 +219,7 @@ > # > # Architectural Protocols > # > + ArmPkg/Drivers/ArmGic/ArmGicDxe.inf > ArmPkg/Drivers/CpuDxe/CpuDxe.inf > MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > !if $(SECURE_BOOT_ENABLE) == TRUE > @@ -270,7 +271,6 @@ > MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf > Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf > > - ArmPkg/Drivers/ArmGic/ArmGicDxe.inf > ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf > ArmPkg/Drivers/TimerDxe/TimerDxe.inf > !ifdef EDK2_ENABLE_PL111 > diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf > index d30a50884f..1653138d8b 100644 > --- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf > +++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf > @@ -79,6 +79,7 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 > # > # PI DXE Drivers producing Architectural Protocols (EFI Services) > # > + INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf > INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf > INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > @@ -115,7 +116,6 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 > INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf > > - INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf > INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf > INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf > !ifdef EDK2_ENABLE_PL111 > Please let's not do this; refer to the discussion here: http://mid.mail-archive.com/CAPvkgC1TdzPMCgPJRh7E65CgFq0chsrO6Snm5vF5rokR7ZH5Cg@mail.gmail.com (and thank you Supreeth for speaking up in that thread). Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2026 Red Hat, Inc.