]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibOptDxe / BaseMemoryLibOptDxe.inf
CommitLineData
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
9344f092 9# SPDX-License-Identifier: BSD-2-Clause-Patent\r
631f060b 10#\r
11#\r
6bfbb5f0 12##\r
631f060b 13\r
14[Defines]\r
15 INF_VERSION = 0x00010005\r
16 BASE_NAME = BaseMemoryLibOptDxe\r
c92c1790 17 MODULE_UNI_FILE = BaseMemoryLibOptDxe.uni\r
631f060b 18 FILE_GUID = 02BD55C2-AB1D-4b75-B0FD-9A63AE09B31D\r
19 MODULE_TYPE = BASE\r
20 VERSION_STRING = 1.0\r
9095d37b 21 LIBRARY_CLASS = BaseMemoryLib\r
631f060b 22\r
23\r
24#\r
c86cd1e1 25# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64\r
631f060b 26#\r
27\r
6bfbb5f0 28[Sources]\r
631f060b 29 MemLibInternals.h\r
30\r
31[Sources.Ia32]\r
a9064cd1 32 Ia32/ScanMem64.nasm\r
28f60f39 33 Ia32/ScanMem32.nasm\r
3eef2cd1 34 Ia32/ScanMem16.nasm\r
27634d57 35 Ia32/ScanMem8.nasm\r
3309f2d0 36 Ia32/CompareMem.nasm\r
b7629d4a 37 Ia32/ZeroMem.nasm\r
2100382e 38 Ia32/SetMem64.nasm\r
d4dcd564 39 Ia32/SetMem32.nasm\r
49d25294 40 Ia32/SetMem16.nasm\r
7871ddfd 41 Ia32/SetMem.nasm\r
1b7c54f8 42 Ia32/CopyMem.nasm\r
a9064cd1 43 Ia32/ScanMem64.nasm\r
28f60f39 44 Ia32/ScanMem32.nasm\r
3eef2cd1 45 Ia32/ScanMem16.nasm\r
27634d57 46 Ia32/ScanMem8.nasm\r
3309f2d0 47 Ia32/CompareMem.nasm\r
b7629d4a 48 Ia32/ZeroMem.nasm\r
2100382e 49 Ia32/SetMem64.nasm\r
d4dcd564 50 Ia32/SetMem32.nasm\r
49d25294 51 Ia32/SetMem16.nasm\r
7871ddfd 52 Ia32/SetMem.nasm\r
1b7c54f8 53 Ia32/CopyMem.nasm\r
02b5cf7f 54 Ia32/IsZeroBuffer.nasm\r
217b3ac0 55 MemLibGuid.c\r
631f060b 56\r
57[Sources.X64]\r
d45df811 58 X64/ScanMem64.nasm\r
3523a814 59 X64/ScanMem32.nasm\r
a575e9af 60 X64/ScanMem16.nasm\r
865cb6c6 61 X64/ScanMem8.nasm\r
98b85271 62 X64/CompareMem.nasm\r
053a51bd 63 X64/ZeroMem.nasm\r
98f2c9e8 64 X64/SetMem64.nasm\r
662cf910 65 X64/SetMem32.nasm\r
874eb39c 66 X64/SetMem16.nasm\r
ff98bc66 67 X64/SetMem.nasm\r
78a04284 68 X64/CopyMem.nasm\r
02b5cf7f 69 X64/IsZeroBuffer.nasm\r
217b3ac0 70 MemLibGuid.c\r
a37f6605 71\r
d947fbed
AB
72[Defines.ARM, Defines.AARCH64]\r
73 #\r
74 # The ARM implementations of this library may perform unaligned accesses, and\r
75 # may use DC ZVA instructions that are only allowed when the MMU and D-cache\r
76 # are on. Since SEC, PEI_CORE and PEIM modules may execute with the MMU off,\r
77 # omit them from the supported module types list for this library.\r
78 #\r
79 LIBRARY_CLASS = BaseMemoryLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_DRIVER UEFI_APPLICATION\r
80\r
a37f6605
AB
81[Sources.ARM]\r
82 Arm/ScanMem.S |GCC\r
83 Arm/SetMem.S |GCC\r
84 Arm/CopyMem.S |GCC\r
85 Arm/CompareMem.S |GCC\r
217b3ac0 86 Arm/CompareGuid.S |GCC\r
a37f6605
AB
87\r
88 Arm/ScanMem.asm |RVCT\r
89 Arm/SetMem.asm |RVCT\r
90 Arm/CopyMem.asm |RVCT\r
91 Arm/CompareMem.asm |RVCT\r
217b3ac0 92 Arm/CompareGuid.asm |RVCT\r
a37f6605 93\r
c86cd1e1
AB
94[Sources.AARCH64]\r
95 AArch64/ScanMem.S\r
96 AArch64/SetMem.S\r
97 AArch64/CopyMem.S\r
98 AArch64/CompareMem.S\r
217b3ac0 99 AArch64/CompareGuid.S\r
c86cd1e1
AB
100\r
101[Sources.ARM, Sources.AARCH64]\r
a37f6605 102 Arm/ScanMemGeneric.c\r
217b3ac0 103 Arm/MemLibGuid.c\r
a37f6605
AB
104\r
105[Sources]\r
631f060b 106 ScanMem64Wrapper.c\r
107 ScanMem32Wrapper.c\r
108 ScanMem16Wrapper.c\r
109 ScanMem8Wrapper.c\r
110 ZeroMemWrapper.c\r
111 CompareMemWrapper.c\r
112 SetMem64Wrapper.c\r
113 SetMem32Wrapper.c\r
114 SetMem16Wrapper.c\r
115 SetMemWrapper.c\r
116 CopyMemWrapper.c\r
02b5cf7f 117 IsZeroBufferWrapper.c\r
631f060b 118\r
119[Packages]\r
120 MdePkg/MdePkg.dec\r
121\r
122[LibraryClasses]\r
123 DebugLib\r
124 BaseLib\r
125\r