Re: [edk2] [PATCH V2 05/15] MdeModulePkg: Add PcdEmuVariableNvModeEnable in dec

2019-01-14 Thread Wu, Hao A
Reviewed-by: Hao Wu 

Best Regards,
Hao Wu


> -Original Message-
> From: Zeng, Star
> Sent: Monday, January 14, 2019 11:20 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star; Wang, Jian J; Wu, Hao A
> Subject: [PATCH V2 05/15] MdeModulePkg: Add
> PcdEmuVariableNvModeEnable in dec
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1323
> Merge EmuVariable and Real variable driver.
> 
> Add PcdEmuVariableNvModeEnable (support both static and
> dynamic) to indicate if Variable driver will enable
> emulated variable NV mode.
> 
> This patch prepares for adding emulated variable NV mode
> support in VariableRuntimeDxe.
> 
> Cc: Jian J Wang 
> Cc: Hao Wu 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Star Zeng 
> Reviewed-by: Laszlo Ersek 
> ---
>  MdeModulePkg/MdeModulePkg.dec | 10 --
>  MdeModulePkg/MdeModulePkg.uni | 10 --
>  2 files changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/MdeModulePkg/MdeModulePkg.dec
> b/MdeModulePkg/MdeModulePkg.dec
> index 217ede1f7163..8fbc0af61365 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -3,7 +3,7 @@
>  # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and
> library classes)
>  # and libraries instances, which are used for those modules.
>  #
> -# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
> +# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.
>  # Copyright (c) 2016, Linaro Ltd. All rights reserved.
>  # (C) Copyright 2016 Hewlett Packard Enterprise Development LP
>  # Copyright (c) 2017, AMD Incorporated. All rights reserved.
> @@ -1586,7 +1586,13 @@ [PcdsFixedAtBuild, PcdsPatchableInModule,
> PcdsDynamic, PcdsDynamicEx]
># @Prompt 64-bit Base address of flash FTW working block range.
> 
> gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64
> |0x0|UINT64|0x8010
> 
> -  ## This PCD defines a reserved memory range for the EMU Variable
> driver's NV Variable Store.
> +  ## Indicates if Variable driver will enable emulated variable NV
> mode.
> +  #   TRUE  - An EMU variable NV storage will be allocated or reserved for NV
> variables.
> +  #   FALSE - No EMU variable NV storage will be allocated or reserved for
> NV variables.
> +  # @Prompt EMU variable NV mode enable.
> +
> gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|FALSE
> |BOOLEAN|0x0111
> +
> +  ## This PCD defines a reserved memory range for EMU variable NV storage.
>#  The range is valid if non-zero. The memory range size must be
> PcdVariableStoreSize.
># @Prompt Reserved memory range for EMU variable NV storage.
> 
> gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|U
> INT64|0x4008
> diff --git a/MdeModulePkg/MdeModulePkg.uni
> b/MdeModulePkg/MdeModulePkg.uni
> index 35af744d89be..9c413a98f65d 100644
> --- a/MdeModulePkg/MdeModulePkg.uni
> +++ b/MdeModulePkg/MdeModulePkg.uni
> @@ -4,7 +4,7 @@
>  // It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and
> library classes)
>  // and libraries instances, which are used for those modules.
>  //
> -// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
> +// Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.
>  //
>  // This program and the accompanying materials are licensed and made
> available under
>  // the terms and conditions of the BSD License that accompanies this
> distribution.
> @@ -389,9 +389,15 @@
> 
>  #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFlashNvStorageFtwWorkingBa
> se64_HELP  #language en-US "64-bit Base address of the FTW working block
> range in flash device. If PcdFlashNvStorageFtwWorkingSize is larger than
> one block size, this value should be block size aligned."
> 
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_
> PROMPT  #language en-US "EMU variable NV mode enable"
> +
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_
> HELP  #language en-US "Indicates if Variable driver will enable emulated
> variable NV mode."
> + 
>  "TRUE  - An EMU variable NV
> storage will be allocated or reserved for NV variables."
> + 
>  "FALSE - No EMU variable NV
> storage will be allocated or reserved for NV variables."
> +
>  #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved
> _PROMPT  #language en-US "Reserved memory range for EMU variable NV
> storage"
> 
> -#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved
> _HELP  #language en-US "This PCD defines a reserved memory range for the
> EMU Variable driver's NV Variable Store. The range is valid if non-zero. The
> memory range size must be PcdVariableStoreSize."
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved
> _HELP  #language en-US "This PCD 

Re: [edk2] [PATCH V2 05/15] MdeModulePkg: Add PcdEmuVariableNvModeEnable in dec

2019-01-14 Thread Zeng, Star

On 2019/1/15 13:05, Wang, Jian J wrote:

Hi Star,



-Original Message-
From: Zeng, Star
Sent: Monday, January 14, 2019 11:20 PM
To: edk2-devel@lists.01.org
Cc: Zeng, Star ; Wang, Jian J ;
Wu, Hao A 
Subject: [PATCH V2 05/15] MdeModulePkg: Add PcdEmuVariableNvModeEnable
in dec

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1323
Merge EmuVariable and Real variable driver.

Add PcdEmuVariableNvModeEnable (support both static and
dynamic) to indicate if Variable driver will enable
emulated variable NV mode.

This patch prepares for adding emulated variable NV mode
support in VariableRuntimeDxe.

Cc: Jian J Wang 
Cc: Hao Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng 
Reviewed-by: Laszlo Ersek 
---
  MdeModulePkg/MdeModulePkg.dec | 10 --
  MdeModulePkg/MdeModulePkg.uni | 10 --
  2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/MdeModulePkg.dec
b/MdeModulePkg/MdeModulePkg.dec
index 217ede1f7163..8fbc0af61365 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -3,7 +3,7 @@
  # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library
classes)
  # and libraries instances, which are used for those modules.
  #
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.
  # Copyright (c) 2016, Linaro Ltd. All rights reserved.
  # (C) Copyright 2016 Hewlett Packard Enterprise Development LP
  # Copyright (c) 2017, AMD Incorporated. All rights reserved.
@@ -1586,7 +1586,13 @@ [PcdsFixedAtBuild, PcdsPatchableInModule,
PcdsDynamic, PcdsDynamicEx]
# @Prompt 64-bit Base address of flash FTW working block range.

gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0
|UINT64|0x8010

-  ## This PCD defines a reserved memory range for the EMU Variable driver's NV
Variable Store.
+  ## Indicates if Variable driver will enable emulated variable NV
mode.
+  #   TRUE  - An EMU variable NV storage will be allocated or reserved for NV
variables.
+  #   FALSE - No EMU variable NV storage will be allocated or reserved for NV
variables.
+  # @Prompt EMU variable NV mode enable.
+
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|FALSE|BO
OLEAN|0x0111
+
+  ## This PCD defines a reserved memory range for EMU variable NV storage.
#  The range is valid if non-zero. The memory range size must be
PcdVariableStoreSize.
# @Prompt Reserved memory range for EMU variable NV storage.



The description is a little bit confuse to me. The value of this PCD is 
actually the
base address of reserved memory range, but not the range (size). A complete
memory range includes both base address and its size. But this PCD contains
only base address information. Maybe something like below would be better
(just for example):

--
This PCD defines the base address of reserved memory range for EMU variable
NV storage. A non-ZERO value indicates a valid range reserved with size given by
PcdVariableStoreSize.

@Prompt Base of reserved memory range for EMU variable NV storage.
--

If you agree, please update the uni help string below as well.


In fact, it is not related to this task directly.
But I agree we can make the description to be more clear, I can handle 
it in a new separated patch.



Thanks,
Star




gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT6
4|0x4008
diff --git a/MdeModulePkg/MdeModulePkg.uni
b/MdeModulePkg/MdeModulePkg.uni
index 35af744d89be..9c413a98f65d 100644
--- a/MdeModulePkg/MdeModulePkg.uni
+++ b/MdeModulePkg/MdeModulePkg.uni
@@ -4,7 +4,7 @@
  // It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library
classes)
  // and libraries instances, which are used for those modules.
  //
-// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
+// Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.
  //
  // This program and the accompanying materials are licensed and made
available under
  // the terms and conditions of the BSD License that accompanies this
distribution.
@@ -389,9 +389,15 @@

  #string
STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFlashNvStorageFtwWorkingBase6
4_HELP  #language en-US "64-bit Base address of the FTW working block range
in flash device. If PcdFlashNvStorageFtwWorkingSize is larger than one block
size, this value should be block size aligned."

+#string
STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_PRO
MPT  #language en-US "EMU variable NV mode enable"
+
+#string
STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_HELP
#language en-US "Indicates if Variable driver will enable emulated variable NV
mode."
+  
"TRUE  - An EMU variable NV
storage will be allocated or reserved for NV variables."
+   

Re: [edk2] [PATCH V2 05/15] MdeModulePkg: Add PcdEmuVariableNvModeEnable in dec

2019-01-14 Thread Wang, Jian J
Hi Star,


> -Original Message-
> From: Zeng, Star
> Sent: Monday, January 14, 2019 11:20 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star ; Wang, Jian J ;
> Wu, Hao A 
> Subject: [PATCH V2 05/15] MdeModulePkg: Add PcdEmuVariableNvModeEnable
> in dec
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1323
> Merge EmuVariable and Real variable driver.
> 
> Add PcdEmuVariableNvModeEnable (support both static and
> dynamic) to indicate if Variable driver will enable
> emulated variable NV mode.
> 
> This patch prepares for adding emulated variable NV mode
> support in VariableRuntimeDxe.
> 
> Cc: Jian J Wang 
> Cc: Hao Wu 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Star Zeng 
> Reviewed-by: Laszlo Ersek 
> ---
>  MdeModulePkg/MdeModulePkg.dec | 10 --
>  MdeModulePkg/MdeModulePkg.uni | 10 --
>  2 files changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/MdeModulePkg/MdeModulePkg.dec
> b/MdeModulePkg/MdeModulePkg.dec
> index 217ede1f7163..8fbc0af61365 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -3,7 +3,7 @@
>  # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library
> classes)
>  # and libraries instances, which are used for those modules.
>  #
> -# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
> +# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.
>  # Copyright (c) 2016, Linaro Ltd. All rights reserved.
>  # (C) Copyright 2016 Hewlett Packard Enterprise Development LP
>  # Copyright (c) 2017, AMD Incorporated. All rights reserved.
> @@ -1586,7 +1586,13 @@ [PcdsFixedAtBuild, PcdsPatchableInModule,
> PcdsDynamic, PcdsDynamicEx]
># @Prompt 64-bit Base address of flash FTW working block range.
> 
> gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0
> |UINT64|0x8010
> 
> -  ## This PCD defines a reserved memory range for the EMU Variable driver's 
> NV
> Variable Store.
> +  ## Indicates if Variable driver will enable emulated variable NV
> mode.
> +  #   TRUE  - An EMU variable NV storage will be allocated or reserved for NV
> variables.
> +  #   FALSE - No EMU variable NV storage will be allocated or reserved for NV
> variables.
> +  # @Prompt EMU variable NV mode enable.
> +
> gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|FALSE|BO
> OLEAN|0x0111
> +
> +  ## This PCD defines a reserved memory range for EMU variable NV storage.
>#  The range is valid if non-zero. The memory range size must be
> PcdVariableStoreSize.
># @Prompt Reserved memory range for EMU variable NV storage.
> 

The description is a little bit confuse to me. The value of this PCD is 
actually the
base address of reserved memory range, but not the range (size). A complete
memory range includes both base address and its size. But this PCD contains
only base address information. Maybe something like below would be better
(just for example):

--
This PCD defines the base address of reserved memory range for EMU variable
NV storage. A non-ZERO value indicates a valid range reserved with size given by
PcdVariableStoreSize.

@Prompt Base of reserved memory range for EMU variable NV storage.
--

If you agree, please update the uni help string below as well.

> gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT6
> 4|0x4008
> diff --git a/MdeModulePkg/MdeModulePkg.uni
> b/MdeModulePkg/MdeModulePkg.uni
> index 35af744d89be..9c413a98f65d 100644
> --- a/MdeModulePkg/MdeModulePkg.uni
> +++ b/MdeModulePkg/MdeModulePkg.uni
> @@ -4,7 +4,7 @@
>  // It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and 
> library
> classes)
>  // and libraries instances, which are used for those modules.
>  //
> -// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
> +// Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.
>  //
>  // This program and the accompanying materials are licensed and made
> available under
>  // the terms and conditions of the BSD License that accompanies this
> distribution.
> @@ -389,9 +389,15 @@
> 
>  #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFlashNvStorageFtwWorkingBase6
> 4_HELP  #language en-US "64-bit Base address of the FTW working block range
> in flash device. If PcdFlashNvStorageFtwWorkingSize is larger than one block
> size, this value should be block size aligned."
> 
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_PRO
> MPT  #language en-US "EMU variable NV mode enable"
> +
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_HELP
> #language en-US "Indicates if Variable driver will enable emulated variable NV
> mode."
> + 
>  "TRUE  - An EMU variable NV
> storage will be allocated or reserved for NV variables."
> +