]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/MonotonicCounter/RuntimeDxe/MonotonicCounter.c
Add EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event for MonotonicCounter driver.
[mirror_edk2.git] / EdkModulePkg / Universal / MonotonicCounter / RuntimeDxe / MonotonicCounter.c
index 6e4350f0ed1abff7e1f60427b9a8506420ca2bbd..4a79e54a00fffc90d4cb1ce627b6a428723d9cb7 100644 (file)
@@ -33,7 +33,6 @@ EFI_HANDLE  mMonotonicCounterHandle = NULL;
 //\r
 UINT64      mEfiMtc;\r
 \r
-\r
 //\r
 // Event to use to update the Mtc's high part when wrapping\r
 //\r
@@ -100,6 +99,42 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+\r
+\r
+/**\r
+  Call back function on EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event.\r
+\r
+  Fixup internal data so that the driver is callable in EFI  runtime \r
+  in virtual mode. Convert gRT to virtual address. gRT is from \r
+  UefiRuntimeServicesTableLib class. It is not fixed up by \r
+  UefiRuntimeServicesTableLib instance.\r
+\r
+  @param  Event     Event whose notification function is being invoked.\r
+  @param  Context   The context of the Notification context. Not used in\r
+                    this call back function.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+MonotonicCounterDriverSetVirtualAddressMap (\r
+  IN EFI_EVENT  Event,\r
+  IN VOID       *Context\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+Arguments:\r
+\r
+Returns:\r
+\r
+--*/\r
+{\r
+  gRT->ConvertPointer (0, (VOID **) &gRT);\r
+}\r
+\r
+\r
+\r
 EFI_STATUS\r
 EFIAPI\r
 MonotonicCounterDriverGetNextHighMonotonicCount (\r