Chinni:
  Can you introduce the real usage case with this enhancement? After this
case, how will you use FitGen tool in your case?

Thanks
Liming
> -----邮件原件-----
> 发件人: bounce+27952+65439+4905953+8761...@groups.io
> <bounce+27952+65439+4905953+8761...@groups.io> 代表 cbduggap
> 发送时间: 2020年9月22日 18:36
> 收件人: devel@edk2.groups.io
> 抄送: cbduggap <chinni.b.dugg...@intel.com>; Bob Feng
> <bob.c.f...@intel.com>; Liming Gao <gaolim...@byosoft.com.cn>
> 主题: [edk2-devel] [Patch V2 1/1] Tools\FitGen: Add extra parameter to
input the
> Higher Flash Address
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2981
> 
> Add extra parameter to the Fit Gen Tool to input the Higher Address.
> Default Address should be 4GB and if some one inputs new address,
> tool must consume that address instead of Default address (4GB).
> 
> Signed-off-by: cbduggap <chinni.b.dugg...@intel.com>
> Cc: Bob Feng <bob.c.f...@intel.com>
> Cc: Liming Gao <gaolim...@byosoft.com.cn>
> ---
>  Silicon/Intel/Tools/FitGen/FitGen.c | 23 +++++++++++++++++++++--
>  1 file changed, 21 insertions(+), 2 deletions(-)
> 
> diff --git a/Silicon/Intel/Tools/FitGen/FitGen.c
> b/Silicon/Intel/Tools/FitGen/FitGen.c
> index c4006e69c8..c17a0fabc0 100644
> --- a/Silicon/Intel/Tools/FitGen/FitGen.c
> +++ b/Silicon/Intel/Tools/FitGen/FitGen.c
> @@ -209,10 +209,12 @@ typedef struct {
>  #define DEFAULT_FIT_TABLE_POINTER_OFFSET  0x40
> 
>  #define DEFAULT_FIT_ENTRY_VERSION         0x0100
> 
> 
> 
> +#define HIGHER_FLASH_ADDRESS
> (gFitTableContext.HigherAddressRemapValue)
> 
> +
> 
>  #define MEMORY_TO_FLASH(FileBuffer, FvBuffer, FvSize)  \
> 
> -                 (UINTN)(0x100000000 - ((UINTN)(FvBuffer) +
> (UINTN)(FvSize) - (UINTN)(FileBuffer)))
> 
> +                 (UINTN)(HIGHER_FLASH_ADDRESS - ((UINTN)(FvBuffer) +
> (UINTN)(FvSize) - (UINTN)(FileBuffer)))
> 
>  #define FLASH_TO_MEMORY(Address, FvBuffer, FvSize)  \
> 
> -                 (VOID *)(UINTN)((UINTN)(FvBuffer) + (UINTN)(FvSize) -
> (0x100000000 - (UINTN)(Address)))
> 
> +                 (VOID *)(UINTN)((UINTN)(FvBuffer) + (UINTN)(FvSize) -
> (HIGHER_FLASH_ADDRESS - (UINTN)(Address)))
> 
> 
> 
>  #define FIT_TABLE_TYPE_HEADER                 0
> 
>  #define FIT_TABLE_TYPE_MICROCODE              1
> 
> @@ -268,6 +270,7 @@ typedef struct {
>    UINT32                     MicrocodeVersion;
> 
>    FIT_TABLE_CONTEXT_ENTRY    OptionalModule[MAX_OPTIONAL_ENTRY];
> 
>    FIT_TABLE_CONTEXT_ENTRY    PortModule[MAX_PORT_ENTRY];
> 
> +  UINT64                      HigherAddressRemapValue;
> 
>  } FIT_TABLE_CONTEXT;
> 
> 
> 
>  FIT_TABLE_CONTEXT   gFitTableContext = {0};
> 
> @@ -330,6 +333,7 @@ Returns:
>            "\t[-F <FitTablePointerOffset>] [-F <FitTablePointerOffset>]
[-V
> <FitHeaderVersion>]\n"
> 
>            "\t[-NA]\n"
> 
>            "\t[-A <MicrocodeAlignment>]\n"
> 
> +           "\t[-REMAP <FlashHigherAddress>\n"
> 
>            "\t[-CLEAR]\n"
> 
>            "\t[-L <MicrocodeSlotSize> <MicrocodeFfsGuid>]\n"
> 
>            "\t[-I <BiosInfoGuid>]\n"
> 
> @@ -986,6 +990,21 @@ Returns:
>      Index += 2;
> 
>    }
> 
> 
> 
> +  if ((Index >= argc) ||
> 
> +      ((strcmp (argv[Index], "-REMAP") == 0) ||
> 
> +       (strcmp (argv[Index], "-remap") == 0)) ) {
> 
> +    //
> 
> +    // by pass
> 
> +    //
> 
> +    gFitTableContext.HigherAddressRemapValue = xtoi (argv[Index + 1]);
> 
> +    Index += 2;
> 
> +  } else {
> 
> +    //
> 
> +    // no remapping
> 
> +    //
> 
> +    gFitTableContext.HigherAddressRemapValue = 0x100000000;
> 
> +  }
> 
> +  printf ("Higher Address Value : 0x%llx\n",
> gFitTableContext.HigherAddressRemapValue);
> 
>    //
> 
>    // 0.4 Clear FIT table related memory
> 
>    //
> 
> --
> 2.26.2.windows.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#65439): https://edk2.groups.io/g/devel/message/65439
> Mute This Topic: https://groups.io/mt/77010246/4905953
> Group Owner: devel+ow...@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaolim...@byosoft.com.cn]
> -=-=-=-=-=-=
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#65701): https://edk2.groups.io/g/devel/message/65701
Mute This Topic: https://groups.io/mt/77189022/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to