diff options
author | klu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-02-01 03:05:49 +0000 |
---|---|---|
committer | klu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-02-01 03:05:49 +0000 |
commit | 9cb053eff79841585976f41f602233d37e233f37 (patch) | |
tree | d4dc2af85482bd2fe6bbc8f56b5e97a479d007be | |
parent | fd0f684ffa1f4a39f6e67b6209cef11f490017ed (diff) | |
download | edk2-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.c | 22 |
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;
}
|