]>
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 |
28f60f39 | 38 | Ia32/ScanMem32.nasm\r |
3eef2cd1 | 39 | Ia32/ScanMem16.nasm\r |
27634d57 | 40 | Ia32/ScanMem8.nasm\r |
3309f2d0 | 41 | Ia32/CompareMem.nasm\r |
b7629d4a | 42 | Ia32/ZeroMem.nasm\r |
2100382e | 43 | Ia32/SetMem64.nasm\r |
d4dcd564 | 44 | Ia32/SetMem32.nasm\r |
49d25294 | 45 | Ia32/SetMem16.nasm\r |
7871ddfd | 46 | Ia32/SetMem.nasm\r |
1b7c54f8 | 47 | Ia32/CopyMem.nasm\r |
a9064cd1 | 48 | Ia32/ScanMem64.nasm\r |
28f60f39 | 49 | Ia32/ScanMem32.nasm\r |
3eef2cd1 | 50 | Ia32/ScanMem16.nasm\r |
27634d57 | 51 | Ia32/ScanMem8.nasm\r |
3309f2d0 | 52 | Ia32/CompareMem.nasm\r |
b7629d4a | 53 | Ia32/ZeroMem.nasm\r |
2100382e | 54 | Ia32/SetMem64.nasm\r |
d4dcd564 | 55 | Ia32/SetMem32.nasm\r |
49d25294 | 56 | Ia32/SetMem16.nasm\r |
7871ddfd | 57 | Ia32/SetMem.nasm\r |
1b7c54f8 | 58 | Ia32/CopyMem.nasm\r |
02b5cf7f | 59 | Ia32/IsZeroBuffer.nasm\r |
217b3ac0 | 60 | MemLibGuid.c\r |
631f060b | 61 | \r |
62 | [Sources.X64]\r | |
d45df811 | 63 | X64/ScanMem64.nasm\r |
3523a814 | 64 | X64/ScanMem32.nasm\r |
a575e9af | 65 | X64/ScanMem16.nasm\r |
865cb6c6 | 66 | X64/ScanMem8.nasm\r |
98b85271 | 67 | X64/CompareMem.nasm\r |
053a51bd | 68 | X64/ZeroMem.nasm\r |
98f2c9e8 | 69 | X64/SetMem64.nasm\r |
662cf910 | 70 | X64/SetMem32.nasm\r |
874eb39c | 71 | X64/SetMem16.nasm\r |
ff98bc66 | 72 | X64/SetMem.nasm\r |
78a04284 | 73 | X64/CopyMem.nasm\r |
02b5cf7f | 74 | X64/IsZeroBuffer.nasm\r |
217b3ac0 | 75 | MemLibGuid.c\r |
a37f6605 | 76 | \r |
d947fbed AB |
77 | [Defines.ARM, Defines.AARCH64]\r |
78 | #\r | |
79 | # The ARM implementations of this library may perform unaligned accesses, and\r | |
80 | # may use DC ZVA instructions that are only allowed when the MMU and D-cache\r | |
81 | # are on. Since SEC, PEI_CORE and PEIM modules may execute with the MMU off,\r | |
82 | # omit them from the supported module types list for this library.\r | |
83 | #\r | |
84 | LIBRARY_CLASS = BaseMemoryLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_DRIVER UEFI_APPLICATION\r | |
85 | \r | |
a37f6605 AB |
86 | [Sources.ARM]\r |
87 | Arm/ScanMem.S |GCC\r | |
88 | Arm/SetMem.S |GCC\r | |
89 | Arm/CopyMem.S |GCC\r | |
90 | Arm/CompareMem.S |GCC\r | |
217b3ac0 | 91 | Arm/CompareGuid.S |GCC\r |
a37f6605 AB |
92 | \r |
93 | Arm/ScanMem.asm |RVCT\r | |
94 | Arm/SetMem.asm |RVCT\r | |
95 | Arm/CopyMem.asm |RVCT\r | |
96 | Arm/CompareMem.asm |RVCT\r | |
217b3ac0 | 97 | Arm/CompareGuid.asm |RVCT\r |
a37f6605 | 98 | \r |
c86cd1e1 AB |
99 | [Sources.AARCH64]\r |
100 | AArch64/ScanMem.S\r | |
101 | AArch64/SetMem.S\r | |
102 | AArch64/CopyMem.S\r | |
103 | AArch64/CompareMem.S\r | |
217b3ac0 | 104 | AArch64/CompareGuid.S\r |
c86cd1e1 AB |
105 | \r |
106 | [Sources.ARM, Sources.AARCH64]\r | |
a37f6605 | 107 | Arm/ScanMemGeneric.c\r |
217b3ac0 | 108 | Arm/MemLibGuid.c\r |
a37f6605 AB |
109 | \r |
110 | [Sources]\r | |
631f060b | 111 | ScanMem64Wrapper.c\r |
112 | ScanMem32Wrapper.c\r | |
113 | ScanMem16Wrapper.c\r | |
114 | ScanMem8Wrapper.c\r | |
115 | ZeroMemWrapper.c\r | |
116 | CompareMemWrapper.c\r | |
117 | SetMem64Wrapper.c\r | |
118 | SetMem32Wrapper.c\r | |
119 | SetMem16Wrapper.c\r | |
120 | SetMemWrapper.c\r | |
121 | CopyMemWrapper.c\r | |
02b5cf7f | 122 | IsZeroBufferWrapper.c\r |
631f060b | 123 | \r |
124 | [Packages]\r | |
125 | MdePkg/MdePkg.dec\r | |
126 | \r | |
127 | [LibraryClasses]\r | |
128 | DebugLib\r | |
129 | BaseLib\r | |
130 | \r |