]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseMemoryLibMmx/SetMem32Wrapper.c
1) Update SetPeiServicesTablePointer's prototype add CONST modifier.
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibMmx / SetMem32Wrapper.c
CommitLineData
c5ecf6c1 1/** @file\r
2 SetMem32() implementation.\r
3\r
4 Copyright (c) 2006, Intel Corporation<BR>\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 Module Name: SetMem32Wrapper.c\r
14\r
2bfb6009 15 The following BaseMemoryLib instances contain the same copy of this file:\r
c5ecf6c1 16\r
17 BaseMemoryLib\r
18 BaseMemoryLibMmx\r
19 BaseMemoryLibSse2\r
20 BaseMemoryLibRepStr\r
2bfb6009
LG
21 BaseMemoryLibOptDxe\r
22 BaseMemoryLibOptPei\r
c5ecf6c1 23 PeiMemoryLib\r
24 DxeMemoryLib\r
25\r
26**/\r
27\r
28#include "MemLibInternals.h"\r
29\r
30/**\r
31 Fills a target buffer with a 32-bit value, and returns the target buffer.\r
32\r
33 This function fills Length bytes of Buffer with the 32-bit value specified by\r
34 Value, and returns Buffer. Value is repeated every 32-bits in for Length\r
35 bytes of Buffer.\r
36\r
37 If Length > 0 and Buffer is NULL, then ASSERT().\r
38 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
39 If Buffer is not aligned on a 32-bit boundary, then ASSERT().\r
40 If Length is not aligned on a 32-bit boundary, then ASSERT().\r
41\r
42 @param Buffer Pointer to the target buffer to fill.\r
43 @param Length Number of bytes in Buffer to fill.\r
44 @param Value Value with which to fill Length bytes of Buffer.\r
45\r
46 @return Buffer.\r
47\r
48**/\r
49VOID *\r
50EFIAPI\r
51SetMem32 (\r
52 OUT VOID *Buffer,\r
53 IN UINTN Length,\r
54 IN UINT32 Value\r
55 )\r
56{\r
2bfb6009 57 if (Length == 0) {\r
c5ecf6c1 58 return Buffer;\r
59 }\r
60\r
61 ASSERT (Buffer != NULL);\r
62 ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer));\r
63 ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
64 ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
65\r
66 return InternalMemSetMem32 (Buffer, Length / sizeof (Value), Value);\r
67}\r