From 36de860619c2c3e8bc9f974d1296eb81411049f1 Mon Sep 17 00:00:00 2001 From: vanjeff Date: Thu, 1 Dec 2011 06:08:25 +0000 Subject: [PATCH] Update the check condition to allows UINT64 and INT64 data types to be 32-bit aligned on IA32 system. Signed-off-by: vanjeff Reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12808 6f19259b-4bc3-4df7-8a09-765794883524 --- UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c b/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c index fd4b2e8524..802342caae 100644 --- a/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c +++ b/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c @@ -1,7 +1,7 @@ /** @file Produces the CPU I/O 2 Protocol. -Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -175,8 +175,9 @@ CpuIoCheckParameter ( // // Check to see if Buffer is aligned + // (IA-32 allows UINT64 and INT64 data types to be 32-bit aligned.) // - if (((UINTN)Buffer & (mInStride[Width] - 1)) != 0) { + if (((UINTN)Buffer & ((MIN (sizeof (UINTN), mInStride[Width]) - 1))) != 0) { return EFI_UNSUPPORTED; }