[edk2-devel] [Patch v2 1/2] ShellPkg/AcpiView: Fix IA32 link error
Gao, Zhichao
zhichao.gao at intel.com
Fri Aug 2 05:28:08 UTC 2019
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 at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of
> Michael D Kinney
> Sent: Friday, August 2, 2019 4:56 AM
> To: devel at edk2.groups.io
> Cc: Carsey, Jaben <jaben.carsey at intel.com>; Ni, Ray <ray.ni at intel.com>;
> Gao, Zhichao <zhichao.gao at intel.com>; Sami Mujawar
> <sami.mujawar at 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.carsey at intel.com>
> Cc: Ray Ni <ray.ni at intel.com>
> Cc: Zhichao Gao <zhichao.gao at intel.com>
> Cc: Sami Mujawar <sami.mujawar at arm.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney at 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/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