Make SmMonitorService optional

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
Jiewen Yao 2016-12-14 12:02:15 +08:00
parent fed93f2347
commit 5fb1d10d98
2 changed files with 21 additions and 17 deletions

View File

@ -1040,16 +1040,19 @@ LoaderEntrypoint (
NULL,
&SmMonitorServiceProtocol
);
ASSERT_EFI_ERROR (Status);
mCommunicationData.SmMonitorServiceProtocol = (EFI_PHYSICAL_ADDRESS)(UINTN)SmMonitorServiceProtocol;
Status = GetLoadedImageBaseAndSize (
mCommunicationData.SmMonitorServiceProtocol,
&mCommunicationData.SmMonitorServiceImageBase,
&mCommunicationData.SmMonitorServiceImageSize
);
ASSERT_EFI_ERROR (Status);
if (!EFI_ERROR (Status)) {
mCommunicationData.SmMonitorServiceProtocol = (EFI_PHYSICAL_ADDRESS)(UINTN)SmMonitorServiceProtocol;
Status = GetLoadedImageBaseAndSize (
mCommunicationData.SmMonitorServiceProtocol,
&mCommunicationData.SmMonitorServiceImageBase,
&mCommunicationData.SmMonitorServiceImageSize
);
ASSERT_EFI_ERROR (Status);
} else {
mCommunicationData.SmMonitorServiceProtocol = 0;
mCommunicationData.SmMonitorServiceImageBase = 0;
mCommunicationData.SmMonitorServiceImageSize = 0;
}
LaunchFrm ();
return Status;

View File

@ -1009,16 +1009,17 @@ LoaderEntrypoint (
);
if (!EFI_ERROR (Status)) {
mCommunicationData.SmMonitorServiceProtocol = (EFI_PHYSICAL_ADDRESS)(UINTN)SmMonitorServiceProtocol;
Status = GetLoadedImageBaseAndSize (
mCommunicationData.SmMonitorServiceProtocol,
&mCommunicationData.SmMonitorServiceImageBase,
&mCommunicationData.SmMonitorServiceImageSize
);
ASSERT_EFI_ERROR (Status);
} else {
mCommunicationData.SmMonitorServiceProtocol = 0;
mCommunicationData.SmMonitorServiceImageBase = 0;
mCommunicationData.SmMonitorServiceImageSize = 0;
}
Status = GetLoadedImageBaseAndSize (
mCommunicationData.SmMonitorServiceProtocol,
&mCommunicationData.SmMonitorServiceImageBase,
&mCommunicationData.SmMonitorServiceImageSize
);
ASSERT_EFI_ERROR (Status);
return EFI_SUCCESS;
}