diff options
author | Laszlo Ersek <lersek@redhat.com> | 2017-08-02 12:20:14 +0200 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2017-08-05 01:31:52 +0200 |
commit | db1250792c158031f7c6e709ce251d42d2f8fe8e (patch) | |
tree | 81dfda293f32a967cc3b9e0e5bcbcdc3e52aa7a9 /OvmfPkg/IoMmuDxe | |
parent | 5e365a97ecd92b49d17bf77e0d67bf88fff34197 (diff) | |
download | edk2-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.c | 4 | ||||
-rw-r--r-- | OvmfPkg/IoMmuDxe/AmdSevIoMmu.h | 2 | ||||
-rw-r--r-- | OvmfPkg/IoMmuDxe/IoMmuDxe.c | 4 |
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;
|