Add Nt32TimeLibNull library instance for Nt32 platform. It is used by PeiMain module...
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 13 Oct 2006 07:58:14 +0000 (07:58 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 13 Oct 2006 07:58:14 +0000 (07:58 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1741 6f19259b-4bc3-4df7-8a09-765794883524

EdkNt32Pkg/EdkNt32Pkg.spd
EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c [new file with mode: 0644]
EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa [new file with mode: 0644]
EdkNt32Pkg/Nt32.fpd

index a9270e0..123819b 100644 (file)
@@ -105,6 +105,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <Filename>Dxe/WinNtThunk/Cpu/Cpu.msa</Filename>\r
     <Filename>Dxe/WinNtThunk/WinNtThunk/WinNtThunk.msa</Filename>\r
     <Filename>Library/DxeWinNtLib/DxeWinNtLib.msa</Filename>\r
+    <Filename>Library/Nt32TimerLibNull/Nt32TimerLib.msa</Filename>\r
     <Filename>Library/EdkGenericBdsLib/EdkGenericBdsLib.msa</Filename>\r
     <Filename>Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.msa</Filename>\r
     <Filename>Library/Nt32PeCoffLoaderLib/Nt32PeCoffLoaderLib.msa</Filename>\r
diff --git a/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c b/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c
new file mode 100644 (file)
index 0000000..40a1a41
--- /dev/null
@@ -0,0 +1,113 @@
+/** @file\r
+  Timer Library functions for Nt32 platform.\r
+\r
+  @bug Still no complete implementation for time library function for Nt32 platform.\r
+\r
+  Copyright (c) 2006, Intel Corporation<BR>\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
+  Module Name:  x86TimerLib.c\r
+\r
+**/\r
+\r
+/**\r
+  Stalls the CPU for at least the given number of microseconds.\r
+\r
+  Stalls the CPU for the number of microseconds specified by MicroSeconds.\r
+\r
+  @param  MicroSeconds  The minimum number of microseconds to delay.\r
+\r
+  @return MicroSeconds\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+MicroSecondDelay (\r
+  IN      UINTN                     MicroSeconds\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return MicroSeconds;\r
+}\r
+\r
+/**\r
+  Stalls the CPU for at least the given number of nanoseconds.\r
+\r
+  Stalls the CPU for the number of nanoseconds specified by NanoSeconds.\r
+\r
+  @param  NanoSeconds The minimum number of nanoseconds to delay.\r
+\r
+  @return NanoSeconds\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+NanoSecondDelay (\r
+  IN      UINTN                     NanoSeconds\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return 0;\r
+}\r
+\r
+/**\r
+  Retrieves the current value of a 64-bit free running performance counter.\r
+\r
+  Retrieves the current value of a 64-bit free running performance counter. The\r
+  counter can either count up by 1 or count down by 1. If the physical\r
+  performance counter counts by a larger increment, then the counter values\r
+  must be translated. The properties of the counter can be retrieved from\r
+  GetPerformanceCounterProperties().\r
+\r
+  @return The current value of the free running performance counter.\r
+\r
+**/\r
+UINT64\r
+EFIAPI\r
+GetPerformanceCounter (\r
+  VOID\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return 0;\r
+}\r
+\r
+/**\r
+  Retrieves the 64-bit frequency in Hz and the range of performance counter\r
+  values.\r
+\r
+  If StartValue is not NULL, then the value that the performance counter starts\r
+  with immediately after is it rolls over is returned in StartValue. If\r
+  EndValue is not NULL, then the value that the performance counter end with\r
+  immediately before it rolls over is returned in EndValue. The 64-bit\r
+  frequency of the performance counter in Hz is always returned. If StartValue\r
+  is less than EndValue, then the performance counter counts up. If StartValue\r
+  is greater than EndValue, then the performance counter counts down. For\r
+  example, a 64-bit free running counter that counts up would have a StartValue\r
+  of 0 and an EndValue of 0xFFFFFFFFFFFFFFFF. A 24-bit free running counter\r
+  that counts down would have a StartValue of 0xFFFFFF and an EndValue of 0.\r
+\r
+  @param  StartValue  The value the performance counter starts with when it\r
+                      rolls over.\r
+  @param  EndValue    The value that the performance counter ends with before\r
+                      it rolls over.\r
+\r
+  @return The frequency in Hz.\r
+\r
+**/\r
+UINT64\r
+EFIAPI\r
+GetPerformanceCounterProperties (\r
+  OUT      UINT64                    *StartValue,  OPTIONAL\r
+  OUT      UINT64                    *EndValue     OPTIONAL\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return 0;\r
+}\r
diff --git a/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa b/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa
new file mode 100644 (file)
index 0000000..183c465
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
+  <MsaHeader>\r
+    <ModuleName>Nt32TimerLib</ModuleName>\r
+    <ModuleType>BASE</ModuleType>\r
+    <GuidValue>3813bb9b-808b-4dcb-b9a3-ea47bd9324c0</GuidValue>\r
+    <Version>1.0</Version>\r
+    <Abstract>Component description file for Nt32Timer Library</Abstract>\r
+    <Description>Timer Library provide API of TimerLib library class for Nt32 platform,\r
+      Now this library do not impletement functionality completely.</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
+  <ModuleDefinitions>\r
+    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
+    <BinaryModule>false</BinaryModule>\r
+    <OutputFileBasename>Nt32TimerLib</OutputFileBasename>\r
+  </ModuleDefinitions>\r
+  <LibraryClassDefinitions>\r
+    <LibraryClass Usage="ALWAYS_PRODUCED">\r
+      <Keyword>TimerLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>DebugLib</Keyword>\r
+    </LibraryClass>\r
+  </LibraryClassDefinitions>\r
+  <SourceFiles>\r
+    <Filename SupArchList="IA32">Nt32TimerLib.c</Filename>\r
+  </SourceFiles>\r
+  <PackageDependencies>\r
+    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+    <Package PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3"/>\r
+  </PackageDependencies>\r
+  <Externs>\r
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
+  </Externs>\r
+</ModuleSurfaceArea>
\ No newline at end of file
index 4f4471e..e41684f 100644 (file)
@@ -5,15 +5,15 @@
     <GuidValue>eb216561-961f-47ee-9ef9-ca426ef547c2</GuidValue>\r
     <Version>0.3</Version>\r
     <Abstract>EFI/Framework Emulation Platform</Abstract>\r
-    <Description>The Emulation Platform can be used to debug individual modules, prior to creating\r
+    <Description>The Emulation Platform can be used to debug individual modules, prior to creating
       a real platform. This also provides an example for how an FPD is created.</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
-\r
-      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\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,
       WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </PlatformHeader>\r
         <Instance ModuleGuid="bda39d3a-451b-4350-8266-81ab10fa0523" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="FC120ED3-40E1-46dc-8C9C-AAE3CA139ACF" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
-        <Instance ModuleGuid="b5a05743-9b71-489b-a0ed-a0eb3950d23b" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="b2585b69-fb63-4220-844a-8fbea8bf01af" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+        <!--Pkg: EdkNt32Pkg Mod: Nt32TimerLib Path: EdkNt32Pkg\Library\Nt32TimerLibNull\Nt32TimerLib.msa-->\r
+        <Instance ModuleGuid="3813bb9b-808b-4dcb-b9a3-ea47bd9324c0" ModuleVersion="1.0" PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3" PackageVersion="0.3"/>\r
       </Libraries>\r
       <PcdBuildDefinition>\r
         <PcdData ItemType="FIXED_AT_BUILD">\r
     <pathconvert property="SecMainPath" targetos="windows">\r
       <path path="${TARGET_DIR}/IA32"/>\r
     </pathconvert>\r
-    <echo file="${BUILD_DIR}/run.cmd">@REM\r
-      @REM Copyright (c) 2006, Intel Corporation\r
-      @REM All rights reserved. This program and the accompanying materials\r
-      @REM are licensed and made available under the terms and conditions of the BSD License\r
-      @REM which accompanies this distribution.  The full text of the license may be found at\r
-      @REM http://opensource.org/licenses/bsd-license.php\r
-      @REM \r
-      @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-      @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-      @REM \r
-      \r
-      @echo off \r
-      pushd . \r
-      cd ${SecMainPath}\r
-      SecMain.exe\r
-      popd\r
+    <echo file="${BUILD_DIR}/run.cmd">@REM
+      @REM Copyright (c) 2006, Intel Corporation
+      @REM All rights reserved. This program and the accompanying materials
+      @REM are licensed and made available under the terms and conditions of the BSD License
+      @REM which accompanies this distribution.  The full text of the license may be found at
+      @REM http://opensource.org/licenses/bsd-license.php
+      @REM 
+      @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+      @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+      @REM 
+      
+      @echo off 
+      pushd . 
+      cd ${SecMainPath}
+      SecMain.exe
+      popd
       @echo on</echo>\r
   </UserExtensions>\r
 </PlatformSurfaceArea>
\ No newline at end of file