Add BaseTscTimerLib, and then merge the three TscTimerLib to one directory.
Signed-off-by: lzeng14 Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12604 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
55
PerformancePkg/Library/TscTimerLib/TscTimerLibInternal.h
Normal file
55
PerformancePkg/Library/TscTimerLib/TscTimerLibInternal.h
Normal file
@ -0,0 +1,55 @@
|
||||
/** @file
|
||||
Internal header file for TscTimerLib instances.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
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.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _TSC_TIMER_LIB_INTERNAL_H_
|
||||
#define _TSC_TIMER_LIB_INTERNAL_H_
|
||||
|
||||
#include <Ich/GenericIch.h>
|
||||
|
||||
#include <Library/TimerLib.h>
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/IoLib.h>
|
||||
#include <Library/PciLib.h>
|
||||
#include <Library/PcdLib.h>
|
||||
|
||||
/** Get TSC frequency.
|
||||
|
||||
@return The number of TSC counts per second.
|
||||
|
||||
**/
|
||||
UINT64
|
||||
InternalGetTscFrequency (
|
||||
VOID
|
||||
);
|
||||
|
||||
/** Calculate TSC frequency.
|
||||
|
||||
The TSC counting frequency is determined by comparing how far it counts
|
||||
during a 1ms period as determined by the ACPI timer. The ACPI timer is
|
||||
used because it counts at a known frequency.
|
||||
If ACPI I/O space not enabled, this function will enable it. Then the
|
||||
TSC is sampled, followed by waiting for 3579 clocks of the ACPI timer, or 1ms.
|
||||
The TSC is then sampled again. The difference multiplied by 1000 is the TSC
|
||||
frequency. There will be a small error because of the overhead of reading
|
||||
the ACPI timer. An attempt is made to determine and compensate for this error.
|
||||
|
||||
@return The number of TSC counts per second.
|
||||
|
||||
**/
|
||||
UINT64
|
||||
InternalCalculateTscFrequency (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user