[edk2-devel] [patch] MdeModulePkg/Setup: Update opcode number variable type to UINTN
Laszlo Ersek
lersek at redhat.com
Tue Jan 14 13:09:38 UTC 2020
On 01/14/20 14:08, Laszlo Ersek wrote:
> Hi Dandan, Brian,
>
> On 01/14/20 09:56, Dandan Bi wrote:
>> From: Brian R Haug <brian.r.haug at intel.com>
>>
>> Update data type of variables which save the opcode numbers
>> to UINTN, in case some configuration module has lots of
>> configuration items.
>>
>> Cc: Liming Gao <liming.gao at intel.com>
>> Cc: Eric Dong <eric.dong at intel.com>
>> Signed-off-by: Brian R Haug <brian.r.haug at intel.com>
>> Reviewed-by: Dandan Bi <dandan.bi at intel.com>
>> ---
>> .../Universal/SetupBrowserDxe/IfrParse.c | 18 +++++++++---------
>> 1 file changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
>> index 891b95cf9f..edb6a0fc4c 100644
>> --- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
>> +++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
>> @@ -1,17 +1,17 @@
>> /** @file
>> Parser for IFR binary encoding.
>>
>> -Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
>> +Copyright (c) 2007 - 2020, Intel Corporation. All rights reserved.<BR>
>> SPDX-License-Identifier: BSD-2-Clause-Patent
>>
>> **/
>>
>> #include "Setup.h"
>>
>> -UINT16 mStatementIndex;
>> -UINT16 mExpressionOpCodeIndex;
>> +UINTN mStatementIndex;
>> +UINTN mExpressionOpCodeIndex;
>> EFI_QUESTION_ID mUsedQuestionId;
>> extern LIST_ENTRY gBrowserStorageList;
>> /**
>> Initialize Statement header members.
>>
>> @@ -1104,16 +1104,16 @@ IsUnKnownOpCode (
>>
>> **/
>> VOID
>> CountOpCodes (
>> IN FORM_BROWSER_FORMSET *FormSet,
>> - IN OUT UINT16 *NumberOfStatement,
>> - IN OUT UINT16 *NumberOfExpression
>> + OUT UINTN *NumberOfStatement,
>> + OUT UINTN *NumberOfExpression
>> )
>> {
>> - UINT16 StatementCount;
>> - UINT16 ExpressionCount;
>> + UINTN StatementCount;
>> + UINTN ExpressionCount;
>> UINT8 *OpCodeData;
>> UINTN Offset;
>> UINTN OpCodeLen;
>>
>> Offset = 0;
>> @@ -1167,12 +1167,12 @@ ParseOpCodes (
>> FORMSET_STORAGE *Storage;
>> FORMSET_DEFAULTSTORE *DefaultStore;
>> QUESTION_DEFAULT *CurrentDefault;
>> QUESTION_OPTION *CurrentOption;
>> UINT8 Width;
>> - UINT16 NumberOfStatement;
>> - UINT16 NumberOfExpression;
>> + UINTN NumberOfStatement;
>> + UINTN NumberOfExpression;
>> EFI_IMAGE_ID *ImageId;
>> BOOLEAN SuppressForQuestion;
>> BOOLEAN SuppressForOption;
>> UINT16 DepthOfDisable;
>> BOOLEAN OpCodeDisabled;
>>
>
> I think this patch is incomplete. While the following statements will
> adapt automatically:
>
> FormSet->StatementBuffer = AllocateZeroPool (NumberOfStatement * sizeof (FORM_BROWSER_STATEMENT));
>
> FormSet->ExpressionBuffer = AllocateZeroPool (NumberOfExpression * sizeof (EXPRESSION_OPCODE));
>
> I think we'll need to update the indexing into those arrays explicitly.
> Namely,
>
>> diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
>> index 891b95cf9fb8..9b241ded8cdc 100644
>> --- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
>> +++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
>> @@ -8,8 +8,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>>
>> #include "Setup.h"
>>
>> -UINT16 mStatementIndex;
>> -UINT16 mExpressionOpCodeIndex;
>> +UINTN mStatementIndex;
>> +UINTN mExpressionOpCodeIndex;
>> EFI_QUESTION_ID mUsedQuestionId;
>> extern LIST_ENTRY gBrowserStorageList;
>> /**
>
> Do you agree?
Aargh, I missed that that's exactly how the patch starts! Sorry about
the noise :)
Reviewed-by: Laszlo Ersek <lersek at redhat.com>
Thanks
Laszlo
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#53226): https://edk2.groups.io/g/devel/message/53226
Mute This Topic: https://groups.io/mt/69690491/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list