summaryrefslogtreecommitdiff
path: root/IntelFrameworkModulePkg/Universal/CpuIoDxe
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2011-12-01 06:12:28 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2011-12-01 06:12:28 +0000
commit20f6ac147ce0d0a92e6dab70dfe2d7a4bfb0de7e (patch)
treed0ff36f386c2b21a3a04197cb14c800a6e2f1a9f /IntelFrameworkModulePkg/Universal/CpuIoDxe
parent36de860619c2c3e8bc9f974d1296eb81411049f1 (diff)
downloadedk2-platforms-20f6ac147ce0d0a92e6dab70dfe2d7a4bfb0de7e.tar.xz
Update the check condition to allows 64-bit operation's data buffer not to be 64-bit aligned on IA32 system.
Signed-off-by: vanjeff Reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12809 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkModulePkg/Universal/CpuIoDxe')
-rw-r--r--IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIo.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIo.c b/IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIo.c
index d0d8a0a764..3865a7cfe0 100644
--- a/IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIo.c
+++ b/IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIo.c
@@ -1,7 +1,7 @@
/** @file
Uses the services of the I/O Library to produce the CPU I/O Protocol
-Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
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;
}