Thanks Andrew.

-----Original Message-----
From: Andrew Fish [mailto:af...@apple.com]
Sent: Monday, July 27, 2015 9:21 PM
To: Prasad, Parmeshwr
Cc: edk2-devel@lists.sourceforge.net
Subject: Re: what is way the to check available RT services


> On Jul 27, 2015, at 12:33 AM, parmeshwr_pra...@dell.com wrote:
>
>
> Hi All,
>
> I wanted to know what is the way to know that particular RT is available in 
> my system or not ?
> What will be a piece of code for this.
>

The EFI_TABLE_HEADER has a Revision field you can check. So you can check the 
version in the EFI_RUNTIME_SERVICES table.

https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Uefi/UefiSpec.h

//
// EFI Runtime Services Table
//
#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' 
','S','Y','S','T')
#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50)) #define 
EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40)) #define 
EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31)) #define 
EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30)) #define 
EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20)) #define 
EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10)) #define 
EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00)) #define 
EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10)) #define 
EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
#define EFI_SYSTEM_TABLE_REVISION EFI_2_50_SYSTEM_TABLE_REVISION
#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION

#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 
('R','U','N','T','S','E','R','V')
#define EFI_RUNTIME_SERVICES_REVISION EFI_SPECIFICATION_VERSION

///
/// EFI Runtime Services Table.
///
typedef struct {
///
/// The table header for the EFI Runtime Services Table.
///
EFI_TABLE_HEADER Hdr;

//
// Time Services
//
EFI_GET_TIME GetTime;
EFI_SET_TIME SetTime;
EFI_GET_WAKEUP_TIME GetWakeupTime;
EFI_SET_WAKEUP_TIME SetWakeupTime;

//
// Virtual Memory Services
//
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
EFI_CONVERT_POINTER ConvertPointer;

//
// Variable Services
//
EFI_GET_VARIABLE GetVariable;
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
EFI_SET_VARIABLE SetVariable;

//
// Miscellaneous Services
//
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
EFI_RESET_SYSTEM ResetSystem;

//
// UEFI 2.0 Capsule Services
//
EFI_UPDATE_CAPSULE UpdateCapsule;
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities;

//
// Miscellaneous UEFI 2.0 Service
//
EFI_QUERY_VARIABLE_INFO QueryVariableInfo;
} EFI_RUNTIME_SERVICES;

Thanks,

Andrew Fish

> -Param
------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to