summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>2006-05-24 21:32:36 +0000
committerbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>2006-05-24 21:32:36 +0000
commit362c60128f4cf1a81451b0e94974035c8b3af164 (patch)
treee6760f110ef6b138a47174620f47ba7c61e5e066
parent75d0c5b183b87b2fabc1a55496f82364da29c154 (diff)
downloadedk2-platforms-362c60128f4cf1a81451b0e94974035c8b3af164.tar.xz
Gcc versions of the msa files. These files can be used in place of the normal msa files for gcc builds. They will go away once we get the gcc assembly integrated into the main msa files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@270 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdePkg/Library/BaseLib/BaseLib-Gcc.msa312
-rw-r--r--MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx-Gcc.msa68
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr-Gcc.msa93
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2-Gcc.msa93
4 files changed, 566 insertions, 0 deletions
diff --git a/MdePkg/Library/BaseLib/BaseLib-Gcc.msa b/MdePkg/Library/BaseLib/BaseLib-Gcc.msa
new file mode 100644
index 0000000000..ff1f4a2f27
--- /dev/null
+++ b/MdePkg/Library/BaseLib/BaseLib-Gcc.msa
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+-->
+<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
+ <MsaLibHeader>
+ <BaseName>BaseLib</BaseName>
+ <ModuleType>BASE</ModuleType>
+ <ComponentType>LIBRARY</ComponentType>
+ <Guid>27d67720-ea68-48ae-93da-a3a074c90e30</Guid>
+ <Version>0</Version>
+ <Abstract>Memory-only library functions with no library constructordestructor</Abstract>
+ <Description>FIX ME!</Description>
+ <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>
+ <License>
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ </License>
+ <Specification>0</Specification>
+ <Created>2006-03-09 23:16</Created>
+ <Updated>2006-03-22 18:15</Updated>
+ </MsaLibHeader>
+ <LibraryClassDefinitions>
+ <LibraryClass Usage="ALWAYS_PRODUCED">BaseLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">BaseMemoryLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">TimerLib</LibraryClass>
+ </LibraryClassDefinitions>
+ <SourceFiles>
+ <Filename>String.c</Filename>
+ <Filename>LinkedList.c</Filename>
+ <Filename>Synchronization.c</Filename>
+ <Filename>Cpu.c</Filename>
+ <Filename>CpuDeadLoop.c</Filename>
+ <Filename>BitField.c</Filename>
+ <Filename>ARShiftU64.c</Filename>
+ <Filename>DivS64x64Remainder.c</Filename>
+ <Filename>DivU64x32.c</Filename>
+ <Filename>DivU64x32Remainder.c</Filename>
+ <Filename>DivU64x64Remainder.c</Filename>
+ <Filename>GetPowerOfTwo32.c</Filename>
+ <Filename>GetPowerOfTwo64.c</Filename>
+ <Filename>HighBitSet32.c</Filename>
+ <Filename>HighBitSet64.c</Filename>
+ <Filename>LowBitSet32.c</Filename>
+ <Filename>LowBitSet64.c</Filename>
+ <Filename>LRotU32.c</Filename>
+ <Filename>LRotU64.c</Filename>
+ <Filename>LShiftU64.c</Filename>
+ <Filename>ModU64x32.c</Filename>
+ <Filename>MultS64x64.c</Filename>
+ <Filename>MultU64x32.c</Filename>
+ <Filename>MultU64x64.c</Filename>
+ <Filename>RRotU32.c</Filename>
+ <Filename>RRotU64.c</Filename>
+ <Filename>RShiftU64.c</Filename>
+ <Filename>SwapBytes16.c</Filename>
+ <Filename>SwapBytes32.c</Filename>
+ <Filename>SwapBytes64.c</Filename>
+ <Arch ArchType="IA32">
+ <Filename>x86LowLevel.c</Filename>
+ <Filename>x86Thunk.c</Filename>
+ <Filename>Unaligned.c</Filename>
+ <Filename>Ia32/Non-existing.c</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/LShiftU64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/RShiftU64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ARShiftU64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/LRotU64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/RRotU64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/MultU64x32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/MultU64x64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/DivU64x32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ModU64x32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/DivU64x32Remainder.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/DivU64x64Remainder.s</Filename>
+ <Filename>Ia32/DivS64x64Remainder.c</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SwapBytes64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetJump.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/LongJump.s</Filename>
+ <Filename>Ia32/SwitchStack.c</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CpuId.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadEflags.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMsr64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMsr32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMsr64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadCr0.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadCr2.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadCr3.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadCr4.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteCr0.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteCr2.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteCr3.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteCr4.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr0.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr1.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr2.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr3.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr4.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr5.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr6.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDr7.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr0.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr1.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr2.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr3.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr4.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr5.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr6.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteDr7.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadCs.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadDs.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadEs.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadFs.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadGs.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadSs.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadTr.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadGdtr.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteGdtr.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadIdtr.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteIdtr.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadLdtr.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteLdtr.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/FxSave.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/FxRestore.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm0.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm1.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm2.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm3.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm4.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm5.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm6.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadMm7.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm0.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm1.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm2.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm3.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm4.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm5.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm6.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/WriteMm7.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadTsc.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ReadPmc.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/Monitor.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/Mwait.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/EnablePaging32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/DisablePaging32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/EnablePaging64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/Wbinvd.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/Invd.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/FlushCacheLine.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/InterlockedIncrement.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/InterlockedDecrement.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/InterlockedCompareExchange32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/InterlockedCompareExchange64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/EnableInterrupts.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/DisableInterrupts.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/EnableDisableInterrupts.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CpuSleep.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CpuPause.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CpuBreakpoint.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CpuFlushTlb.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/Thunk16.s</Filename>
+ </Arch>
+ <Arch ArchType="X64">
+ <Filename>x86LowLevel.c</Filename>
+ <Filename>x86Thunk.c</Filename>
+ <Filename>Unaligned.c</Filename>
+ <Filename>Math64.c</Filename>
+ <Filename>x64/Non-existing.c</Filename>
+ <Filename>x64/SwitchStack.asm</Filename>
+ <Filename>x64/SetJump.asm</Filename>
+ <Filename>x64/LongJump.asm</Filename>
+ <Filename>x64/CpuId.asm</Filename>
+ <Filename>x64/ReadEflags.asm</Filename>
+ <Filename>x64/ReadMsr32.asm</Filename>
+ <Filename>x64/ReadMsr64.asm</Filename>
+ <Filename>x64/WriteMsr32.asm</Filename>
+ <Filename>x64/WriteMsr64.asm</Filename>
+ <Filename>x64/ReadCr0.asm</Filename>
+ <Filename>x64/ReadCr2.asm</Filename>
+ <Filename>x64/ReadCr3.asm</Filename>
+ <Filename>x64/ReadCr4.asm</Filename>
+ <Filename>x64/WriteCr0.asm</Filename>
+ <Filename>x64/WriteCr2.asm</Filename>
+ <Filename>x64/WriteCr3.asm</Filename>
+ <Filename>x64/WriteCr4.asm</Filename>
+ <Filename>x64/ReadDr0.asm</Filename>
+ <Filename>x64/ReadDr1.asm</Filename>
+ <Filename>x64/ReadDr2.asm</Filename>
+ <Filename>x64/ReadDr3.asm</Filename>
+ <Filename>x64/ReadDr4.asm</Filename>
+ <Filename>x64/ReadDr5.asm</Filename>
+ <Filename>x64/ReadDr6.asm</Filename>
+ <Filename>x64/ReadDr7.asm</Filename>
+ <Filename>x64/WriteDr0.asm</Filename>
+ <Filename>x64/WriteDr1.asm</Filename>
+ <Filename>x64/WriteDr2.asm</Filename>
+ <Filename>x64/WriteDr3.asm</Filename>
+ <Filename>x64/WriteDr4.asm</Filename>
+ <Filename>x64/WriteDr5.asm</Filename>
+ <Filename>x64/WriteDr6.asm</Filename>
+ <Filename>x64/WriteDr7.asm</Filename>
+ <Filename>x64/ReadCs.asm</Filename>
+ <Filename>x64/ReadDs.asm</Filename>
+ <Filename>x64/ReadEs.asm</Filename>
+ <Filename>x64/ReadFs.asm</Filename>
+ <Filename>x64/ReadGs.asm</Filename>
+ <Filename>x64/ReadSs.asm</Filename>
+ <Filename>x64/ReadTr.asm</Filename>
+ <Filename>x64/ReadGdtr.asm</Filename>
+ <Filename>x64/WriteGdtr.asm</Filename>
+ <Filename>x64/ReadIdtr.asm</Filename>
+ <Filename>x64/WriteIdtr.asm</Filename>
+ <Filename>x64/ReadLdtr.asm</Filename>
+ <Filename>x64/WriteLdtr.asm</Filename>
+ <Filename>x64/FxSave.asm</Filename>
+ <Filename>x64/FxRestore.asm</Filename>
+ <Filename>x64/ReadMm0.asm</Filename>
+ <Filename>x64/ReadMm1.asm</Filename>
+ <Filename>x64/ReadMm2.asm</Filename>
+ <Filename>x64/ReadMm3.asm</Filename>
+ <Filename>x64/ReadMm4.asm</Filename>
+ <Filename>x64/ReadMm5.asm</Filename>
+ <Filename>x64/ReadMm6.asm</Filename>
+ <Filename>x64/ReadMm7.asm</Filename>
+ <Filename>x64/WriteMm0.asm</Filename>
+ <Filename>x64/WriteMm1.asm</Filename>
+ <Filename>x64/WriteMm2.asm</Filename>
+ <Filename>x64/WriteMm3.asm</Filename>
+ <Filename>x64/WriteMm4.asm</Filename>
+ <Filename>x64/WriteMm5.asm</Filename>
+ <Filename>x64/WriteMm6.asm</Filename>
+ <Filename>x64/WriteMm7.asm</Filename>
+ <Filename>x64/ReadTsc.asm</Filename>
+ <Filename>x64/ReadPmc.asm</Filename>
+ <Filename>x64/Monitor.asm</Filename>
+ <Filename>x64/Mwait.asm</Filename>
+ <Filename>x64/DisablePaging64.asm</Filename>
+ <Filename>x64/Wbinvd.asm</Filename>
+ <Filename>x64/Invd.asm</Filename>
+ <Filename>x64/FlushCacheLine.asm</Filename>
+ <Filename>x64/InterlockedIncrement.asm</Filename>
+ <Filename>x64/InterlockedDecrement.asm</Filename>
+ <Filename>x64/InterlockedCompareExchange32.asm</Filename>
+ <Filename>x64/InterlockedCompareExchange64.asm</Filename>
+ <Filename>x64/EnableInterrupts.asm</Filename>
+ <Filename>x64/DisableInterrupts.asm</Filename>
+ <Filename>x64/EnableDisableInterrupts.asm</Filename>
+ <Filename>x64/CpuSleep.asm</Filename>
+ <Filename>x64/CpuPause.asm</Filename>
+ <Filename>x64/CpuBreakpoint.asm</Filename>
+ <Filename>x64/CpuFlushTlb.asm</Filename>
+ <Filename>x64/Thunk16.asm</Filename>
+ </Arch>
+ <Arch ArchType="IPF">
+ <Filename>Math64.c</Filename>
+ <Filename>Ipf/setjmp.s</Filename>
+ <Filename>Ipf/SwitchStack.s</Filename>
+ <Filename>Ipf/Unaligned.c</Filename>
+ <Filename>Ipf/CpuBreakpoint.c</Filename>
+ <Filename>Ipf/InterlockedCompareExchange32.s</Filename>
+ <Filename>Ipf/InterlockedCompareExchange64.s</Filename>
+ <Filename>Ipf/Synchronization.c</Filename>
+ <Filename>Ipf/CpuPause.s</Filename>
+ <Filename>Ipf/CpuFlushTlb.s</Filename>
+ </Arch>
+ <Arch ArchType="EBC">
+ <Filename>Math64.c</Filename>
+ <Filename>SwitchStack.c</Filename>
+ <Filename>SetJumpLongJump.c</Filename>
+ <Filename>Unaligned.c</Filename>
+ <Filename>Ebc/CpuBreakpoint.c</Filename>
+ <Filename>Ebc/Synchronization.c</Filename>
+ </Arch>
+ </SourceFiles>
+ <Includes>
+ <PackageName>MdePkg</PackageName>
+ </Includes>
+ <PCDs>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdMaximumUnicodeStringLength</C_Name>
+ <Token>0x00000001</Token>
+ <DatumType>UINT32</DatumType>
+ </PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdMaximumAsciiStringLength</C_Name>
+ <Token>0x00000002</Token>
+ <DatumType>UINT32</DatumType>
+ </PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdMaximumLinkedListLength</C_Name>
+ <Token>0x00000003</Token>
+ <DatumType>UINT32</DatumType>
+ </PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdSpinLockTimeout</C_Name>
+ <Token>0x00000004</Token>
+ <DatumType>UINT32</DatumType>
+ </PcdData>
+ </PCDs>
+</LibraryModuleSurfaceArea>
diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx-Gcc.msa b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx-Gcc.msa
new file mode 100644
index 0000000000..dd661210a0
--- /dev/null
+++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx-Gcc.msa
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+-->
+<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
+ <MsaLibHeader>
+ <BaseName>BaseMemoryLibMmx</BaseName>
+ <ModuleType>BASE</ModuleType>
+ <ComponentType>LIBRARY</ComponentType>
+ <Guid>d458a654-f64c-49db-b8d1-3821306bf1f6</Guid>
+ <Version>EDK_RELEASE_VERSION 0x00090000</Version>
+ <Abstract>Memory-only library functions with no library constructor/destructor</Abstract>
+ <Description>FIX ME!</Description>
+ <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
+ <License>
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ </License>
+ <Specification>EFI_SPECIFICATION_VERSION 0x00000000</Specification>
+ <Created>2006-04-12 19:53</Created>
+ </MsaLibHeader>
+ <LibraryClassDefinitions>
+ <LibraryClass Usage="ALWAYS_PRODUCED">BaseMemoryLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
+ </LibraryClassDefinitions>
+ <SourceFiles>
+ <Arch ArchType="IA32">
+ <Filename>MemLibGuid.c</Filename>
+ <Filename>CopyMemWrapper.c</Filename>
+ <Filename>SetMemWrapper.c</Filename>
+ <Filename>SetMem16Wrapper.c</Filename>
+ <Filename>SetMem32Wrapper.c</Filename>
+ <Filename>SetMem64Wrapper.c</Filename>
+ <Filename>CompareMemWrapper.c</Filename>
+ <Filename>ZeroMemWrapper.c</Filename>
+ <Filename>ScanMem8Wrapper.c</Filename>
+ <Filename>ScanMem16Wrapper.c</Filename>
+ <Filename>ScanMem32Wrapper.c</Filename>
+ <Filename>ScanMem64Wrapper.c</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CopyMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ZeroMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem16.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CompareMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem8.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem16.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem64.s</Filename>
+ </Arch>
+ </SourceFiles>
+ <Includes>
+ <PackageName>MdePkg</PackageName>
+ </Includes>
+</LibraryModuleSurfaceArea>
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr-Gcc.msa b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr-Gcc.msa
new file mode 100644
index 0000000000..c7d77376d0
--- /dev/null
+++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr-Gcc.msa
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+-->
+<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
+ <MsaLibHeader>
+ <BaseName>BaseMemoryLibRepStr</BaseName>
+ <ModuleType>BASE</ModuleType>
+ <ComponentType>LIBRARY</ComponentType>
+ <Guid>e7884bf4-51a1-485b-982a-ff89129983bc</Guid>
+ <Version>EDK_RELEASE_VERSION 0x00090000</Version>
+ <Abstract>Memory-only library functions with no library constructor/destructor</Abstract>
+ <Description>FIX ME!</Description>
+ <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
+ <License>
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ </License>
+ <Specification>EFI_SPECIFICATION_VERSION 0x00000000</Specification>
+ <Created>2006-04-12 13:39</Created>
+ </MsaLibHeader>
+ <LibraryClassDefinitions>
+ <LibraryClass Usage="ALWAYS_PRODUCED">BaseMemoryLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
+ </LibraryClassDefinitions>
+ <SourceFiles>
+ <Arch ArchType="IA32">
+ <Filename>MemLibGuid.c</Filename>
+ <Filename>CopyMemWrapper.c</Filename>
+ <Filename>SetMemWrapper.c</Filename>
+ <Filename>SetMem16Wrapper.c</Filename>
+ <Filename>SetMem32Wrapper.c</Filename>
+ <Filename>SetMem64Wrapper.c</Filename>
+ <Filename>CompareMemWrapper.c</Filename>
+ <Filename>ZeroMemWrapper.c</Filename>
+ <Filename>ScanMem8Wrapper.c</Filename>
+ <Filename>ScanMem16Wrapper.c</Filename>
+ <Filename>ScanMem32Wrapper.c</Filename>
+ <Filename>ScanMem64Wrapper.c</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CopyMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem16.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ZeroMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CompareMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem8.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem16.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem64.s</Filename>
+ </Arch>
+ <Arch ArchType="X64">
+ <Filename>MemLibGuid.c</Filename>
+ <Filename>CopyMemWrapper.c</Filename>
+ <Filename>SetMemWrapper.c</Filename>
+ <Filename>SetMem16Wrapper.c</Filename>
+ <Filename>SetMem32Wrapper.c</Filename>
+ <Filename>SetMem64Wrapper.c</Filename>
+ <Filename>CompareMemWrapper.c</Filename>
+ <Filename>ZeroMemWrapper.c</Filename>
+ <Filename>ScanMem8Wrapper.c</Filename>
+ <Filename>ScanMem16Wrapper.c</Filename>
+ <Filename>ScanMem32Wrapper.c</Filename>
+ <Filename>ScanMem64Wrapper.c</Filename>
+ <Filename>x64/CopyMem.asm</Filename>
+ <Filename>x64/SetMem.asm</Filename>
+ <Filename>x64/SetMem16.asm</Filename>
+ <Filename>x64/SetMem32.asm</Filename>
+ <Filename>x64/SetMem64.asm</Filename>
+ <Filename>x64/ZeroMem.asm</Filename>
+ <Filename>x64/CompareMem.asm</Filename>
+ <Filename>x64/ScanMem8.asm</Filename>
+ <Filename>x64/ScanMem16.asm</Filename>
+ <Filename>x64/ScanMem32.asm</Filename>
+ <Filename>x64/ScanMem64.asm</Filename>
+ </Arch>
+ </SourceFiles>
+ <Includes>
+ <PackageName>MdePkg</PackageName>
+ </Includes>
+</LibraryModuleSurfaceArea>
diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2-Gcc.msa b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2-Gcc.msa
new file mode 100644
index 0000000000..9a402707cb
--- /dev/null
+++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2-Gcc.msa
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+-->
+<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
+ <MsaLibHeader>
+ <BaseName>BaseMemoryLibSse2</BaseName>
+ <ModuleType>BASE</ModuleType>
+ <ComponentType>LIBRARY</ComponentType>
+ <Guid>65a18235-5096-4032-8c63-214f0249ce8d</Guid>
+ <Version>EDK_RELEASE_VERSION 0x00090000</Version>
+ <Abstract>Memory-only library functions with no library constructor/destructor</Abstract>
+ <Description>FIX ME!</Description>
+ <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
+ <License>
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ </License>
+ <Specification>EFI_SPECIFICATION_VERSION 0x00000000</Specification>
+ <Created>2006-04-12 13:46</Created>
+ </MsaLibHeader>
+ <LibraryClassDefinitions>
+ <LibraryClass Usage="ALWAYS_PRODUCED">BaseMemoryLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
+ </LibraryClassDefinitions>
+ <SourceFiles>
+ <Arch ArchType="IA32">
+ <Filename>MemLibGuid.c</Filename>
+ <Filename>CopyMemWrapper.c</Filename>
+ <Filename>SetMemWrapper.c</Filename>
+ <Filename>SetMem16Wrapper.c</Filename>
+ <Filename>SetMem32Wrapper.c</Filename>
+ <Filename>SetMem64Wrapper.c</Filename>
+ <Filename>CompareMemWrapper.c</Filename>
+ <Filename>ZeroMemWrapper.c</Filename>
+ <Filename>ScanMem8Wrapper.c</Filename>
+ <Filename>ScanMem16Wrapper.c</Filename>
+ <Filename>ScanMem32Wrapper.c</Filename>
+ <Filename>ScanMem64Wrapper.c</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CopyMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem16.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/SetMem64.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ZeroMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/CompareMem.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem8.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem16.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem32.s</Filename>
+ <Filename FileType="GCC_Assembly_Code">Ia32/ScanMem64.s</Filename>
+ </Arch>
+ <Arch ArchType="X64">
+ <Filename>MemLibGuid.c</Filename>
+ <Filename>CopyMemWrapper.c</Filename>
+ <Filename>SetMemWrapper.c</Filename>
+ <Filename>SetMem16Wrapper.c</Filename>
+ <Filename>SetMem32Wrapper.c</Filename>
+ <Filename>SetMem64Wrapper.c</Filename>
+ <Filename>CompareMemWrapper.c</Filename>
+ <Filename>ZeroMemWrapper.c</Filename>
+ <Filename>ScanMem8Wrapper.c</Filename>
+ <Filename>ScanMem16Wrapper.c</Filename>
+ <Filename>ScanMem32Wrapper.c</Filename>
+ <Filename>ScanMem64Wrapper.c</Filename>
+ <Filename>x64/CopyMem.asm</Filename>
+ <Filename>x64/SetMem.asm</Filename>
+ <Filename>x64/SetMem16.asm</Filename>
+ <Filename>x64/SetMem32.asm</Filename>
+ <Filename>x64/SetMem64.asm</Filename>
+ <Filename>x64/ZeroMem.asm</Filename>
+ <Filename>x64/CompareMem.asm</Filename>
+ <Filename>x64/ScanMem8.asm</Filename>
+ <Filename>x64/ScanMem16.asm</Filename>
+ <Filename>x64/ScanMem32.asm</Filename>
+ <Filename>x64/ScanMem64.asm</Filename>
+ </Arch>
+ </SourceFiles>
+ <Includes>
+ <PackageName>MdePkg</PackageName>
+ </Includes>
+</LibraryModuleSurfaceArea>