Chinni: Can you change subject and commit message with the top flash address instead of higher flash address?
Thanks Liming > -----邮件原件----- > 发件人: bounce+27952+65758+4905953+8761...@groups.io > <bounce+27952+65758+4905953+8761...@groups.io> 代表 cbduggap > 发送时间: 2020年9月30日 13:49 > 收件人: 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 V4 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> > > Signed-off-by: cbduggap <chinni.b.dugg...@intel.com> > --- > 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..cb60a3c324 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 TOP_FLASH_ADDRESS > (gFitTableContext.TopFlashAddressRemapValue) > > + > > #define MEMORY_TO_FLASH(FileBuffer, FvBuffer, FvSize) \ > > - (UINTN)(0x100000000 - ((UINTN)(FvBuffer) + > (UINTN)(FvSize) - (UINTN)(FileBuffer))) > > + (UINTN)(TOP_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) - > (TOP_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 TopFlashAddressRemapValue; > > } 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 <TopFlashAddress>\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.TopFlashAddressRemapValue = xtoi (argv[Index + 1]); > > + Index += 2; > > + } else { > > + // > > + // no remapping > > + // > > + gFitTableContext.TopFlashAddressRemapValue = 0x100000000; > > + } > > + printf ("Top Flash Address Value : 0x%llx\n", > gFitTableContext.TopFlashAddressRemapValue); > > // > > // 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 (#65758): https://edk2.groups.io/g/devel/message/65758 > Mute This Topic: https://groups.io/mt/77212511/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 (#65759): https://edk2.groups.io/g/devel/message/65759 Mute This Topic: https://groups.io/mt/77212521/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-