]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/BaseLib.msa
1. Simplified PalCallStatic.s's by removing unnecessary condition testings.
[mirror_edk2.git] / MdePkg / Library / BaseLib / BaseLib.msa
index 380674a8356029572b92d2e8191aa7602d46e1b1..8d7af00fec857a3ef21cd9ed7516f8da13c30f03 100644 (file)
@@ -1,41 +1,42 @@
 <?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
-<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">\r
-  <MsaLibHeader>\r
-    <BaseName>BaseLib</BaseName>\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
+  <MsaHeader>\r
+    <ModuleName>BaseLib</ModuleName>\r
     <ModuleType>BASE</ModuleType>\r
-    <ComponentType>LIBRARY</ComponentType>\r
-    <Guid>27d67720-ea68-48ae-93da-a3a074c90e30</Guid>\r
-    <Version>0</Version>\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
-    <License>\r
-      All rights reserved. This program and the accompanying materials\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
       http://opensource.org/licenses/bsd-license.php\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
-    </License>\r
-    <Specification>0</Specification>\r
-    <Created>2006-03-09 23:16</Created>\r
-    <Updated>2006-03-22 18:15</Updated>\r
-  </MsaLibHeader>\r
+      WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
+  </MsaHeader>\r
+  <ModuleDefinitions>\r
+    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
+    <BinaryModule>false</BinaryModule>\r
+    <OutputFileBasename>BaseLib</OutputFileBasename>\r
+  </ModuleDefinitions>\r
   <LibraryClassDefinitions>\r
-    <LibraryClass Usage="ALWAYS_PRODUCED">BaseLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">BaseMemoryLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">TimerLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_PRODUCED">\r
+      <Keyword>BaseLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseMemoryLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>DebugLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>TimerLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>PcdLib</Keyword>\r
+    </LibraryClass>\r
   </LibraryClassDefinitions>\r
   <SourceFiles>\r
     <Filename>String.c</Filename>\r
@@ -65,247 +66,252 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <Filename>RRotU32.c</Filename>\r
     <Filename>RRotU64.c</Filename>\r
     <Filename>RShiftU64.c</Filename>\r
+    <Filename>SetJump.c</Filename>\r
+    <Filename>LongJump.c</Filename>\r
     <Filename>SwapBytes16.c</Filename>\r
     <Filename>SwapBytes32.c</Filename>\r
     <Filename>SwapBytes64.c</Filename>\r
-    <Arch ArchType="IA32">\r
-      <Filename>x86LowLevel.c</Filename>\r
-      <Filename>x86Thunk.c</Filename>\r
-      <Filename>Unaligned.c</Filename>\r
-      <Filename>Ia32/Non-existing.c</Filename>\r
-      <Filename>Ia32/LShiftU64.asm</Filename>\r
-      <Filename>Ia32/RShiftU64.asm</Filename>\r
-      <Filename>Ia32/ARShiftU64.asm</Filename>\r
-      <Filename>Ia32/LRotU64.asm</Filename>\r
-      <Filename>Ia32/RRotU64.asm</Filename>\r
-      <Filename>Ia32/MultU64x32.asm</Filename>\r
-      <Filename>Ia32/MultU64x64.asm</Filename>\r
-      <Filename>Ia32/DivU64x32.asm</Filename>\r
-      <Filename>Ia32/ModU64x32.asm</Filename>\r
-      <Filename>Ia32/DivU64x32Remainder.asm</Filename>\r
-      <Filename>Ia32/DivU64x64Remainder.asm</Filename>\r
-      <Filename>Ia32/DivS64x64Remainder.c</Filename>\r
-      <Filename>Ia32/SwapBytes64.asm</Filename>\r
-      <Filename>Ia32/SetJump.asm</Filename>\r
-      <Filename>Ia32/LongJump.asm</Filename>\r
-      <Filename>Ia32/SwitchStack.c</Filename>\r
-      <Filename>Ia32/CpuId.asm</Filename>\r
-      <Filename>Ia32/ReadEflags.asm</Filename>\r
-      <Filename>Ia32/ReadMsr64.asm</Filename>\r
-      <Filename>Ia32/WriteMsr32.asm</Filename>\r
-      <Filename>Ia32/WriteMsr64.asm</Filename>\r
-      <Filename>Ia32/ReadCr0.asm</Filename>\r
-      <Filename>Ia32/ReadCr2.asm</Filename>\r
-      <Filename>Ia32/ReadCr3.asm</Filename>\r
-      <Filename>Ia32/ReadCr4.asm</Filename>\r
-      <Filename>Ia32/WriteCr0.asm</Filename>\r
-      <Filename>Ia32/WriteCr2.asm</Filename>\r
-      <Filename>Ia32/WriteCr3.asm</Filename>\r
-      <Filename>Ia32/WriteCr4.asm</Filename>\r
-      <Filename>Ia32/ReadDr0.asm</Filename>\r
-      <Filename>Ia32/ReadDr1.asm</Filename>\r
-      <Filename>Ia32/ReadDr2.asm</Filename>\r
-      <Filename>Ia32/ReadDr3.asm</Filename>\r
-      <Filename>Ia32/ReadDr4.asm</Filename>\r
-      <Filename>Ia32/ReadDr5.asm</Filename>\r
-      <Filename>Ia32/ReadDr6.asm</Filename>\r
-      <Filename>Ia32/ReadDr7.asm</Filename>\r
-      <Filename>Ia32/WriteDr0.asm</Filename>\r
-      <Filename>Ia32/WriteDr1.asm</Filename>\r
-      <Filename>Ia32/WriteDr2.asm</Filename>\r
-      <Filename>Ia32/WriteDr3.asm</Filename>\r
-      <Filename>Ia32/WriteDr4.asm</Filename>\r
-      <Filename>Ia32/WriteDr5.asm</Filename>\r
-      <Filename>Ia32/WriteDr6.asm</Filename>\r
-      <Filename>Ia32/WriteDr7.asm</Filename>\r
-      <Filename>Ia32/ReadCs.asm</Filename>\r
-      <Filename>Ia32/ReadDs.asm</Filename>\r
-      <Filename>Ia32/ReadEs.asm</Filename>\r
-      <Filename>Ia32/ReadFs.asm</Filename>\r
-      <Filename>Ia32/ReadGs.asm</Filename>\r
-      <Filename>Ia32/ReadSs.asm</Filename>\r
-      <Filename>Ia32/ReadTr.asm</Filename>\r
-      <Filename>Ia32/ReadGdtr.asm</Filename>\r
-      <Filename>Ia32/WriteGdtr.asm</Filename>\r
-      <Filename>Ia32/ReadIdtr.asm</Filename>\r
-      <Filename>Ia32/WriteIdtr.asm</Filename>\r
-      <Filename>Ia32/ReadLdtr.asm</Filename>\r
-      <Filename>Ia32/WriteLdtr.asm</Filename>\r
-      <Filename>Ia32/FxSave.asm</Filename>\r
-      <Filename>Ia32/FxRestore.asm</Filename>\r
-      <Filename>Ia32/ReadMm0.asm</Filename>\r
-      <Filename>Ia32/ReadMm1.asm</Filename>\r
-      <Filename>Ia32/ReadMm2.asm</Filename>\r
-      <Filename>Ia32/ReadMm3.asm</Filename>\r
-      <Filename>Ia32/ReadMm4.asm</Filename>\r
-      <Filename>Ia32/ReadMm5.asm</Filename>\r
-      <Filename>Ia32/ReadMm6.asm</Filename>\r
-      <Filename>Ia32/ReadMm7.asm</Filename>\r
-      <Filename>Ia32/WriteMm0.asm</Filename>\r
-      <Filename>Ia32/WriteMm1.asm</Filename>\r
-      <Filename>Ia32/WriteMm2.asm</Filename>\r
-      <Filename>Ia32/WriteMm3.asm</Filename>\r
-      <Filename>Ia32/WriteMm4.asm</Filename>\r
-      <Filename>Ia32/WriteMm5.asm</Filename>\r
-      <Filename>Ia32/WriteMm6.asm</Filename>\r
-      <Filename>Ia32/WriteMm7.asm</Filename>\r
-      <Filename>Ia32/ReadTsc.asm</Filename>\r
-      <Filename>Ia32/ReadPmc.asm</Filename>\r
-      <Filename>Ia32/Monitor.asm</Filename>\r
-      <Filename>Ia32/Mwait.asm</Filename>\r
-      <Filename>Ia32/EnablePaging32.asm</Filename>\r
-      <Filename>Ia32/DisablePaging32.asm</Filename>\r
-      <Filename>Ia32/EnablePaging64.asm</Filename>\r
-      <Filename>Ia32/Wbinvd.asm</Filename>\r
-      <Filename>Ia32/Invd.asm</Filename>\r
-      <Filename>Ia32/FlushCacheLine.asm</Filename>\r
-      <Filename>Ia32/InterlockedIncrement.asm</Filename>\r
-      <Filename>Ia32/InterlockedDecrement.asm</Filename>\r
-      <Filename>Ia32/InterlockedCompareExchange32.asm</Filename>\r
-      <Filename>Ia32/InterlockedCompareExchange64.asm</Filename>\r
-      <Filename>Ia32/EnableInterrupts.asm</Filename>\r
-      <Filename>Ia32/DisableInterrupts.asm</Filename>\r
-      <Filename>Ia32/EnableDisableInterrupts.asm</Filename>\r
-      <Filename>Ia32/CpuSleep.asm</Filename>\r
-      <Filename>Ia32/CpuPause.asm</Filename>\r
-      <Filename>Ia32/CpuBreakpoint.asm</Filename>\r
-      <Filename>Ia32/CpuFlushTlb.asm</Filename>\r
-      <Filename>Ia32/Thunk16.asm</Filename>\r
-    </Arch>\r
-    <Arch ArchType="X64">\r
-      <Filename>x86LowLevel.c</Filename>\r
-      <Filename>x86Thunk.c</Filename>\r
-      <Filename>Unaligned.c</Filename>\r
-      <Filename>Math64.c</Filename>\r
-      <Filename>x64/Non-existing.c</Filename>\r
-      <Filename>x64/SwitchStack.asm</Filename>\r
-      <Filename>x64/SetJump.asm</Filename>\r
-      <Filename>x64/LongJump.asm</Filename>\r
-      <Filename>x64/CpuId.asm</Filename>\r
-      <Filename>x64/ReadEflags.asm</Filename>\r
-      <Filename>x64/ReadMsr32.asm</Filename>\r
-      <Filename>x64/ReadMsr64.asm</Filename>\r
-      <Filename>x64/WriteMsr32.asm</Filename>\r
-      <Filename>x64/WriteMsr64.asm</Filename>\r
-      <Filename>x64/ReadCr0.asm</Filename>\r
-      <Filename>x64/ReadCr2.asm</Filename>\r
-      <Filename>x64/ReadCr3.asm</Filename>\r
-      <Filename>x64/ReadCr4.asm</Filename>\r
-      <Filename>x64/WriteCr0.asm</Filename>\r
-      <Filename>x64/WriteCr2.asm</Filename>\r
-      <Filename>x64/WriteCr3.asm</Filename>\r
-      <Filename>x64/WriteCr4.asm</Filename>\r
-      <Filename>x64/ReadDr0.asm</Filename>\r
-      <Filename>x64/ReadDr1.asm</Filename>\r
-      <Filename>x64/ReadDr2.asm</Filename>\r
-      <Filename>x64/ReadDr3.asm</Filename>\r
-      <Filename>x64/ReadDr4.asm</Filename>\r
-      <Filename>x64/ReadDr5.asm</Filename>\r
-      <Filename>x64/ReadDr6.asm</Filename>\r
-      <Filename>x64/ReadDr7.asm</Filename>\r
-      <Filename>x64/WriteDr0.asm</Filename>\r
-      <Filename>x64/WriteDr1.asm</Filename>\r
-      <Filename>x64/WriteDr2.asm</Filename>\r
-      <Filename>x64/WriteDr3.asm</Filename>\r
-      <Filename>x64/WriteDr4.asm</Filename>\r
-      <Filename>x64/WriteDr5.asm</Filename>\r
-      <Filename>x64/WriteDr6.asm</Filename>\r
-      <Filename>x64/WriteDr7.asm</Filename>\r
-      <Filename>x64/ReadCs.asm</Filename>\r
-      <Filename>x64/ReadDs.asm</Filename>\r
-      <Filename>x64/ReadEs.asm</Filename>\r
-      <Filename>x64/ReadFs.asm</Filename>\r
-      <Filename>x64/ReadGs.asm</Filename>\r
-      <Filename>x64/ReadSs.asm</Filename>\r
-      <Filename>x64/ReadTr.asm</Filename>\r
-      <Filename>x64/ReadGdtr.asm</Filename>\r
-      <Filename>x64/WriteGdtr.asm</Filename>\r
-      <Filename>x64/ReadIdtr.asm</Filename>\r
-      <Filename>x64/WriteIdtr.asm</Filename>\r
-      <Filename>x64/ReadLdtr.asm</Filename>\r
-      <Filename>x64/WriteLdtr.asm</Filename>\r
-      <Filename>x64/FxSave.asm</Filename>\r
-      <Filename>x64/FxRestore.asm</Filename>\r
-      <Filename>x64/ReadMm0.asm</Filename>\r
-      <Filename>x64/ReadMm1.asm</Filename>\r
-      <Filename>x64/ReadMm2.asm</Filename>\r
-      <Filename>x64/ReadMm3.asm</Filename>\r
-      <Filename>x64/ReadMm4.asm</Filename>\r
-      <Filename>x64/ReadMm5.asm</Filename>\r
-      <Filename>x64/ReadMm6.asm</Filename>\r
-      <Filename>x64/ReadMm7.asm</Filename>\r
-      <Filename>x64/WriteMm0.asm</Filename>\r
-      <Filename>x64/WriteMm1.asm</Filename>\r
-      <Filename>x64/WriteMm2.asm</Filename>\r
-      <Filename>x64/WriteMm3.asm</Filename>\r
-      <Filename>x64/WriteMm4.asm</Filename>\r
-      <Filename>x64/WriteMm5.asm</Filename>\r
-      <Filename>x64/WriteMm6.asm</Filename>\r
-      <Filename>x64/WriteMm7.asm</Filename>\r
-      <Filename>x64/ReadTsc.asm</Filename>\r
-      <Filename>x64/ReadPmc.asm</Filename>\r
-      <Filename>x64/Monitor.asm</Filename>\r
-      <Filename>x64/Mwait.asm</Filename>\r
-      <Filename>x64/DisablePaging64.asm</Filename>\r
-      <Filename>x64/Wbinvd.asm</Filename>\r
-      <Filename>x64/Invd.asm</Filename>\r
-      <Filename>x64/FlushCacheLine.asm</Filename>\r
-      <Filename>x64/InterlockedIncrement.asm</Filename>\r
-      <Filename>x64/InterlockedDecrement.asm</Filename>\r
-      <Filename>x64/InterlockedCompareExchange32.asm</Filename>\r
-      <Filename>x64/InterlockedCompareExchange64.asm</Filename>\r
-      <Filename>x64/EnableInterrupts.asm</Filename>\r
-      <Filename>x64/DisableInterrupts.asm</Filename>\r
-      <Filename>x64/EnableDisableInterrupts.asm</Filename>\r
-      <Filename>x64/CpuSleep.asm</Filename>\r
-      <Filename>x64/CpuPause.asm</Filename>\r
-      <Filename>x64/CpuBreakpoint.asm</Filename>\r
-      <Filename>x64/CpuFlushTlb.asm</Filename>\r
-      <Filename>x64/Thunk16.asm</Filename>\r
-    </Arch>\r
-    <Arch ArchType="IPF">\r
-      <Filename>Math64.c</Filename>\r
-      <Filename>Ipf/setjmp.s</Filename>\r
-      <Filename>Ipf/SwitchStack.s</Filename>\r
-      <Filename>Ipf/Unaligned.c</Filename>\r
-      <Filename>Ipf/CpuBreakpoint.c</Filename>\r
-      <Filename>Ipf/InterlockedCompareExchange32.s</Filename>\r
-      <Filename>Ipf/InterlockedCompareExchange64.s</Filename>\r
-      <Filename>Ipf/Synchronization.c</Filename>\r
-      <Filename>Ipf/CpuPause.s</Filename>\r
-    </Arch>\r
-    <Arch ArchType="EBC">\r
-      <Filename>Math64.c</Filename>\r
-      <Filename>SwitchStack.c</Filename>\r
-      <Filename>SetJumpLongJump.c</Filename>\r
-      <Filename>Unaligned.c</Filename>\r
-      <Filename>Ebc/CpuBreakpoint.c</Filename>\r
-      <Filename>Ebc/Synchronization.c</Filename>\r
-    </Arch>\r
+    <Filename>SwitchStack.c</Filename>\r
+    <Filename SupArchList="IA32">x86LowLevel.c</Filename>\r
+    <Filename SupArchList="IA32">x86Thunk.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
+    <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/SwitchStack.asm</Filename>\r
+    <Filename SupArchList="X64">X64/SetJump.asm</Filename>\r
+    <Filename SupArchList="X64">X64/LongJump.asm</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/ReadCr0.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadCr2.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadCr3.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadCr4.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteCr0.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteCr2.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteCr3.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteCr4.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr0.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr1.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr2.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr3.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr4.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr5.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr6.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDr7.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr0.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr1.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr2.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr3.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr4.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr5.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr6.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteDr7.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadCs.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadDs.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadEs.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadFs.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadGs.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadSs.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadTr.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadGdtr.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteGdtr.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadIdtr.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteIdtr.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadLdtr.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteLdtr.asm</Filename>\r
+    <Filename SupArchList="X64">X64/FxSave.asm</Filename>\r
+    <Filename SupArchList="X64">X64/FxRestore.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm0.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm1.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm2.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm3.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm4.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm5.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm6.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadMm7.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm0.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm1.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm2.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm3.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm4.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm5.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm6.asm</Filename>\r
+    <Filename SupArchList="X64">X64/WriteMm7.asm</Filename>\r
+    <Filename SupArchList="X64">X64/ReadTsc.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/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/InterlockedCompareExchange32.asm</Filename>\r
+    <Filename SupArchList="X64">X64/InterlockedCompareExchange64.asm</Filename>\r
+    <Filename SupArchList="X64">X64/EnableInterrupts.asm</Filename>\r
+    <Filename SupArchList="X64">X64/DisableInterrupts.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/CpuFlushTlb.asm</Filename>\r
+    <Filename SupArchList="X64">X64/Thunk16.asm</Filename>\r
+    <Filename SupArchList="IPF">Math64.c</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/SwitchStack.s</Filename>\r
+    <Filename SupArchList="IPF">Ipf/Unaligned.c</Filename>\r
+    <Filename SupArchList="IPF">Ipf/CpuBreakpoint.c</Filename>\r
+    <Filename SupArchList="IPF">Ipf/InterlockedCompareExchange32.s</Filename>\r
+    <Filename SupArchList="IPF">Ipf/InterlockedCompareExchange64.s</Filename>\r
+    <Filename SupArchList="IPF">Ipf/Synchronization.c</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="EBC">Math64.c</Filename>\r
+    <Filename SupArchList="EBC">Unaligned.c</Filename>\r
+    <Filename SupArchList="EBC">Ebc/SwitchStack.c</Filename>\r
+    <Filename SupArchList="EBC">Ebc/SetJumpLongJump.c</Filename>\r
+    <Filename SupArchList="EBC">Ebc/CpuBreakpoint.c</Filename>\r
+    <Filename SupArchList="EBC">Ebc/Synchronization.c</Filename>\r
   </SourceFiles>\r
- <Includes>\r
-    <PackageName>MdePkg</PackageName>\r
-  </Includes>\r
-  <PCDs>\r
-    <PcdData ItemType="FIXED_AT_BUILD">\r
+  <PackageDependencies>\r
+    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+  </PackageDependencies>\r
+  <Externs>\r
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00090000</Specification>\r
+  </Externs>\r
+  <PcdCoded>\r
+    <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r
-      <Token>0x00000001</Token>\r
-      <DatumType>UINT32</DatumType>\r
-    </PcdData>\r
-    <PcdData ItemType="FIXED_AT_BUILD">\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
+      <HelpText/>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdMaximumAsciiStringLength</C_Name>\r
-      <Token>0x00000002</Token>\r
-      <DatumType>UINT32</DatumType>\r
-    </PcdData>\r
-    <PcdData ItemType="FIXED_AT_BUILD">\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
+      <HelpText/>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdMaximumLinkedListLength</C_Name>\r
-      <Token>0x00000003</Token>\r
-      <DatumType>UINT32</DatumType>\r
-    </PcdData>\r
-    <PcdData ItemType="FIXED_AT_BUILD">\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
+      <HelpText/>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FIXED_AT_BUILD">\r
       <C_Name>PcdSpinLockTimeout</C_Name>\r
-      <Token>0x00000004</Token>\r
-      <DatumType>UINT32</DatumType>\r
-    </PcdData>\r
-  </PCDs>\r
-</LibraryModuleSurfaceArea>\r
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r\r
+      <HelpText/>\r
+    </PcdEntry>\r
+  </PcdCoded>\r
+</ModuleSurfaceArea>
\ No newline at end of file