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 <ard.biesheu...@linaro.org>
> ---
>  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 <ler...@redhat.com>

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
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to