]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/BaseLib.msa
Added license & copyright declaration
[mirror_edk2.git] / MdePkg / Library / BaseLib / BaseLib.msa
index d48cfa286ae10063ddeb1ef67e03a48c1d6639f1..cb5359a14f0522fe2027acd44823f4930e8acbe9 100644 (file)
@@ -1,18 +1,28 @@
-<?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
-    <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,
+    <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
+      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.</License>\r
     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </MsaHeader>\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 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
+    <!-- GCC assembly code is with .S extension -->\r
+    <Filename SupArchList="IA32">Ia32/LShiftU64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/RShiftU64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ARShiftU64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/LRotU64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/RRotU64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/MultU64x32.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/MultU64x64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/DivU64x32.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ModU64x32.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/DivU64x32Remainder.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/DivU64x64Remainder.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/SwapBytes64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/SetJump.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/LongJump.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/CpuId.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/CpuIdEx.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadEflags.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMsr64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMsr32.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMsr64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadCr0.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadCr2.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadCr3.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadCr4.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteCr0.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteCr2.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteCr3.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteCr4.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr0.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr1.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr2.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr3.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr4.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr5.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr6.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDr7.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr0.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr1.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr2.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr3.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr4.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr5.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr6.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteDr7.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadCs.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadDs.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadEs.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadFs.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadGs.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadSs.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadTr.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadGdtr.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteGdtr.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadIdtr.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteIdtr.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadLdtr.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteLdtr.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/FxSave.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/FxRestore.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm0.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm1.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm2.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm3.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm4.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm5.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm6.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadMm7.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm0.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm1.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm2.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm3.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm4.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm5.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm6.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/WriteMm7.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadTsc.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/ReadPmc.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/Monitor.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/Mwait.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/EnablePaging32.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/DisablePaging32.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/EnablePaging64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/Wbinvd.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/Invd.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/FlushCacheLine.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/InterlockedIncrement.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/InterlockedDecrement.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/InterlockedCompareExchange32.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/InterlockedCompareExchange64.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/EnableInterrupts.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/DisableInterrupts.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/EnableDisableInterrupts.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/CpuSleep.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/CpuPause.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/CpuBreakpoint.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/CpuFlushTlb.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/Thunk16.S</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/CpuFlushTlb.asm</Filename>\r
     <Filename SupArchList="X64">X64/Thunk16.asm</Filename>\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/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
   </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>FIX_ME_PcdMaximumUnicodeStringLength</TokenSpaceGuidCName>\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>FIX_ME_PcdMaximumAsciiStringLength</TokenSpaceGuidCName>\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>FIX_ME_PcdMaximumLinkedListLength</TokenSpaceGuidCName>\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>FIX_ME_PcdSpinLockTimeout</TokenSpaceGuidCName>\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