ZeroMemWrapper.c revision cc4e0485045285042ad088736ef278459b139d54
1e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff/** @file 2e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff ZeroMem() implementation. 3e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 4e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff Copyright (c) 2006, Intel Corporation<BR> 5e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff All rights reserved. This program and the accompanying materials 6e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff are licensed and made available under the terms and conditions of the BSD License 7e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff which accompanies this distribution. The full text of the license may be found at 8e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff http://opensource.org/licenses/bsd-license.php 9e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 10e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 13e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff The following BaseMemoryLib instances share the same version of this file: 14e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 15e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff BaseMemoryLib 16e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff BaseMemoryLibMmx 17e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff BaseMemoryLibSse2 18e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff BaseMemoryLibRepStr 19e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff PeiMemoryLib 20e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff DxeMemoryLib 21e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 22e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff**/ 23e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 24e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff// 25e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff// Include common header file for this module. 26e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff// 27f734a10ab104f1072f94cab66a5489e0fd8fce8aAJFISH 28e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 29e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff#include "MemLibInternals.h" 30e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 31e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff/** 32e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff Fills a target buffer with zeros, and returns the target buffer. 33e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 34e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff This function fills Length bytes of Buffer with zeros, and returns Buffer. 35e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff If Length > 0 and Buffer is NULL, then ASSERT(). 36cc4e0485045285042ad088736ef278459b139d54lgao If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). 37e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 38e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff @param Buffer Pointer to the target buffer to fill with zeros. 39e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff @param Length Number of bytes in Buffer to fill with zeros. 40e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 41e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff @return Buffer. 42e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff 43e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff**/ 44e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeffVOID * 45e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeffEFIAPI 46e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeffZeroMem ( 47e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff OUT VOID *Buffer, 48e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff IN UINTN Length 49e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff ) 50e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff{ 5138bbd3d91c38481d18c1a7e2049473c951ee98edyshang ASSERT (!(NULL == Buffer && Length > 0)); 52e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff ASSERT (Length <= (MAX_ADDRESS - (UINTN)Buffer + 1)); 53e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff return InternalMemZeroMem (Buffer, Length); 54e1f414b6a7d8a0424e0e01f655b09a4612b4d0e8vanjeff} 55