diff options
author | Elvin Li <elvin.li@intel.com> | 2015-04-10 01:37:41 +0000 |
---|---|---|
committer | li-elvin <li-elvin@Edk2> | 2015-04-10 01:37:41 +0000 |
commit | b0121d768d7cd25aa39b2140a93740a47f6f1fa0 (patch) | |
tree | 5b97cc75122c49041db4b34906d6e8452b177ae2 | |
parent | 8e8228564c4b20869e8103e99e12c299686871c1 (diff) | |
download | edk2-b0121d768d7cd25aa39b2140a93740a47f6f1fa0.zip edk2-b0121d768d7cd25aa39b2140a93740a47f6f1fa0.tar.gz edk2-b0121d768d7cd25aa39b2140a93740a47f6f1fa0.tar.bz2 |
MdeModulePkg: Roll back report status code change in RuntimeDriverSetVirtualAddressMap.
Roll back report status code to original place in RuntimeDriverSetVirtualAddressMap.
Per UEFI spec, the call to SetVirtualAddressMap() must be done with the physical mappings.
We can not assume virtual address could work in SetVirtualAddressMap (), so we can not call
report status code interface with virtual address.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17139 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | MdeModulePkg/Core/RuntimeDxe/Runtime.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/MdeModulePkg/Core/RuntimeDxe/Runtime.c b/MdeModulePkg/Core/RuntimeDxe/Runtime.c index 8e4c756..c61301c 100644 --- a/MdeModulePkg/Core/RuntimeDxe/Runtime.c +++ b/MdeModulePkg/Core/RuntimeDxe/Runtime.c @@ -280,6 +280,11 @@ RuntimeDriverSetVirtualAddressMap ( REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_RS_PC_SET_VIRTUAL_ADDRESS_MAP));
//
+ // Report Status Code here since EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event will be signalled.
+ //
+ REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_VIRTUAL_ADDRESS_CHANGE_EVENT));
+
+ //
// Signal all the EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE events.
// All runtime events are stored in a list in Runtime AP.
//
@@ -357,10 +362,6 @@ RuntimeDriverSetVirtualAddressMap ( //
mVirtualMap = NULL;
- //
- // Report Status Code here since EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event was signalled.
- //
- REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_VIRTUAL_ADDRESS_CHANGE_EVENT));
return EFI_SUCCESS;
}
|