在 27/06/2018 15:20, Ard Biesheuvel 写道:
On 27 June 2018 at 09:04, Ming Huang ming.huang@linaro.org wrote:
The edk2 commit bacfd6e let CpuDxe running latter. CpuDxe should run early. CpuDxe is needed by gDS->SetMemorySpaceAttributes, and gDS->SetMemorySpaceAttributes is invoked by several drivers.
Add several drives to APRIORI scope for implementing the ordering.
Please solve this by adding DEPEXes on gEfiCpuArchProtocolGuid to the drivers in question.
If solve this by adding depexes, there are many drivers which should add depexes.
CpuDxe depend on ArmGicDxe SfcDxeDriver and RealTimeClockRuntimeDxe depend on CpuDxe VariableRuntimeDxe depend on SfcDxeDriver and many other drivers depend on VariableRuntimeDxe Should I add depexes to these drivers? Especially,RealTimeClockRuntimeDxe is in edk2/EmbeddedPkg. Why does other platforms do not have this problem?
Thanks.
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ming Huang ming.huang@linaro.org Signed-off-by: Heyi Guo heyi.guo@linaro.org
Platform/Hisilicon/D03/D03.fdf | 10 +++++++++- Platform/Hisilicon/D05/D05.fdf | 6 +++++- 2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/Platform/Hisilicon/D03/D03.fdf b/Platform/Hisilicon/D03/D03.fdf index 1383aa1091..027b53a6cf 100644 --- a/Platform/Hisilicon/D03/D03.fdf +++ b/Platform/Hisilicon/D03/D03.fdf @@ -146,6 +146,14 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
- APRIORI DXE {
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
- INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
- INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
- INF Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
- INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
- }
- INF MdeModulePkg/Core/Dxe/DxeMain.inf INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
@@ -153,6 +161,7 @@ READ_LOCK_STATUS = TRUE # # 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
@@ -186,7 +195,6 @@ READ_LOCK_STATUS = TRUE
# Simple TextIn/TextOut for UEFI Terminal
INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
diff --git a/Platform/Hisilicon/D05/D05.fdf b/Platform/Hisilicon/D05/D05.fdf index 4503776d63..37d9cc0c18 100644 --- a/Platform/Hisilicon/D05/D05.fdf +++ b/Platform/Hisilicon/D05/D05.fdf @@ -148,6 +148,10 @@ READ_LOCK_STATUS = TRUE
APRIORI DXE { INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
INF Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf }
INF MdeModulePkg/Core/Dxe/DxeMain.inf
@@ -157,6 +161,7 @@ READ_LOCK_STATUS = TRUE # # 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
@@ -190,7 +195,6 @@ READ_LOCK_STATUS = TRUE
# Simple TextIn/TextOut for UEFI Terminal
INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-- 2.17.0