]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/BaseLib.msa
Removed duplicate PalCallStatic functions in different libraries. Moved ReadItc and...
[mirror_edk2.git] / MdePkg / Library / BaseLib / BaseLib.msa
index 8d7af00fec857a3ef21cd9ed7516f8da13c30f03..52dbf7304a0198d7b6c572e85ee330bfbef3625d 100644 (file)
@@ -1,13 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. 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
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
 <ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
   <MsaHeader>\r
     <ModuleName>BaseLib</ModuleName>\r
     <ModuleType>BASE</ModuleType>\r
     <GuidValue>27d67720-ea68-48ae-93da-a3a074c90e30</GuidValue>\r
     <Version>1.0</Version>\r
-    <Abstract>Memory-only library functions with no library constructordestructor</Abstract>\r
-    <Description>FIX ME!</Description>\r
-    <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+    <Abstract>Component description file for Base Library</Abstract>\r
+    <Description>Base Library implementation.</Description>\r
+    <Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>\r
     <License>All rights reserved. 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
@@ -39,6 +49,7 @@
     </LibraryClass>\r
   </LibraryClassDefinitions>\r
   <SourceFiles>\r
+    <Filename>BaseLibInternals.h</Filename>\r
     <Filename>String.c</Filename>\r
     <Filename>LinkedList.c</Filename>\r
     <Filename>Synchronization.c</Filename>\r
     <Filename>SwapBytes32.c</Filename>\r
     <Filename>SwapBytes64.c</Filename>\r
     <Filename>SwitchStack.c</Filename>\r
-    <Filename SupArchList="IA32">x86LowLevel.c</Filename>\r
+    \r
+    <Filename SupArchList="IA32">x86DisablePaging32.c</Filename>\r
+    <Filename SupArchList="IA32">x86DisablePaging64.c</Filename>\r
+    <Filename SupArchList="IA32">x86EnablePaging32.c</Filename>\r
+    <Filename SupArchList="IA32">x86EnablePaging64.c</Filename>\r
+    <Filename SupArchList="IA32">x86FxRestore.c</Filename>\r
+    <Filename SupArchList="IA32">x86FxSave.c</Filename>\r
+    <Filename SupArchList="IA32">x86GetInterruptState.c</Filename>\r
+    <Filename SupArchList="IA32">x86MemoryFence.c</Filename>\r
+    <Filename SupArchList="IA32">x86Msr.c</Filename>\r
+    <Filename SupArchList="IA32">x86ReadGdtr.c</Filename>\r
+    <Filename SupArchList="IA32">x86ReadIdtr.c</Filename>\r
     <Filename SupArchList="IA32">x86Thunk.c</Filename>\r
+    <Filename SupArchList="IA32">x86WriteGdtr.c</Filename>\r
+    <Filename SupArchList="IA32">x86WriteIdtr.c</Filename>\r
     <Filename SupArchList="IA32">Unaligned.c</Filename>\r
     <Filename SupArchList="IA32">Ia32/Non-existing.c</Filename>\r
     <Filename SupArchList="IA32">Ia32/InternalSwitchStack.c</Filename>\r
-    <Filename SupArchList="IA32">Ia32/LShiftU64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/RShiftU64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ARShiftU64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/LRotU64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/RRotU64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/MultU64x32.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/MultU64x64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/DivU64x32.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ModU64x32.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/DivU64x32Remainder.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/DivU64x64Remainder.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/DivS64x64Remainder.c</Filename>\r
-    <Filename SupArchList="IA32">Ia32/SwapBytes64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/SetJump.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/LongJump.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/CpuId.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/CpuIdEx.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadEflags.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMsr64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMsr32.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMsr64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadCr0.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadCr2.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadCr3.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadCr4.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteCr0.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteCr2.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteCr3.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteCr4.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr0.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr1.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr2.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr3.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr4.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr5.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr6.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDr7.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr0.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr1.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr2.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr3.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr4.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr5.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr6.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteDr7.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadCs.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadDs.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadEs.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadFs.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadGs.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadSs.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadTr.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadGdtr.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteGdtr.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadIdtr.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteIdtr.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadLdtr.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteLdtr.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/FxSave.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/FxRestore.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm0.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm1.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm2.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm3.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm4.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm5.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm6.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadMm7.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm0.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm1.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm2.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm3.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm4.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm5.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm6.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/WriteMm7.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadTsc.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/ReadPmc.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/Monitor.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/Mwait.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/EnablePaging32.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/DisablePaging32.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/EnablePaging64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/Wbinvd.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/Invd.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/FlushCacheLine.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/InterlockedIncrement.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/InterlockedDecrement.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/InterlockedCompareExchange32.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/InterlockedCompareExchange64.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/EnableInterrupts.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/DisableInterrupts.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/EnableDisableInterrupts.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/CpuSleep.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/CpuPause.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/CpuBreakpoint.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/CpuFlushTlb.asm</Filename>\r
-    <Filename SupArchList="IA32">Ia32/Thunk16.asm</Filename>\r
-    <Filename SupArchList="X64">X86LowLevel.c</Filename>\r
-    <Filename SupArchList="X64">X86Thunk.c</Filename>\r
+\r
+    <!-- GCC assembly code is with .S extension -->\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/LShiftU64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/RShiftU64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ARShiftU64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/LRotU64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/RRotU64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/MultU64x32.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/MultU64x64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/DivU64x32.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ModU64x32.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/DivU64x32Remainder.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/DivU64x64Remainder.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/SwapBytes64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/SetJump.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/LongJump.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/CpuId.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/CpuIdEx.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadEflags.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMsr64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMsr64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadCr0.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadCr2.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadCr3.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadCr4.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteCr0.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteCr2.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteCr3.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteCr4.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr0.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr1.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr2.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr3.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr4.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr5.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr6.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDr7.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr0.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr1.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr2.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr3.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr4.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr5.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr6.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteDr7.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadCs.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadDs.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadEs.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadFs.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadGs.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadSs.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadTr.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadGdtr.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteGdtr.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadIdtr.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteIdtr.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadLdtr.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteLdtr.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/FxSave.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/FxRestore.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm0.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm1.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm2.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm3.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm4.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm5.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm6.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadMm7.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm0.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm1.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm2.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm3.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm4.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm5.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm6.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/WriteMm7.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadTsc.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/ReadPmc.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/Monitor.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/Mwait.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/EnablePaging32.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/DisablePaging32.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/EnablePaging64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/Wbinvd.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/Invd.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/FlushCacheLine.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/InterlockedIncrement.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/InterlockedDecrement.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/InterlockedCompareExchange32.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/InterlockedCompareExchange64.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/EnableInterrupts.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/DisableInterrupts.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/EnableDisableInterrupts.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/CpuSleep.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/CpuPause.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/CpuBreakpoint.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/CpuFlushTlb.S</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/Thunk16.S</Filename>\r
+    \r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ARShiftU64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/CpuBreakpoint.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/CpuFlushTlb.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/CpuSleep.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/CpuId.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/CpuIdEx.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/CpuPause.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/DisableInterrupts.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/DisablePaging32.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/DivU64x32.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/DivU64x32Remainder.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/DivU64x64Remainder.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/DivS64x64Remainder.c</Filename>\r
+\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/EnableDisableInterrupts.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/EnableInterrupts.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/EnablePaging32.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/EnablePaging64.asm</Filename>\r
+    \r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/FlushCacheLine.c</Filename>\r
+\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/FxSave.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/FxRestore.c</Filename>\r
+\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/InterlockedIncrement.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/InterlockedDecrement.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/InterlockedCompareExchange32.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/InterlockedCompareExchange64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/Invd.c</Filename>\r
+    \r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/LongJump.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/LRotU64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/LShiftU64.c</Filename>\r
+\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/MultU64x32.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/MultU64x64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ModU64x32.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/Monitor.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/Mwait.c</Filename>\r
+\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadCr0.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadCr2.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadCr3.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadCr4.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr0.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr1.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr2.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr3.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr4.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr5.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr6.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDr7.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadEflags.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm0.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm1.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm2.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm3.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm4.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm5.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm6.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMm7.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadMsr64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadCs.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadDs.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadEs.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadFs.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadGs.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadSs.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadTr.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadGdtr.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadIdtr.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadLdtr.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadTsc.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/ReadPmc.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/RShiftU64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/RRotU64.c</Filename>\r
+\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/SetJump.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/SwapBytes64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/Thunk16.asm</Filename>\r
+\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMsr64.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteCr0.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteCr2.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteCr3.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteCr4.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr0.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr1.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr2.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr3.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr4.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr5.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr6.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteDr7.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteGdtr.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteIdtr.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteLdtr.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm0.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm1.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm2.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm3.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm4.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm5.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm6.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/WriteMm7.c</Filename>\r
+    <Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/Wbinvd.c</Filename>\r
+                                \r
+    <Filename SupArchList="X64">x86DisablePaging32.c</Filename>\r
+    <Filename SupArchList="X64">x86DisablePaging64.c</Filename>\r
+    <Filename SupArchList="X64">x86EnablePaging32.c</Filename>\r
+    <Filename SupArchList="X64">x86EnablePaging64.c</Filename>\r
+    <Filename SupArchList="X64">x86FxRestore.c</Filename>\r
+    <Filename SupArchList="X64">x86FxSave.c</Filename>\r
+    <Filename SupArchList="X64">x86GetInterruptState.c</Filename>\r
+    <Filename SupArchList="X64">x86MemoryFence.c</Filename>\r
+    <Filename SupArchList="X64">x86Msr.c</Filename>\r
+    <Filename SupArchList="X64">x86ReadGdtr.c</Filename>\r
+    <Filename SupArchList="X64">x86ReadIdtr.c</Filename>\r
+    <Filename SupArchList="X64">x86Thunk.c</Filename>\r
+    <Filename SupArchList="X64">x86WriteGdtr.c</Filename>\r
+    <Filename SupArchList="X64">x86WriteIdtr.c</Filename>\r
     <Filename SupArchList="X64">Unaligned.c</Filename>\r
     <Filename SupArchList="X64">Math64.c</Filename>\r
     <Filename SupArchList="X64">X64/Non-existing.c</Filename>\r
     <Filename SupArchList="X64">X64/CpuId.asm</Filename>\r
     <Filename SupArchList="X64">X64/CpuIdEx.asm</Filename>\r
     <Filename SupArchList="X64">X64/ReadEflags.asm</Filename>\r
-    <Filename SupArchList="X64">X64/ReadMsr32.asm</Filename>\r
-    <Filename SupArchList="X64">X64/ReadMsr64.asm</Filename>\r
-    <Filename SupArchList="X64">X64/WriteMsr32.asm</Filename>\r
-    <Filename SupArchList="X64">X64/WriteMsr64.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMsr64.c</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMsr64.c</Filename>\r
     <Filename SupArchList="X64">X64/ReadCr0.asm</Filename>\r
     <Filename SupArchList="X64">X64/ReadCr2.asm</Filename>\r
     <Filename SupArchList="X64">X64/ReadCr3.asm</Filename>\r
     <Filename SupArchList="X64">X64/ReadPmc.asm</Filename>\r
     <Filename SupArchList="X64">X64/Monitor.asm</Filename>\r
     <Filename SupArchList="X64">X64/Mwait.asm</Filename>\r
+    <Filename SupArchList="X64">X64/EnablePaging64.asm</Filename>\r
     <Filename SupArchList="X64">X64/DisablePaging64.asm</Filename>\r
     <Filename SupArchList="X64">X64/Wbinvd.asm</Filename>\r
     <Filename SupArchList="X64">X64/Invd.asm</Filename>\r
     <Filename SupArchList="X64">X64/FlushCacheLine.asm</Filename>\r
-    <Filename SupArchList="X64">X64/InterlockedIncrement.asm</Filename>\r
-    <Filename SupArchList="X64">X64/InterlockedDecrement.asm</Filename>\r
+    <Filename SupArchList="X64">X64/InterlockedIncrement.c</Filename>\r
+    <Filename SupArchList="X64">X64/InterlockedDecrement.c</Filename>\r
     <Filename SupArchList="X64">X64/InterlockedCompareExchange32.asm</Filename>\r
     <Filename SupArchList="X64">X64/InterlockedCompareExchange64.asm</Filename>\r
     <Filename SupArchList="X64">X64/EnableInterrupts.asm</Filename>\r
     <Filename SupArchList="X64">X64/EnableDisableInterrupts.asm</Filename>\r
     <Filename SupArchList="X64">X64/CpuSleep.asm</Filename>\r
     <Filename SupArchList="X64">X64/CpuPause.asm</Filename>\r
-    <Filename SupArchList="X64">X64/CpuBreakpoint.asm</Filename>\r
+    <Filename SupArchList="X64">X64/CpuBreakpoint.c</Filename>\r
     <Filename SupArchList="X64">X64/CpuFlushTlb.asm</Filename>\r
     <Filename SupArchList="X64">X64/Thunk16.asm</Filename>\r
+    \r
     <Filename SupArchList="IPF">Math64.c</Filename>\r
+    <Filename SupArchList="IPF">Ipf/asm.h</Filename>\r
+    <Filename SupArchList="IPF">Ipf/ia_64gen.h</Filename>\r
     <Filename SupArchList="IPF">Ipf/PalCallStatic.s</Filename>\r
     <Filename SupArchList="IPF">Ipf/setjmp.s</Filename>\r
     <Filename SupArchList="IPF">Ipf/longjmp.s</Filename>\r
     <Filename SupArchList="IPF">Ipf/CpuPause.s</Filename>\r
     <Filename SupArchList="IPF">Ipf/CpuFlushTlb.s</Filename>\r
     <Filename SupArchList="IPF">Ipf/GetInterruptState.s</Filename>\r
+    <Filename SupArchList="IPF">Ipf/Non-existing.c</Filename>\r
+    <Filename SupArchList="IPF">Ipf/InvalidateInstructionCacheRange.s</Filename>\r
+    <Filename SupArchList="IPF">Ipf/ReadItc.s</Filename>\r
+    \r
     <Filename SupArchList="EBC">Math64.c</Filename>\r
     <Filename SupArchList="EBC">Unaligned.c</Filename>\r
     <Filename SupArchList="EBC">Ebc/SwitchStack.c</Filename>\r
   </PackageDependencies>\r
   <Externs>\r
     <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
-    <Specification>EDK_RELEASE_VERSION 0x00090000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
   </Externs>\r
   <PcdCoded>\r
     <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r
-          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
-      <HelpText/>\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>If PcdMaximumUnicodeStringLength is not zero, the maximum\r
+                number of characters (not counting the NULL-terminator) in a\r
+                Unicode string cannot exceed it.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdMaximumAsciiStringLength</C_Name>\r
-          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
-      <HelpText/>\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>If PcdMaximumAsciiStringLength is not zero, the maximum number\r
+                of characters (not counting the NULL-terminator) in an ASCII\r
+                string cannot exceed it.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdMaximumLinkedListLength</C_Name>\r
-          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
-      <HelpText/>\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>If PcdMaximumLinkedListLength is not zero, the maximum number\r
+                of nodes (not counting the list header) in a linked list\r
+                cannot exceed it.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdSpinLockTimeout</C_Name>\r
-          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
-      <HelpText/>\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>If PcdSpinLockTimeout is not zero, it stands for the timeout\r
+                value (unit: millisecond) for spin lock.</HelpText>\r
     </PcdEntry>\r
   </PcdCoded>\r
 </ModuleSurfaceArea>
\ No newline at end of file