summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElvin Li <elvin.li@intel.com>2015-04-10 01:37:41 +0000
committerli-elvin <li-elvin@Edk2>2015-04-10 01:37:41 +0000
commitb0121d768d7cd25aa39b2140a93740a47f6f1fa0 (patch)
tree5b97cc75122c49041db4b34906d6e8452b177ae2
parent8e8228564c4b20869e8103e99e12c299686871c1 (diff)
downloadedk2-platforms-b0121d768d7cd25aa39b2140a93740a47f6f1fa0.tar.xz
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.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/MdeModulePkg/Core/RuntimeDxe/Runtime.c b/MdeModulePkg/Core/RuntimeDxe/Runtime.c
index 8e4c756912..c61301cf80 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;
}