]>
Commit | Line | Data |
---|---|---|
6bfbb5f0 | 1 | ## @file\r |
34b0820e | 2 | # Instance of Base Memory Library optimized for use in DXE phase.\r |
631f060b | 3 | #\r |
9095d37b | 4 | # Base Memory Library that is optimized for use in DXE phase.\r |
34b0820e | 5 | # Uses REP, MMX, XMM registers as required for best performance.\r |
85ea851e | 6 | #\r |
13688930 | 7 | # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r |
631f060b | 8 | #\r |
adc29a97 | 9 | # This program and the accompanying materials\r |
631f060b | 10 | # are licensed and made available under the terms and conditions of the BSD License\r |
11 | # which accompanies this distribution. The full text of the license may be found at\r | |
2fc59a00 | 12 | # http://opensource.org/licenses/bsd-license.php.\r |
631f060b | 13 | # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r |
14 | # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
15 | #\r | |
16 | #\r | |
6bfbb5f0 | 17 | ##\r |
631f060b | 18 | \r |
19 | [Defines]\r | |
20 | INF_VERSION = 0x00010005\r | |
21 | BASE_NAME = BaseMemoryLibOptDxe\r | |
c92c1790 | 22 | MODULE_UNI_FILE = BaseMemoryLibOptDxe.uni\r |
631f060b | 23 | FILE_GUID = 02BD55C2-AB1D-4b75-B0FD-9A63AE09B31D\r |
24 | MODULE_TYPE = BASE\r | |
25 | VERSION_STRING = 1.0\r | |
9095d37b | 26 | LIBRARY_CLASS = BaseMemoryLib\r |
631f060b | 27 | \r |
28 | \r | |
29 | #\r | |
c86cd1e1 | 30 | # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64\r |
631f060b | 31 | #\r |
32 | \r | |
6bfbb5f0 | 33 | [Sources]\r |
631f060b | 34 | MemLibInternals.h\r |
35 | \r | |
36 | [Sources.Ia32]\r | |
a9064cd1 | 37 | Ia32/ScanMem64.nasm\r |
631f060b | 38 | Ia32/ScanMem64.S\r |
28f60f39 | 39 | Ia32/ScanMem32.nasm\r |
631f060b | 40 | Ia32/ScanMem32.S\r |
3eef2cd1 | 41 | Ia32/ScanMem16.nasm\r |
631f060b | 42 | Ia32/ScanMem16.S\r |
27634d57 | 43 | Ia32/ScanMem8.nasm\r |
631f060b | 44 | Ia32/ScanMem8.S\r |
3309f2d0 | 45 | Ia32/CompareMem.nasm\r |
631f060b | 46 | Ia32/CompareMem.S\r |
b7629d4a | 47 | Ia32/ZeroMem.nasm\r |
631f060b | 48 | Ia32/ZeroMem.S\r |
2100382e | 49 | Ia32/SetMem64.nasm\r |
631f060b | 50 | Ia32/SetMem64.S\r |
d4dcd564 | 51 | Ia32/SetMem32.nasm\r |
631f060b | 52 | Ia32/SetMem32.S\r |
49d25294 | 53 | Ia32/SetMem16.nasm\r |
631f060b | 54 | Ia32/SetMem16.S\r |
7871ddfd | 55 | Ia32/SetMem.nasm\r |
631f060b | 56 | Ia32/SetMem.S\r |
1b7c54f8 | 57 | Ia32/CopyMem.nasm\r |
631f060b | 58 | Ia32/CopyMem.S\r |
a9064cd1 | 59 | Ia32/ScanMem64.nasm\r |
28f60f39 | 60 | Ia32/ScanMem32.nasm\r |
3eef2cd1 | 61 | Ia32/ScanMem16.nasm\r |
27634d57 | 62 | Ia32/ScanMem8.nasm\r |
3309f2d0 | 63 | Ia32/CompareMem.nasm\r |
b7629d4a | 64 | Ia32/ZeroMem.nasm\r |
2100382e | 65 | Ia32/SetMem64.nasm\r |
d4dcd564 | 66 | Ia32/SetMem32.nasm\r |
49d25294 | 67 | Ia32/SetMem16.nasm\r |
7871ddfd | 68 | Ia32/SetMem.nasm\r |
1b7c54f8 | 69 | Ia32/CopyMem.nasm\r |
02b5cf7f | 70 | Ia32/IsZeroBuffer.nasm\r |
217b3ac0 | 71 | MemLibGuid.c\r |
631f060b | 72 | \r |
73 | [Sources.X64]\r | |
d45df811 | 74 | X64/ScanMem64.nasm\r |
4d9ff8be | 75 | X64/ScanMem64.S\r |
3523a814 | 76 | X64/ScanMem32.nasm\r |
4d9ff8be | 77 | X64/ScanMem32.S\r |
a575e9af | 78 | X64/ScanMem16.nasm\r |
4d9ff8be | 79 | X64/ScanMem16.S\r |
865cb6c6 | 80 | X64/ScanMem8.nasm\r |
4d9ff8be | 81 | X64/ScanMem8.S\r |
98b85271 | 82 | X64/CompareMem.nasm\r |
4d9ff8be | 83 | X64/CompareMem.S\r |
053a51bd | 84 | X64/ZeroMem.nasm\r |
4d9ff8be | 85 | X64/ZeroMem.S\r |
98f2c9e8 | 86 | X64/SetMem64.nasm\r |
4d9ff8be | 87 | X64/SetMem64.S\r |
662cf910 | 88 | X64/SetMem32.nasm\r |
4d9ff8be | 89 | X64/SetMem32.S\r |
874eb39c | 90 | X64/SetMem16.nasm\r |
4d9ff8be | 91 | X64/SetMem16.S\r |
ff98bc66 | 92 | X64/SetMem.nasm\r |
4d9ff8be | 93 | X64/SetMem.S\r |
78a04284 | 94 | X64/CopyMem.nasm\r |
4d9ff8be | 95 | X64/CopyMem.S\r |
02b5cf7f | 96 | X64/IsZeroBuffer.nasm\r |
217b3ac0 | 97 | MemLibGuid.c\r |
a37f6605 | 98 | \r |
d947fbed AB |
99 | [Defines.ARM, Defines.AARCH64]\r |
100 | #\r | |
101 | # The ARM implementations of this library may perform unaligned accesses, and\r | |
102 | # may use DC ZVA instructions that are only allowed when the MMU and D-cache\r | |
103 | # are on. Since SEC, PEI_CORE and PEIM modules may execute with the MMU off,\r | |
104 | # omit them from the supported module types list for this library.\r | |
105 | #\r | |
106 | LIBRARY_CLASS = BaseMemoryLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_DRIVER UEFI_APPLICATION\r | |
107 | \r | |
a37f6605 AB |
108 | [Sources.ARM]\r |
109 | Arm/ScanMem.S |GCC\r | |
110 | Arm/SetMem.S |GCC\r | |
111 | Arm/CopyMem.S |GCC\r | |
112 | Arm/CompareMem.S |GCC\r | |
217b3ac0 | 113 | Arm/CompareGuid.S |GCC\r |
a37f6605 AB |
114 | \r |
115 | Arm/ScanMem.asm |RVCT\r | |
116 | Arm/SetMem.asm |RVCT\r | |
117 | Arm/CopyMem.asm |RVCT\r | |
118 | Arm/CompareMem.asm |RVCT\r | |
217b3ac0 | 119 | Arm/CompareGuid.asm |RVCT\r |
a37f6605 | 120 | \r |
c86cd1e1 AB |
121 | [Sources.AARCH64]\r |
122 | AArch64/ScanMem.S\r | |
123 | AArch64/SetMem.S\r | |
124 | AArch64/CopyMem.S\r | |
125 | AArch64/CompareMem.S\r | |
217b3ac0 | 126 | AArch64/CompareGuid.S\r |
c86cd1e1 AB |
127 | \r |
128 | [Sources.ARM, Sources.AARCH64]\r | |
a37f6605 | 129 | Arm/ScanMemGeneric.c\r |
217b3ac0 | 130 | Arm/MemLibGuid.c\r |
a37f6605 AB |
131 | \r |
132 | [Sources]\r | |
631f060b | 133 | ScanMem64Wrapper.c\r |
134 | ScanMem32Wrapper.c\r | |
135 | ScanMem16Wrapper.c\r | |
136 | ScanMem8Wrapper.c\r | |
137 | ZeroMemWrapper.c\r | |
138 | CompareMemWrapper.c\r | |
139 | SetMem64Wrapper.c\r | |
140 | SetMem32Wrapper.c\r | |
141 | SetMem16Wrapper.c\r | |
142 | SetMemWrapper.c\r | |
143 | CopyMemWrapper.c\r | |
02b5cf7f | 144 | IsZeroBufferWrapper.c\r |
631f060b | 145 | \r |
146 | [Packages]\r | |
147 | MdePkg/MdePkg.dec\r | |
148 | \r | |
149 | [LibraryClasses]\r | |
150 | DebugLib\r | |
151 | BaseLib\r | |
152 | \r |