#/*++\r
#\r
-# Copyright (c) 2004 - 2006, Intel Corporation \r
-# All rights reserved. This program and the accompanying materials \r
+# Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>\r
+# This program and the accompanying materials \r
# are licensed and made available under the terms and conditions of the BSD License \r
# which accompanies this distribution. The full text of the license may be found at \r
# http://opensource.org/licenses/bsd-license.php \r
#\r
# Abstract:\r
#\r
-# Component description file for BaseMemoryLib.\r
+# Component description file for BaseMemoryLib. This instance is not the \r
+# BaseMemoryLib in EdkII but almost BaseMemoryLibRepStr.\r
+# Use REP string instructions for Ia32 and X64 for high performance and small size\r
+# Use C implementation for IPF and EBC\r
#\r
#--*/\r
\r
BASE_NAME = EdkIIGlueBaseMemoryLib\r
COMPONENT_TYPE = LIBRARY\r
\r
-[sources.common]\r
- CopyMem.c\r
- MemLibGuid.c\r
- MemLibGeneric.c\r
- CopyMemWrapper.c\r
- SetMemWrapper.c\r
- SetMem16Wrapper.c\r
- SetMem32Wrapper.c\r
- SetMem64Wrapper.c\r
- CompareMemWrapper.c\r
- ZeroMemWrapper.c\r
- ScanMem8Wrapper.c\r
- ScanMem16Wrapper.c\r
- ScanMem32Wrapper.c\r
- ScanMem64Wrapper.c\r
- SetMem.c\r
+[Sources.common]\r
+ BaseMemoryLibInternal.h\r
\r
-[sources.ia32]\r
+[Sources.Ia32]\r
+ Ia32/ScanMem64.S\r
+ Ia32/ScanMem32.S\r
+ Ia32/ScanMem16.S\r
+ Ia32/ScanMem8.S\r
+ Ia32/CompareMem.S\r
+ Ia32/ZeroMem.S\r
+ Ia32/SetMem64.S\r
+ Ia32/SetMem32.S\r
+ Ia32/SetMem16.S\r
+ Ia32/SetMem.S\r
+ Ia32/CopyMem.S\r
+ Ia32/ScanMem64.asm\r
+ Ia32/ScanMem32.asm\r
+ Ia32/ScanMem16.asm\r
+ Ia32/ScanMem8.asm\r
+ Ia32/CompareMem.asm\r
+ Ia32/ZeroMem.asm\r
+ Ia32/SetMem64.asm\r
+ Ia32/SetMem32.asm\r
+ Ia32/SetMem16.asm\r
+ Ia32/SetMem.asm\r
+ Ia32/CopyMem.asm\r
+ ScanMem64Wrapper.c\r
+ ScanMem32Wrapper.c\r
+ ScanMem16Wrapper.c\r
+ ScanMem8Wrapper.c\r
+ ZeroMemWrapper.c\r
+ CompareMemWrapper.c\r
+ SetMem64Wrapper.c\r
+ SetMem32Wrapper.c\r
+ SetMem16Wrapper.c\r
+ SetMemWrapper.c\r
+ CopyMemWrapper.c\r
+ MemLibGuid.c\r
\r
-[sources.x64]\r
+[Sources.X64]\r
+ X64/ScanMem64.S\r
+ X64/ScanMem32.S\r
+ X64/ScanMem16.S\r
+ X64/ScanMem8.S\r
+ X64/CompareMem.S\r
+ X64/ZeroMem.S\r
+ X64/SetMem64.S\r
+ X64/SetMem32.S\r
+ X64/SetMem16.S\r
+ X64/SetMem.S\r
+ X64/CopyMem.S\r
+ X64/ScanMem64.asm\r
+ X64/ScanMem32.asm\r
+ X64/ScanMem16.asm\r
+ X64/ScanMem8.asm\r
+ X64/CompareMem.asm\r
+ X64/ZeroMem.asm\r
+ X64/SetMem64.asm\r
+ X64/SetMem32.asm\r
+ X64/SetMem16.asm\r
+ X64/SetMem.asm\r
+ X64/CopyMem.asm\r
+ ScanMem64Wrapper.c\r
+ ScanMem32Wrapper.c\r
+ ScanMem16Wrapper.c\r
+ ScanMem8Wrapper.c\r
+ ZeroMemWrapper.c\r
+ CompareMemWrapper.c\r
+ SetMem64Wrapper.c\r
+ SetMem32Wrapper.c\r
+ SetMem16Wrapper.c\r
+ SetMemWrapper.c\r
+ CopyMemWrapper.c\r
+ MemLibGuid.c\r
\r
[sources.ipf]\r
+ Ipf/CopyMem.c\r
+ Ipf/MemLibGeneric.c\r
+ Ipf/SetMem.c\r
\r
[sources.ebc]\r
+ Ebc/CopyMem.c\r
+ Ebc/MemLibGeneric.c\r
+ Ebc/SetMem.c\r
\r
[includes.common]\r
.\r
- ..\..\Include\r
- ..\..\include\Library\r
- $(EDK_SOURCE)\Foundation\r
- $(EDK_SOURCE)\Foundation\Framework\r
- $(EDK_SOURCE)\Foundation\Efi\r
- $(EDK_SOURCE)\Foundation\Include\r
- $(EDK_SOURCE)\Foundation\Efi\Include\r
- $(EDK_SOURCE)\Foundation\Framework\Include\r
- $(EDK_SOURCE)\Foundation\Include\IndustryStandard\r
- $(EDK_SOURCE)\Foundation\Core\Dxe\r
- $(EDK_SOURCE)\Foundation\Library\Dxe\Include\r
- $(EDK_SOURCE)\Foundation\Cpu\Pentium\Include\r
+ ../../Include\r
+ ../../include/Library\r
+ $(EDK_SOURCE)/Foundation\r
+ $(EDK_SOURCE)/Foundation/Framework\r
+ $(EDK_SOURCE)/Foundation/Efi\r
+ $(EDK_SOURCE)/Foundation/Include\r
+ $(EDK_SOURCE)/Foundation/Efi/Include\r
+ $(EDK_SOURCE)/Foundation/Framework/Include\r
+ $(EDK_SOURCE)/Foundation/Include/IndustryStandard\r
+ $(EDK_SOURCE)/Foundation/Core/Dxe\r
+ $(EDK_SOURCE)/Foundation/Library/Dxe/Include\r
+ $(EDK_SOURCE)/Foundation/Cpu/Pentium/Include\r
\r
[libraries.common]\r
EdkIIGlueBaseLib\r
\r
[nmake.common]\r
C_FLAGS = $(C_FLAGS) /D EDKII_GLUE_LIBRARY_IMPLEMENTATION\r
- LIB_STD_FLAGS = $(LIB_STD_FLAGS) /IGNORE:4006\r
+ LIB_STD_FLAGS = $(LIB_STD_FLAGS) /IGNORE:4006 /IGNORE:4221\r
\r
[nmake.ia32]\r
C_FLAGS = $(C_FLAGS) /D MDE_CPU_IA32\r
\r
[nmake.ebc]\r
EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /D EDKII_GLUE_LIBRARY_IMPLEMENTATION\r
- EBC_LIB_STD_FLAGS = $(EBC_LIB_STD_FLAGS) /IGNORE:4006\r
+ EBC_LIB_STD_FLAGS = $(EBC_LIB_STD_FLAGS) /IGNORE:4006 /IGNORE:4221\r
EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /D MDE_CPU_EBC\r