diff options
author | Laszlo Ersek <lersek@redhat.com> | 2018-04-11 18:52:25 +0200 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2018-04-12 21:24:29 +0200 |
commit | bacfd6ed8cea295e2d955d13bcd372499a4c6806 (patch) | |
tree | 65ae6a481dc5ce611a88c4956578785456284e5f | |
parent | 04f6b66b5e77df031291696569dfd9ba9ac4c367 (diff) | |
download | edk2-bacfd6ed8cea295e2d955d13bcd372499a4c6806.tar.gz edk2-bacfd6ed8cea295e2d955d13bcd372499a4c6806.tar.bz2 edk2-bacfd6ed8cea295e2d955d13bcd372499a4c6806.zip |
ArmPkg/CpuDxe: order CpuDxe after ArmGicDxe via protocol depex
Commit 61a7b0ec634f ("ArmPkg/Gic: force GIC driver to run before CPU arch
protocol driver", 2018-02-06) explains why CpuDxe should be dispatched
after ArmGicDxe.
To implement the ordering, we should use a regular protocol depex rather
than the less flexible AFTER opcode. ArmGicDxe installs
gHardwareInterruptProtocolGuid and gHardwareInterrupt2ProtocolGuid as one
of the last actions on its entry point stack; either of those is OK for
CpuDxe to wait for.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Steve Capper <steve.capper@linaro.org>
Cc: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Steve Capper <steve.capper@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
-rw-r--r-- | ArmPkg/ArmPkg.dec | 2 | ||||
-rw-r--r-- | ArmPkg/Drivers/CpuDxe/CpuDxe.inf | 2 |
2 files changed, 1 insertions, 3 deletions
diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec index a55b6268ff..5dbd019e29 100644 --- a/ArmPkg/ArmPkg.dec +++ b/ArmPkg/ArmPkg.dec @@ -48,8 +48,6 @@ # Include/Guid/ArmMpCoreInfo.h
gArmMpCoreInfoGuid = { 0xa4ee0728, 0xe5d7, 0x4ac5, {0xb2, 0x1e, 0x65, 0x8e, 0xd8, 0x57, 0xe8, 0x34} }
- gArmGicDxeFileGuid = { 0xde371f7c, 0xdec4, 0x4d21, { 0xad, 0xf1, 0x59, 0x3a, 0xbc, 0xc1, 0x58, 0x82 } }
-
[Ppis]
## Include/Ppi/ArmMpCoreInfo.h
gArmMpCoreInfoPpiGuid = { 0x6847cc74, 0xe9ec, 0x4f8f, {0xa2, 0x9d, 0xab, 0x44, 0xe7, 0x54, 0xa8, 0xfc} }
diff --git a/ArmPkg/Drivers/CpuDxe/CpuDxe.inf b/ArmPkg/Drivers/CpuDxe/CpuDxe.inf index b748f03445..c32d2cb9c7 100644 --- a/ArmPkg/Drivers/CpuDxe/CpuDxe.inf +++ b/ArmPkg/Drivers/CpuDxe/CpuDxe.inf @@ -74,4 +74,4 @@ gArmTokenSpaceGuid.PcdDebuggerExceptionSupport
[Depex]
- AFTER gArmGicDxeFileGuid
+ gHardwareInterruptProtocolGuid OR gHardwareInterrupt2ProtocolGuid
|