audk/ArmPlatformPkg
Ard Biesheuvel 3909c4a193 ArmPlatformPkg/PlatformPeim: allow PlatformPeiLib to set the boot mode
The current interdepencies between the PrePeiCore SEC module, the
platform PEIM and ArmPlatformLib is a bit awkward: due to the fact
that ArmPlatformLib is also used by SEC modules, we cannot use PEI
specific facilities in the implementation of ArmPlatformGetBootMode.
However, given that we call that library function /after/ invoking
PlatformPeiLib, there is no way for that library to set the boot mode
other than resorting to tricks like notification callbacks on arbitrary
unrelated events.

ArmPlatformLib should probably be phased out anyway, given its quirky
nature, but for now, let's fix this particular issue by deferring the
call to PlatformPeim() to after the point where we set the boot mode
by calling ArmPlatformGetBootMode ().

While we're at it, clean up the code slightly by using PeiServicesLib
instead of doing double pointer dereferencing.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-05 16:19:00 +00:00
..
ArmJunoPkg ArmPlatformPkg: Add PCD for SBSA Watchdog Count 2017-10-06 15:15:22 +01:00
ArmVExpressPkg ArmPlatformPkg: convert VExpress ResetSystemLib to ResetSystemLib 2017-07-05 16:28:35 +01:00
Documentation ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
Drivers ArmPlatformPkg: Support different PL011 reg offset 2017-07-17 17:27:27 +01:00
FileSystem/BootMonFs ArmPlatformPkg/BootMonFs: eliminate deprecated string functions 2016-10-28 15:56:13 +01:00
Include ArmPlatformPkg: Support different PL011 reg offset 2017-07-17 17:27:27 +01:00
Library ArmPlatformPkg,ArmVirtPkg: delete redundant PL031 functions 2017-05-10 14:28:37 +01:00
MemoryInitPei ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memory 2016-09-08 10:35:33 +01:00
PlatformPei ArmPlatformPkg/PlatformPeim: allow PlatformPeiLib to set the boot mode 2017-11-05 16:19:00 +00:00
PrePeiCore ArmPlatformPkg: Timer access for non-secure EL1/0 2017-05-22 15:20:04 +01:00
PrePi ArmPlatformPkg: Store initial timer value 2017-10-10 17:30:39 +01:00
Scripts ArmPlatformPkg/DS-5: fix 64-bit PE/COFF header parsing bug 2016-04-18 10:18:14 +02:00
ArmPlatformPkg.dec ArmPlatformPkg: Add PCD for SBSA Watchdog Count 2017-10-06 15:15:22 +01:00