Add Nt32TimeLibNull library instance for Nt32 platform. It is used by PeiMain module for computing performance counter.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1741 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
		@@ -105,6 +105,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
				
			|||||||
    <Filename>Dxe/WinNtThunk/Cpu/Cpu.msa</Filename>
 | 
					    <Filename>Dxe/WinNtThunk/Cpu/Cpu.msa</Filename>
 | 
				
			||||||
    <Filename>Dxe/WinNtThunk/WinNtThunk/WinNtThunk.msa</Filename>
 | 
					    <Filename>Dxe/WinNtThunk/WinNtThunk/WinNtThunk.msa</Filename>
 | 
				
			||||||
    <Filename>Library/DxeWinNtLib/DxeWinNtLib.msa</Filename>
 | 
					    <Filename>Library/DxeWinNtLib/DxeWinNtLib.msa</Filename>
 | 
				
			||||||
 | 
					    <Filename>Library/Nt32TimerLibNull/Nt32TimerLib.msa</Filename>
 | 
				
			||||||
    <Filename>Library/EdkGenericBdsLib/EdkGenericBdsLib.msa</Filename>
 | 
					    <Filename>Library/EdkGenericBdsLib/EdkGenericBdsLib.msa</Filename>
 | 
				
			||||||
    <Filename>Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.msa</Filename>
 | 
					    <Filename>Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.msa</Filename>
 | 
				
			||||||
    <Filename>Library/Nt32PeCoffLoaderLib/Nt32PeCoffLoaderLib.msa</Filename>
 | 
					    <Filename>Library/Nt32PeCoffLoaderLib/Nt32PeCoffLoaderLib.msa</Filename>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										113
									
								
								EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,113 @@
 | 
				
			|||||||
 | 
					/** @file
 | 
				
			||||||
 | 
					  Timer Library functions for Nt32 platform.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @bug Still no complete implementation for time library function for Nt32 platform.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Copyright (c) 2006, Intel Corporation<BR>
 | 
				
			||||||
 | 
					  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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Module Name:  x86TimerLib.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Stalls the CPU for at least the given number of microseconds.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Stalls the CPU for the number of microseconds specified by MicroSeconds.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param  MicroSeconds  The minimum number of microseconds to delay.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @return MicroSeconds
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					UINTN
 | 
				
			||||||
 | 
					EFIAPI
 | 
				
			||||||
 | 
					MicroSecondDelay (
 | 
				
			||||||
 | 
					  IN      UINTN                     MicroSeconds
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  ASSERT (FALSE);
 | 
				
			||||||
 | 
					  return MicroSeconds;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Stalls the CPU for at least the given number of nanoseconds.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Stalls the CPU for the number of nanoseconds specified by NanoSeconds.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param  NanoSeconds The minimum number of nanoseconds to delay.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @return NanoSeconds
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					UINTN
 | 
				
			||||||
 | 
					EFIAPI
 | 
				
			||||||
 | 
					NanoSecondDelay (
 | 
				
			||||||
 | 
					  IN      UINTN                     NanoSeconds
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  ASSERT (FALSE);
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Retrieves the current value of a 64-bit free running performance counter.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Retrieves the current value of a 64-bit free running performance counter. The
 | 
				
			||||||
 | 
					  counter can either count up by 1 or count down by 1. If the physical
 | 
				
			||||||
 | 
					  performance counter counts by a larger increment, then the counter values
 | 
				
			||||||
 | 
					  must be translated. The properties of the counter can be retrieved from
 | 
				
			||||||
 | 
					  GetPerformanceCounterProperties().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @return The current value of the free running performance counter.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					UINT64
 | 
				
			||||||
 | 
					EFIAPI
 | 
				
			||||||
 | 
					GetPerformanceCounter (
 | 
				
			||||||
 | 
					  VOID
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  ASSERT (FALSE);
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Retrieves the 64-bit frequency in Hz and the range of performance counter
 | 
				
			||||||
 | 
					  values.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  If StartValue is not NULL, then the value that the performance counter starts
 | 
				
			||||||
 | 
					  with immediately after is it rolls over is returned in StartValue. If
 | 
				
			||||||
 | 
					  EndValue is not NULL, then the value that the performance counter end with
 | 
				
			||||||
 | 
					  immediately before it rolls over is returned in EndValue. The 64-bit
 | 
				
			||||||
 | 
					  frequency of the performance counter in Hz is always returned. If StartValue
 | 
				
			||||||
 | 
					  is less than EndValue, then the performance counter counts up. If StartValue
 | 
				
			||||||
 | 
					  is greater than EndValue, then the performance counter counts down. For
 | 
				
			||||||
 | 
					  example, a 64-bit free running counter that counts up would have a StartValue
 | 
				
			||||||
 | 
					  of 0 and an EndValue of 0xFFFFFFFFFFFFFFFF. A 24-bit free running counter
 | 
				
			||||||
 | 
					  that counts down would have a StartValue of 0xFFFFFF and an EndValue of 0.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param  StartValue  The value the performance counter starts with when it
 | 
				
			||||||
 | 
					                      rolls over.
 | 
				
			||||||
 | 
					  @param  EndValue    The value that the performance counter ends with before
 | 
				
			||||||
 | 
					                      it rolls over.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @return The frequency in Hz.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					UINT64
 | 
				
			||||||
 | 
					EFIAPI
 | 
				
			||||||
 | 
					GetPerformanceCounterProperties (
 | 
				
			||||||
 | 
					  OUT      UINT64                    *StartValue,  OPTIONAL
 | 
				
			||||||
 | 
					  OUT      UINT64                    *EndValue     OPTIONAL
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  ASSERT (FALSE);
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										47
									
								
								EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
 | 
				
			||||||
 | 
					  <MsaHeader>
 | 
				
			||||||
 | 
					    <ModuleName>Nt32TimerLib</ModuleName>
 | 
				
			||||||
 | 
					    <ModuleType>BASE</ModuleType>
 | 
				
			||||||
 | 
					    <GuidValue>3813bb9b-808b-4dcb-b9a3-ea47bd9324c0</GuidValue>
 | 
				
			||||||
 | 
					    <Version>1.0</Version>
 | 
				
			||||||
 | 
					    <Abstract>Component description file for Nt32Timer Library</Abstract>
 | 
				
			||||||
 | 
					    <Description>Timer Library provide API of TimerLib library class for Nt32 platform,
 | 
				
			||||||
 | 
					      Now this library do not impletement functionality completely.</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>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>
 | 
				
			||||||
 | 
					  </MsaHeader>
 | 
				
			||||||
 | 
					  <ModuleDefinitions>
 | 
				
			||||||
 | 
					    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
 | 
				
			||||||
 | 
					    <BinaryModule>false</BinaryModule>
 | 
				
			||||||
 | 
					    <OutputFileBasename>Nt32TimerLib</OutputFileBasename>
 | 
				
			||||||
 | 
					  </ModuleDefinitions>
 | 
				
			||||||
 | 
					  <LibraryClassDefinitions>
 | 
				
			||||||
 | 
					    <LibraryClass Usage="ALWAYS_PRODUCED">
 | 
				
			||||||
 | 
					      <Keyword>TimerLib</Keyword>
 | 
				
			||||||
 | 
					    </LibraryClass>
 | 
				
			||||||
 | 
					    <LibraryClass Usage="ALWAYS_CONSUMED">
 | 
				
			||||||
 | 
					      <Keyword>BaseLib</Keyword>
 | 
				
			||||||
 | 
					    </LibraryClass>
 | 
				
			||||||
 | 
					    <LibraryClass Usage="ALWAYS_CONSUMED">
 | 
				
			||||||
 | 
					      <Keyword>DebugLib</Keyword>
 | 
				
			||||||
 | 
					    </LibraryClass>
 | 
				
			||||||
 | 
					  </LibraryClassDefinitions>
 | 
				
			||||||
 | 
					  <SourceFiles>
 | 
				
			||||||
 | 
					    <Filename SupArchList="IA32">Nt32TimerLib.c</Filename>
 | 
				
			||||||
 | 
					  </SourceFiles>
 | 
				
			||||||
 | 
					  <PackageDependencies>
 | 
				
			||||||
 | 
					    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
				
			||||||
 | 
					    <Package PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3"/>
 | 
				
			||||||
 | 
					  </PackageDependencies>
 | 
				
			||||||
 | 
					  <Externs>
 | 
				
			||||||
 | 
					    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
 | 
				
			||||||
 | 
					    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
 | 
				
			||||||
 | 
					  </Externs>
 | 
				
			||||||
 | 
					</ModuleSurfaceArea>
 | 
				
			||||||
@@ -243,8 +243,9 @@
 | 
				
			|||||||
        <Instance ModuleGuid="bda39d3a-451b-4350-8266-81ab10fa0523" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
					        <Instance ModuleGuid="bda39d3a-451b-4350-8266-81ab10fa0523" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
				
			||||||
        <Instance ModuleGuid="FC120ED3-40E1-46dc-8C9C-AAE3CA139ACF" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
					        <Instance ModuleGuid="FC120ED3-40E1-46dc-8C9C-AAE3CA139ACF" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
				
			||||||
        <Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
					        <Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
				
			||||||
        <Instance ModuleGuid="b5a05743-9b71-489b-a0ed-a0eb3950d23b" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
					 | 
				
			||||||
        <Instance ModuleGuid="b2585b69-fb63-4220-844a-8fbea8bf01af" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
					        <Instance ModuleGuid="b2585b69-fb63-4220-844a-8fbea8bf01af" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
 | 
				
			||||||
 | 
					        <!--Pkg: EdkNt32Pkg Mod: Nt32TimerLib Path: EdkNt32Pkg\Library\Nt32TimerLibNull\Nt32TimerLib.msa-->
 | 
				
			||||||
 | 
					        <Instance ModuleGuid="3813bb9b-808b-4dcb-b9a3-ea47bd9324c0" ModuleVersion="1.0" PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3" PackageVersion="0.3"/>
 | 
				
			||||||
      </Libraries>
 | 
					      </Libraries>
 | 
				
			||||||
      <PcdBuildDefinition>
 | 
					      <PcdBuildDefinition>
 | 
				
			||||||
        <PcdData ItemType="FIXED_AT_BUILD">
 | 
					        <PcdData ItemType="FIXED_AT_BUILD">
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user