Hi Mike, Sorry for late update. I missed the v1 version. I found there is a API named MultU64x64 may fix this issue. Can we use it in SLIT_ELEMENT() macro?
Thanks, Zhichao > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Michael D Kinney > Sent: Friday, August 2, 2019 4:56 AM > To: devel@edk2.groups.io > Cc: Carsey, Jaben <jaben.car...@intel.com>; Ni, Ray <ray...@intel.com>; > Gao, Zhichao <zhichao....@intel.com>; Sami Mujawar > <sami.muja...@arm.com> > Subject: [edk2-devel] [Patch v2 1/2] ShellPkg/AcpiView: Fix IA32 link error > > https://bugzilla.tianocore.org/show_bug.cgi?id=1970 > > Update local variable in ParseAcpiSlot() to be UINT32 instead of UINT64 to > avoid 64-bit multiply operation in the SLIT_ELEMENT() macro. > > If LocalityCount is >= MAX_UINT32 and then skip the validation check and > print an INFO message instead. > > Cc: Jaben Carsey <jaben.car...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Zhichao Gao <zhichao....@intel.com> > Cc: Sami Mujawar <sami.muja...@arm.com> > Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com> > --- > .../Parsers/Slit/SlitParser.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitParser.c > b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitParser.c > index 1f9dac66ee..6913ad8b31 100644 > --- > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitParser.c > +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit/SlitPars > +++ er.c > @@ -57,8 +57,8 @@ ParseAcpiSlit ( > ) > { > UINT32 Offset; > - UINT64 Count; > - UINT64 Index; > + UINT32 Count; > + UINT32 Index; > UINT64 LocalityCount; > UINT8* LocalityPtr; > CHAR16 Buffer[80]; // Used for AsciiName param of ParseAcpi @@ -105,6 > +105,11 @@ ParseAcpiSlit ( > } > } > > + if (LocalityCount >= MAX_UINT32) { > + Print (L"INFO: Skipping validation of System Localities as locality count > is >= MAX_UINT32\n"); > + return; > + } > + > // Validate > for (Count = 0; Count < LocalityCount; Count++) { > for (Index = 0; Index < LocalityCount; Index++) { > -- > 2.21.0.windows.1 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44845): https://edk2.groups.io/g/devel/message/44845 Mute This Topic: https://groups.io/mt/32683877/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-