diff options
author | Jonathan Zhang <jonzhang@fb.com> | 2020-06-09 17:56:53 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-06-25 11:57:06 +0000 |
commit | 6d27778973edf6bdebfa812eac8893d52961a891 (patch) | |
tree | 8023f5c4d98247b5ef3ceb18b8820e1131753f7e /src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Protocol/Timestamp.h | |
parent | c9222f956763d20397152a44985bdb4abdb19e2d (diff) |
vendorcode/intel: Add edk2-stable202005 support
This patch includes (edk2/edk2-stable202005) all required headers
for edk2-stable202005 quarterly EDK2 tag from EDK2 github project
using below command:
>> git clone https://github.com/tianocore/edk2.git vedk2-stable202005
Only include necessary header files.
MdePkg/Include/Base.h was updated to avoid compilation errors through
safeguarding definitions for MIN, MAX, NULL, ABS, ARRAY_SIZE.
Signed-off-by: Jonathan Zhang <jonzhang@fb.com>
Change-Id: I3172505d9b829647ee1208c87623172f10b39310
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42239
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Subrata Banik <subrata.banik@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Protocol/Timestamp.h')
-rw-r--r-- | src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Protocol/Timestamp.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Protocol/Timestamp.h b/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Protocol/Timestamp.h new file mode 100644 index 0000000000..38f60bc876 --- /dev/null +++ b/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Protocol/Timestamp.h @@ -0,0 +1,95 @@ +/** @file + EFI Timestamp Protocol as defined in UEFI2.4 Specification. + Used to provide a platform independent interface for retrieving a high resolution timestamp counter. + + Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + This Protocol is introduced in UEFI Specification 2.4 + +**/ + +#ifndef __EFI_TIME_STAMP_PROTOCOL_H__ +#define __EFI_TIME_STAMP_PROTOCOL_H__ + + +#define EFI_TIMESTAMP_PROTOCOL_GUID \ + { 0xafbfde41, 0x2e6e, 0x4262, {0xba, 0x65, 0x62, 0xb9, 0x23, 0x6e, 0x54, 0x95 } } + +/// +/// Declare forward reference for the Time Stamp Protocol +/// +typedef struct _EFI_TIMESTAMP_PROTOCOL EFI_TIMESTAMP_PROTOCOL; + +/// +/// EFI_TIMESTAMP_PROPERTIES +/// +typedef struct { + /// + /// The frequency of the timestamp counter in Hz. + /// + UINT64 Frequency; + /// + /// The value that the timestamp counter ends with immediately before it rolls over. + /// For example, a 64-bit free running counter would have an EndValue of 0xFFFFFFFFFFFFFFFF. + /// A 24-bit free running counter would have an EndValue of 0xFFFFFF. + /// + UINT64 EndValue; +} EFI_TIMESTAMP_PROPERTIES; + +/** + Retrieves the current value of a 64-bit free running timestamp counter. + + The counter shall count up in proportion to the amount of time that has passed. The counter value + will always roll over to zero. The properties of the counter can be retrieved from GetProperties(). + The caller should be prepared for the function to return the same value twice across successive calls. + The counter value will not go backwards other than when wrapping, as defined by EndValue in GetProperties(). + The frequency of the returned timestamp counter value must remain constant. Power management operations that + affect clocking must not change the returned counter frequency. The quantization of counter value updates may + vary as long as the value reflecting time passed remains consistent. + + @param None. + + @retval The current value of the free running timestamp counter. + +**/ +typedef +UINT64 +(EFIAPI *TIMESTAMP_GET)( + VOID + ); + +/** + Obtains timestamp counter properties including frequency and value limits. + + @param[out] Properties The properties of the timestamp counter. + + @retval EFI_SUCCESS The properties were successfully retrieved. + @retval EFI_DEVICE_ERROR An error occurred trying to retrieve the properties of the timestamp + counter subsystem. Properties is not pedated. + @retval EFI_INVALID_PARAMETER Properties is NULL. + +**/ +typedef +EFI_STATUS +(EFIAPI *TIMESTAMP_GET_PROPERTIES)( + OUT EFI_TIMESTAMP_PROPERTIES *Properties + ); + + + +/// +/// EFI_TIMESTAMP_PROTOCOL +/// The protocol provides a platform independent interface for retrieving a high resolution +/// timestamp counter. +/// +struct _EFI_TIMESTAMP_PROTOCOL { + TIMESTAMP_GET GetTimestamp; + TIMESTAMP_GET_PROPERTIES GetProperties; +}; + +extern EFI_GUID gEfiTimestampProtocolGuid; + +#endif + |