/** @file\r
I/O Library MMIO Buffer Functions.\r
\r
- Copyright (c) 2007, Intel Corporation<BR>\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
+ Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ Module Name: IoLibMmioBuffer.c\r
\r
**/\r
\r
+\r
#include "DxeCpuIoLibInternal.h"\r
\r
/**\r
\r
ReturnBuffer = Buffer;\r
\r
- while (Length--) {\r
+ while (Length-- > 0) {\r
*(Buffer++) = MmioRead8 (StartAddress++);\r
}\r
\r
If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
\r
If Length is not aligned on a 16-bit boundary, then ASSERT().\r
+\r
If Buffer is not aligned on a 16-bit boundary, then ASSERT().\r
\r
@param StartAddress Starting address for the MMIO region to be copied from.\r
\r
ReturnBuffer = Buffer;\r
\r
- while (Length) {\r
+ while (Length > 0) {\r
*(Buffer++) = MmioRead16 (StartAddress);\r
StartAddress += sizeof (UINT16);\r
Length -= sizeof (UINT16);\r
\r
ReturnBuffer = Buffer;\r
\r
- while (Length) {\r
+ while (Length > 0) {\r
*(Buffer++) = MmioRead32 (StartAddress);\r
StartAddress += sizeof (UINT32);\r
Length -= sizeof (UINT32);\r
If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
\r
If Length is not aligned on a 64-bit boundary, then ASSERT().\r
+\r
If Buffer is not aligned on a 64-bit boundary, then ASSERT().\r
\r
@param StartAddress Starting address for the MMIO region to be copied from.\r
\r
ReturnBuffer = Buffer;\r
\r
- while (Length) {\r
+ while (Length > 0) {\r
*(Buffer++) = MmioRead64 (StartAddress);\r
StartAddress += sizeof (UINT64);\r
Length -= sizeof (UINT64);\r
@param Length Size in bytes of the copy.\r
@param Buffer Pointer to a system memory buffer containing the data to write.\r
\r
- @return Size in bytes of the copy.\r
+ @return Buffer\r
\r
**/\r
UINT8 *\r
\r
ReturnBuffer = (UINT8 *) Buffer;\r
\r
- while (Length--) {\r
+ while (Length-- > 0) {\r
MmioWrite8 (StartAddress++, *(Buffer++));\r
}\r
\r
\r
Copy data from system memory specified by Buffer to MMIO region specified\r
by starting address StartAddress by using 16-bit access. The total number\r
- of byte to be copied is specified by Length. Length is returned.\r
+ of byte to be copied is specified by Length. Buffer is returned.\r
\r
If StartAddress is not aligned on a 16-bit boundary, then ASSERT().\r
\r
@param Length Size in bytes of the copy.\r
@param Buffer Pointer to a system memory buffer containing the data to write.\r
\r
- @return Size in bytes of the copy.\r
+ @return Buffer\r
\r
**/\r
UINT16 *\r
\r
ReturnBuffer = (UINT16 *) Buffer;\r
\r
- while (Length) {\r
+ while (Length > 0) {\r
MmioWrite16 (StartAddress, *(Buffer++));\r
\r
StartAddress += sizeof (UINT16);\r
\r
Copy data from system memory specified by Buffer to MMIO region specified\r
by starting address StartAddress by using 32-bit access. The total number\r
- of byte to be copied is specified by Length. Length is returned.\r
+ of byte to be copied is specified by Length. Buffer is returned.\r
\r
If StartAddress is not aligned on a 32-bit boundary, then ASSERT().\r
\r
@param Length Size in bytes of the copy.\r
@param Buffer Pointer to a system memory buffer containing the data to write.\r
\r
- @return Size in bytes of the copy.\r
+ @return Buffer\r
\r
**/\r
UINT32 *\r
\r
ReturnBuffer = (UINT32 *) Buffer;\r
\r
- while (Length) {\r
+ while (Length > 0) {\r
MmioWrite32 (StartAddress, *(Buffer++));\r
\r
StartAddress += sizeof (UINT32);\r
\r
Copy data from system memory specified by Buffer to MMIO region specified\r
by starting address StartAddress by using 64-bit access. The total number\r
- of byte to be copied is specified by Length. Length is returned.\r
+ of byte to be copied is specified by Length. Buffer is returned.\r
\r
If StartAddress is not aligned on a 64-bit boundary, then ASSERT().\r
\r
@param Length Size in bytes of the copy.\r
@param Buffer Pointer to a system memory buffer containing the data to write.\r
\r
- @return Size in bytes of the copy.\r
+ @return Buffer\r
\r
**/\r
UINT64 *\r
\r
ReturnBuffer = (UINT64 *) Buffer;\r
\r
- while (Length) {\r
+ while (Length > 0) {\r
MmioWrite64 (StartAddress, *(Buffer++));\r
\r
StartAddress += sizeof (UINT64);\r