git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1482
6f19259b-4bc3-4df7-8a09-
765794883524
-Abstract:\r
-\r
- Light weight lib to support Tiano drivers.\r
-\r
--*/\r
\r
#include <RuntimeLibInternal.h>\r
--*/\r
\r
#include <RuntimeLibInternal.h>\r
//\r
// Driver Lib Module Globals\r
//\r
//\r
// Driver Lib Module Globals\r
//\r
-STATIC EFI_EVENT mRuntimeNotifyEvent;\r
-STATIC EFI_EVENT mEfiVirtualNotifyEvent;\r
-STATIC BOOLEAN mEfiGoneVirtual = FALSE;\r
-STATIC BOOLEAN mEfiAtRuntime = FALSE;\r
-EFI_RUNTIME_SERVICES *mRT = NULL;\r
+STATIC EFI_EVENT mRuntimeNotifyEvent;\r
+STATIC EFI_EVENT mEfiVirtualNotifyEvent;\r
+STATIC BOOLEAN mEfiGoneVirtual = FALSE;\r
+STATIC BOOLEAN mEfiAtRuntime = FALSE;\r
+EFI_RUNTIME_SERVICES *mRT;\r
+\r
+STATIC\r
VOID\r
EFIAPI\r
RuntimeDriverExitBootServices (\r
VOID\r
EFIAPI\r
RuntimeDriverExitBootServices (\r
ChildNotifyEventHandler (Event, NULL);\r
}\r
\r
ChildNotifyEventHandler (Event, NULL);\r
}\r
\r
+ //\r
+ // Clear out BootService globals\r
+ //\r
+ gBS = NULL;\r
+\r
mEfiAtRuntime = TRUE;\r
}\r
\r
mEfiAtRuntime = TRUE;\r
}\r
\r
//\r
// Update global for Runtime Services Table and IO\r
//\r
//\r
// Update global for Runtime Services Table and IO\r
//\r
- EfiConvertInternalPointer ((VOID **) &mRT);\r
+ EfiConvertPointer (0, (VOID **) &mRT);\r
- //\r
- // Clear out BootService globals\r
- //\r
- gBS = NULL;\r
- gST = NULL;\r
mEfiGoneVirtual = TRUE;\r
}\r
\r
mEfiGoneVirtual = TRUE;\r
}\r
\r
EfiAtRuntime (\r
VOID\r
)\r
EfiAtRuntime (\r
VOID\r
)\r
EfiGoneVirtual (\r
VOID\r
)\r
EfiGoneVirtual (\r
VOID\r
)\r
-Abstract:\r
-\r
- Light weight lib to support Tiano drivers.\r
-\r
--*/\r
\r
#include <RuntimeLibInternal.h>\r
\r
VOID\r
--*/\r
\r
#include <RuntimeLibInternal.h>\r
\r
VOID\r
EfiResetSystem (\r
IN EFI_RESET_TYPE ResetType,\r
IN EFI_STATUS ResetStatus,\r
EfiResetSystem (\r
IN EFI_RESET_TYPE ResetType,\r
IN EFI_STATUS ResetStatus,\r
// runtime service in the EFI system table.\r
//\r
EFI_STATUS\r
// runtime service in the EFI system table.\r
//\r
EFI_STATUS\r
EfiGetTime (\r
OUT EFI_TIME *Time,\r
OUT EFI_TIME_CAPABILITIES *Capabilities\r
EfiGetTime (\r
OUT EFI_TIME *Time,\r
OUT EFI_TIME_CAPABILITIES *Capabilities\r
EfiSetTime (\r
IN EFI_TIME *Time\r
)\r
EfiSetTime (\r
IN EFI_TIME *Time\r
)\r
EfiGetWakeupTime (\r
OUT BOOLEAN *Enabled,\r
OUT BOOLEAN *Pending,\r
EfiGetWakeupTime (\r
OUT BOOLEAN *Enabled,\r
OUT BOOLEAN *Pending,\r
EfiSetWakeupTime (\r
IN BOOLEAN Enable,\r
IN EFI_TIME *Time\r
EfiSetWakeupTime (\r
IN BOOLEAN Enable,\r
IN EFI_TIME *Time\r
EfiGetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID * VendorGuid,\r
EfiGetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID * VendorGuid,\r
EfiGetNextVariableName (\r
IN OUT UINTN *VariableNameSize,\r
IN OUT CHAR16 *VariableName,\r
EfiGetNextVariableName (\r
IN OUT UINTN *VariableNameSize,\r
IN OUT CHAR16 *VariableName,\r
EfiSetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID *VendorGuid,\r
EfiSetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID *VendorGuid,\r
EfiGetNextHighMonotonicCount (\r
OUT UINT32 *HighCount\r
)\r
EfiGetNextHighMonotonicCount (\r
OUT UINT32 *HighCount\r
)\r
EfiConvertPointer (\r
IN UINTN DebugDisposition,\r
IN OUT VOID *Address\r
EfiConvertPointer (\r
IN UINTN DebugDisposition,\r
IN OUT VOID *Address\r
-EfiConvertInternalPointer (\r
- IN OUT VOID *Address\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Call EfiConvertPointer() to convert internal pointer.\r
-\r
-Arguments:\r
-\r
- Address - A pointer to a pointer that is to be fixed to be the value needed\r
- for the new virtual address mappings being applied.\r
-\r
-Returns:\r
-\r
- Status code\r
-\r
---*/\r
-{\r
- return EfiConvertPointer (0x0, Address);\r
-}\r
-\r
-EFI_STATUS\r
EfiConvertList (\r
IN UINTN DebugDisposition,\r
IN OUT LIST_ENTRY *ListHead\r
EfiConvertList (\r
IN UINTN DebugDisposition,\r
IN OUT LIST_ENTRY *ListHead\r
EfiUpdateCapsule (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiUpdateCapsule (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiQueryCapsuleCapabilities (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiQueryCapsuleCapabilities (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiQueryVariableInfo (\r
IN UINT32 Attributes,\r
OUT UINT64 *MaximumVariableStorageSize,\r
EfiQueryVariableInfo (\r
IN UINT32 Attributes,\r
OUT UINT64 *MaximumVariableStorageSize,\r
-Abstract:\r
-\r
- Light weight lib to support Tiano drivers.\r
-\r
--*/\r
\r
#include <SalApi.h>\r
--*/\r
\r
#include <SalApi.h>\r
// Driver Lib Module Globals\r
//\r
\r
// Driver Lib Module Globals\r
//\r
\r
-STATIC EFI_EVENT mRuntimeNotifyEvent;\r
-STATIC EFI_EVENT mEfiVirtualNotifyEvent;\r
-\r
-STATIC EFI_PLABEL mPlabel;\r
+STATIC EFI_EVENT mRuntimeNotifyEvent;\r
+STATIC EFI_EVENT mEfiVirtualNotifyEvent;\r
+STATIC EFI_PLABEL mPlabel;\r
STATIC EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *mEsalBootService;\r
\r
STATIC EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *mEsalBootService;\r
\r
-EFI_RUNTIME_SERVICES *mRT = NULL;\r
+EFI_RUNTIME_SERVICES *mRT;\r
ChildNotifyEventHandler = _gDriverExitBootServicesEvent[Index];\r
ChildNotifyEventHandler (Event, NULL);\r
}\r
ChildNotifyEventHandler = _gDriverExitBootServicesEvent[Index];\r
ChildNotifyEventHandler (Event, NULL);\r
}\r
+\r
+ //\r
+ // Clear out BootService globals\r
+ //\r
+ gBS = NULL;\r
mRT->ConvertPointer (EFI_IPF_GP_POINTER, (VOID **) &mPlabel.GP);\r
\r
SetEsalVirtualEntryPoint (mPlabel.EntryPoint, mPlabel.GP);\r
mRT->ConvertPointer (EFI_IPF_GP_POINTER, (VOID **) &mPlabel.GP);\r
\r
SetEsalVirtualEntryPoint (mPlabel.EntryPoint, mPlabel.GP);\r
-\r
- //\r
- // Clear out BootService globals\r
- //\r
- gBS = NULL;\r
- gST = NULL;\r
- mRT = NULL;\r
EfiAtRuntime (\r
VOID\r
)\r
EfiAtRuntime (\r
VOID\r
)\r
EfiGoneVirtual (\r
VOID\r
)\r
EfiGoneVirtual (\r
VOID\r
)\r
\r
return (BOOLEAN) (ReturnReg.r9 == 1);\r
}\r
\r
return (BOOLEAN) (ReturnReg.r9 == 1);\r
}\r
-Abstract:\r
-\r
- Light weight lib to support Tiano drivers.\r
-\r
--*/\r
\r
#include <RuntimeLibInternal.h>\r
\r
VOID\r
--*/\r
\r
#include <RuntimeLibInternal.h>\r
\r
VOID\r
EfiResetSystem (\r
IN EFI_RESET_TYPE ResetType,\r
IN EFI_STATUS ResetStatus,\r
EfiResetSystem (\r
IN EFI_RESET_TYPE ResetType,\r
IN EFI_STATUS ResetStatus,\r
// runtime service in the EFI system table.\r
//\r
EFI_STATUS\r
// runtime service in the EFI system table.\r
//\r
EFI_STATUS\r
EfiGetTime (\r
OUT EFI_TIME *Time,\r
OUT EFI_TIME_CAPABILITIES *Capabilities\r
EfiGetTime (\r
OUT EFI_TIME *Time,\r
OUT EFI_TIME_CAPABILITIES *Capabilities\r
EfiSetTime (\r
IN EFI_TIME *Time\r
)\r
EfiSetTime (\r
IN EFI_TIME *Time\r
)\r
EfiGetWakeupTime (\r
OUT BOOLEAN *Enabled,\r
OUT BOOLEAN *Pending,\r
EfiGetWakeupTime (\r
OUT BOOLEAN *Enabled,\r
OUT BOOLEAN *Pending,\r
EfiSetWakeupTime (\r
IN BOOLEAN Enable,\r
IN EFI_TIME *Time\r
EfiSetWakeupTime (\r
IN BOOLEAN Enable,\r
IN EFI_TIME *Time\r
EfiGetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID * VendorGuid,\r
EfiGetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID * VendorGuid,\r
EfiGetNextVariableName (\r
IN OUT UINTN *VariableNameSize,\r
IN OUT CHAR16 *VariableName,\r
EfiGetNextVariableName (\r
IN OUT UINTN *VariableNameSize,\r
IN OUT CHAR16 *VariableName,\r
EfiSetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID *VendorGuid,\r
EfiSetVariable (\r
IN CHAR16 *VariableName,\r
IN EFI_GUID *VendorGuid,\r
EfiGetNextHighMonotonicCount (\r
OUT UINT32 *HighCount\r
)\r
EfiGetNextHighMonotonicCount (\r
OUT UINT32 *HighCount\r
)\r
EfiConvertPointer (\r
IN UINTN DebugDisposition,\r
IN OUT VOID *Address\r
EfiConvertPointer (\r
IN UINTN DebugDisposition,\r
IN OUT VOID *Address\r
EfiConvertList (\r
IN UINTN DebugDisposition,\r
IN OUT LIST_ENTRY *ListHead\r
EfiConvertList (\r
IN UINTN DebugDisposition,\r
IN OUT LIST_ENTRY *ListHead\r
EfiUpdateCapsule (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiUpdateCapsule (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiQueryCapsuleCapabilities (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiQueryCapsuleCapabilities (\r
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,\r
IN UINTN CapsuleCount,\r
EfiQueryVariableInfo (\r
IN UINT32 Attributes,\r
OUT UINT64 *MaximumVariableStorageSize,\r
EfiQueryVariableInfo (\r
IN UINT32 Attributes,\r
OUT UINT64 *MaximumVariableStorageSize,\r
#ifndef __RUNTIMELIBINTERNAL_H__\r
#define __RUNTIMELIBINTERNAL_H__\r
\r
#ifndef __RUNTIMELIBINTERNAL_H__\r
#define __RUNTIMELIBINTERNAL_H__\r
\r
-EFI_STATUS\r
-EfiConvertInternalPointer (\r
- IN OUT VOID *Address\r
- );\r
-\r
extern EFI_RUNTIME_SERVICES *mRT;\r
\r
#endif //__RUNTIMELIBINTERNAL_H__\r
extern EFI_RUNTIME_SERVICES *mRT;\r
\r
#endif //__RUNTIMELIBINTERNAL_H__\r