summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/IoMmuDxe
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2017-08-02 12:20:14 +0200
committerLaszlo Ersek <lersek@redhat.com>2017-08-05 01:31:52 +0200
commitdb1250792c158031f7c6e709ce251d42d2f8fe8e (patch)
tree81dfda293f32a967cc3b9e0e5bcbcdc3e52aa7a9 /OvmfPkg/IoMmuDxe
parent5e365a97ecd92b49d17bf77e0d67bf88fff34197 (diff)
downloadedk2-db1250792c158031f7c6e709ce251d42d2f8fe8e.tar.gz
edk2-db1250792c158031f7c6e709ce251d42d2f8fe8e.tar.bz2
edk2-db1250792c158031f7c6e709ce251d42d2f8fe8e.zip
OvmfPkg/IoMmuDxe: propagate errors from AmdSevInstallIoMmuProtocol()
If we cannot install the IOMMU protocol for whatever reason, exit the driver with an error. The same is already done for the IOMMU Absent protocol. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Brijesh Singh <brijesh.singh@amd.com> Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
Diffstat (limited to 'OvmfPkg/IoMmuDxe')
-rw-r--r--OvmfPkg/IoMmuDxe/AmdSevIoMmu.c4
-rw-r--r--OvmfPkg/IoMmuDxe/AmdSevIoMmu.h2
-rw-r--r--OvmfPkg/IoMmuDxe/IoMmuDxe.c4
3 files changed, 4 insertions, 6 deletions
diff --git a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c
index 9540624427..8c2c23356a 100644
--- a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c
+++ b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c
@@ -499,7 +499,7 @@ EDKII_IOMMU_PROTOCOL mAmdSev = {
Initialize Iommu Protocol.
**/
-VOID
+EFI_STATUS
EFIAPI
AmdSevInstallIoMmuProtocol (
VOID
@@ -514,5 +514,5 @@ AmdSevInstallIoMmuProtocol (
&gEdkiiIoMmuProtocolGuid, &mAmdSev,
NULL
);
- ASSERT_EFI_ERROR (Status);
+ return Status;
}
diff --git a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h
index 982e41a7b0..17d3694e4a 100644
--- a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h
+++ b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h
@@ -35,7 +35,7 @@
MemEncryptSevLib.
**/
-VOID
+EFI_STATUS
EFIAPI
AmdSevInstallIoMmuProtocol (
VOID
diff --git a/OvmfPkg/IoMmuDxe/IoMmuDxe.c b/OvmfPkg/IoMmuDxe/IoMmuDxe.c
index 27b1856e0a..0ea42cbc13 100644
--- a/OvmfPkg/IoMmuDxe/IoMmuDxe.c
+++ b/OvmfPkg/IoMmuDxe/IoMmuDxe.c
@@ -36,14 +36,12 @@ IoMmuDxeEntryPoint (
EFI_STATUS Status;
EFI_HANDLE Handle;
- Status = EFI_SUCCESS;
-
//
// When SEV is enabled, install IoMmu protocol otherwise install the
// placeholder protocol so that other dependent module can run.
//
if (MemEncryptSevIsEnabled ()) {
- AmdSevInstallIoMmuProtocol ();
+ Status = AmdSevInstallIoMmuProtocol ();
} else {
Handle = NULL;