summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-02-01 03:05:49 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-02-01 03:05:49 +0000
commit9cb053eff79841585976f41f602233d37e233f37 (patch)
treed4dc2af85482bd2fe6bbc8f56b5e97a479d007be
parentfd0f684ffa1f4a39f6e67b6209cef11f490017ed (diff)
downloadedk2-platforms-9cb053eff79841585976f41f602233d37e233f37.tar.xz
There is a bug in original EdkModulePkg\Library\EdkUefiRuntimeLib\Common\RuntimeLib.c. Originally, if a driver did not produce a <SetVirtualAddressMapCallBack>'s function, EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE notify event will not be created in RuntimeDriverLibConstruct(), This is a bug, because at least, mRT pointer need to be converted for runtime service.
This bug will lead runtime interface GetMonoCount() failure because EdkModulePkg\Universal\MonotonicCounter\RuntimeDxe driver does not produce any <SetVirtualAddressMapCallBack>'s function. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2343 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkModulePkg/Library/EdkUefiRuntimeLib/Common/RuntimeLib.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/EdkModulePkg/Library/EdkUefiRuntimeLib/Common/RuntimeLib.c b/EdkModulePkg/Library/EdkUefiRuntimeLib/Common/RuntimeLib.c
index 335a9b9bc7..32eaed74a2 100644
--- a/EdkModulePkg/Library/EdkUefiRuntimeLib/Common/RuntimeLib.c
+++ b/EdkModulePkg/Library/EdkUefiRuntimeLib/Common/RuntimeLib.c
@@ -102,18 +102,16 @@ RuntimeDriverLibConstruct (
//
// Register SetVirtualAddressMap () notify function
//
- if (_gDriverSetVirtualAddressMapEvent[0] != NULL) {
- ASSERT (gBS != NULL);
- Status = gBS->CreateEvent (
- EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE,
- EFI_TPL_NOTIFY,
- RuntimeLibVirtualNotifyEvent,
- NULL,
- &mEfiVirtualNotifyEvent
- );
-
- ASSERT_EFI_ERROR (Status);
- }
+ ASSERT (gBS != NULL);
+ Status = gBS->CreateEvent (
+ EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE,
+ EFI_TPL_NOTIFY,
+ RuntimeLibVirtualNotifyEvent,
+ NULL,
+ &mEfiVirtualNotifyEvent
+ );
+
+ ASSERT_EFI_ERROR (Status);
return EFI_SUCCESS;
}