On 05/07/15 08:16, Ard Biesheuvel wrote:
> The NorFlashDxe uses an explicit 'BEFORE xxx' Depex declaration to
> ensure that it is dispatched before VariableRuntimeDxe, and uses the
> file GUID of the latter as 'xxx' explicitly to accomplish that.
>
> However, when enabling UEFI Secure Boot, this breaks down since the
> authenticated VariableRuntimeDxe is a completely separate driver, with
> a different GUID. Also, the hardcoded dependency on gEfiVariableGuid,
> which is not used under UEFI Secure Boot, needs to be factored out in
> order to allow this driver to be used.
>
> So clone NorFlashDxe.inf into NorFlashAuthenticatedDxe.inf, and fix
> up the dependencies so they refer to gEfiAuthenticatedVariableGuid and
> SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf
> instead.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <[email protected]>
> ---
> ArmPlatformPkg/ArmPlatformPkg.dec | 4 ++
> ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec | 4 --
> ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashAuthenticatedDxe.inf | 76
> ++++++++++++++++++++
> ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashAuthenticatedVariableDep.c | 19
> +++++
> ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h | 2 +
> ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf | 1 +
> ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c | 4 +-
> ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashVariableDep.c | 19
> +++++
> 8 files changed, 123 insertions(+), 6 deletions(-)
snip
> diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
> b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
> index c24680098f62..9b76bfa1df23 100644
> --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
> +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
> @@ -152,6 +152,8 @@ struct _NOR_FLASH_INSTANCE {
> NOR_FLASH_DEVICE_PATH DevicePath;
> };
>
> +CONST EFI_GUID* CONST mNorFlashVariableGuid;
> +
> EFI_STATUS
> NorFlashReadCfiData (
> IN UINTN DeviceBaseAddress,
While this is valid C -- the above is a "tentative definition",
discussed eg. in C89 6.7.2 p2, and C99 6.9.2 p2 -- it is more usual to
add the storage-class specifier "extern" to such declarations.
So, please do that, and then you can add my
Reviewed-by: Laszlo Ersek <[email protected]>
Thanks
Laszlo
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel